Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: extend the Polaris edition page #1069

Merged
merged 8 commits into from
Jan 22, 2024
31 changes: 31 additions & 0 deletions app/templates/editions/polaris.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,37 @@
a new <a href="https://github.com/embroider-build/embroider">build pipeline</a> that hooks into the tool of your choice (webpack, rollup, etc), and a new <a href="https://github.com/NullVoxPopuli/ember-resources">reactivity system</a>.
</p>

<h2>The pillars of Polaris</h2>
<p>The Polaris edition of Ember is built upon these core concepts.</p>

<h3>1. First-class TypeScript Support</h3>
<p>Ember has embraced TypeScript as a first-class citizen next to JavaScript. In practice this means you can build apps using TypeScript without having to worry about incompatibility with external type definitions of Ember itself. As of version 5.1, Ember ships with built-in stable types. Read all about it and how to get started <a href="https://blog.emberjs.com/stable-typescript-types-in-ember-5-1">in the Stable TypeScript Types announcement post.</a> Glint, the TypeScript-powered tooling for Glimmer templates, also shipped as a stable release after two years of public preview. For more information, read the <a href="https://blog.emberjs.com/glint-1-0-released">Glint release blog post</a>.</p>

<h3>2. Template tag components</h3>
<p>
The template tag syntax is the new authoring format for components in Ember. It addresses some long-standing developer experience challenges with the current format, and incorporates community feedback. Improvements include:
<ul>
<li>
explicit imports prevent naming conflicts
</li>
<li>
the new ability to introduce locally-scoped code
</li>
<li>
improved interoperability with third-party JavaScript libraries in the template
</li>
<li>
aligning test syntax with app syntax
</li>
</ul>
It also helps unlock the road to new capabilities such as code splitting in the future. See the <a href="https://github.com/ember-template-imports/ember-template-imports">ember-template-imports repository </a> to get started today!</p>

<h3>3. Embroider build system</h3>
<p><a href="https://github.com/embroider-build/embroider">Embroider</a> is the next-generation build system for Ember apps. The goal is to compile Ember apps into spec-compliant, modern Javascript. This allows the integration with all the build tooling improvements seen in the wider JavaScript ecosystem.</p>

<h3>4. Reactivity improvements</h3>
<p>The Octane edition saw the introduction of auto-tracking which simplified the previous reactivity system, and made it more performant. Polaris introduces the concept of <a href="https://github.com/NullVoxPopuli/ember-resources">resources</a>. This pattern is a general concept that extends beyond Ember or any framework. To learn about the framework-agnostic approach to universal reactivity, check out the <a href="https://www.starbeamjs.com/">Starbeam Project</a>.</p>

<h2>How you can help</h2>
<p>
Shipping an edition is a collaborative effort that involves the entire Ember community.
Expand Down
Loading