The subject is contrary to the purpose of Wikipedia.
Submission rejected on 1 February 2025 by Star Mississippi (talk). The subject is contrary to the purpose of Wikipedia. Rejected by Star Mississippi 18 months ago. Last edited by MPGuy2824 3 months ago. |
| Encoded 2 years ago. |
Submission declined on 9 April 2024 by Star Mississippi (talk). This draft reads like an advertisement. Wikipedia is an encyclopedia, not a platform for promotion or marketing. Drafts that are exclusively promotional may be deleted without notice.
Wikipedia articles must be written neutrally in a formal, impersonal, and dispassionate way. They should not read like a blog post, advertisement, or fan page. Rewrite the draft to remove:
Instead, only summarize in your own words a range of independent, reliable, published sources that discuss the subject. If you have a conflict of interest (e.g. you are the subject, an employee, or a relative) or are being paid to edit, you must disclose this to comply with Wikipedia's Terms of Use.This draft's references do not show that the subject meets Wikipedia's criteria for inclusion. The draft requires multiple published secondary sources that:
Declined by Star Mississippi 2 years ago.
|
{{Multiple issues|
This article is written like a personal reflection, personal essay, or argumentative essay that states a Wikipedia editor's personal feelings or presents an original argument about a topic. (May 2023) |
This article contains promotional content. (May 2023) |
This article may require copy editing for spelling, grammar, style, cohesion, or tone. (May 2023) |
The topic of this draft may not meet Wikipedia's general notability guideline. (May 2023) |
A major contributor to this article appears to have a close connection with its subject. (May 2023) |
| Stencil.JS | |
|---|---|
| Original author | Adam Bradley |
| Developer | Ionic (mobile app framework) |
| Release | May 20, 2017 |
| Stable release | 4.35.3
|
| Written in | TypeScript |
| Platform | JavaScript engine |
| Size | 16.5 KB[1] |
| Type | Web framework |
| License | MIT License[2] |
| Website | stenciljs |
| Repository | StencilJS Repository |
StencilJS is an open-source compiler for building highly optimized Web Components. Developed by the team at Ionic, StencilJS combines the best features of modern JavaScript frameworks with the simplicity and performance of Web Components, enabling developers to create reusable, framework-agnostic UI components.[3][4][5]
StencilJS is a powerful tool for building Web Components that work seamlessly across different frameworks. By combining modern web development best practices with performance optimizations, StencilJS provides an efficient way to develop scalable, maintainable, and reusable UI components.[6][7] Its source code is licensed under MIT License and hosted on GitHub.[8] StencilJS generates framework-specific wrappers that allow custom elements developed, to be used with any framework, whether its Angular, React, or Vue.js.[9]
StencilJS was introduced by the Ionic team in 2017 to address the challenges of building performant, scalable UI components for Ionic's ecosystem.[10] Unlike traditional frameworks such as React, Angular, or Vue, StencilJS is not a framework but a compiler that generates standard-compliant Web Components. These components can be used in any JavaScript framework or as standalone elements in vanilla JavaScript applications.[11][12][13][14]
StencilJS provides several features that make it an attractive choice for building Web Components:
StencilJS components are built using a class-based syntax and decorators, similar to Angular. A typical component consists of:
A StencilJS component looks similar to a class-based React component, with the addition of TypeScript decorators.
import { Component, h, Prop, State } from '@stencil/core';
@Component({
tag: 'my-component',
styleUrl: 'my-component.css',
shadow: true // Enable Shadow DOM
})
export class MyComponent {
@Prop() name: string;
@State() count: number = 0;
increment() {
this.count++;
}
render() {
return (
<div>
Hello, {this.name}!
Count: {this.count}
<button onClick={() => this.increment()}>Increment</button>
</div>
);
}
}
In this example, the @Component decorator defines a new web component named my-component. The @Prop decorator defines a property that can be passed to the component, and the render method returns the component's HTML structure using JSX.
StencilJS components can be used in various environments:
<script type="module" src="/build/my-component.js"></script>
<my-component name="Stencil"></my-component>
import { defineCustomElements } from 'my-component/loader';
defineCustomElements();
<my-component name="React"></my-component>
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
@NgModule({
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
StencilJS is widely used in:
| Feature | StencilJS | React | Angular | Vue |
|---|---|---|---|---|
| Web Component Support | Native | Requires Wrapper | Requires Wrapper | Requires Wrapper |
| Virtual DOM | Yes | Yes | No | Yes |
| Performance | High | Medium | Medium | High |
| TypeScript | Yes | Yes | Yes | Yes |
Category:2017 software Category:Compilers Category:Web development Category:Software using the MIT license
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- Reliable sources include: reputable newspapers, magazines, academic journals, and books from respected publishers.
- Unacceptable sources include: personal blogs, social media, predatory publishers, most tabloids, and websites where anyone can contribute.
Replace any unreliable sources with high-quality sources. If you cannot find a reliable source for the material, it should be removed.