Skip to content

Commit

Permalink
Merge pull request #1069 from IgnaceMaes/polaris-page
Browse files Browse the repository at this point in the history
docs: extend the Polaris edition page
  • Loading branch information
mansona committed Jan 22, 2024
2 parents 84599c7 + c50fe9f commit b46b116
Showing 1 changed file with 31 additions and 0 deletions.
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

0 comments on commit b46b116

Please sign in to comment.