diff --git a/source/2019-01-26-emberjs-native-class-update-2019-edition.md b/source/2019-01-26-emberjs-native-class-update-2019-edition.md index bc17190c2..7626e9294 100644 --- a/source/2019-01-26-emberjs-native-class-update-2019-edition.md +++ b/source/2019-01-26-emberjs-native-class-update-2019-edition.md @@ -1,13 +1,14 @@ --- title: Ember.js Native Class Update - 2019 Edition author: Chris Garrett -tags: Recent Posts, 2019, Native Classes +tags: Recent Posts, 2019, Native Classes, Ember Octane alias : "blog/2019/01/26-emberjs-native-class-update-2019-edition.html" responsive: true --- (This post was originally published on [www.pzuraq.com](https://www.pzuraq.com/emberjs-native-class-update-2019-edition/)) + These are exciting times in Ember! With Ember Octane just around the corner, native class support has [officially landed in v3.6](https://emberjs.com/blog/2018/12/13/ember-3-6-released.html#toc_new-features-2) (with a [polyfill](https://github.com/pzuraq/ember-native-class-polyfill) supporting v3.4+), and the [Decorators RFC](https://github.com/emberjs/rfcs/blob/master/text/0408-decorators.md) has been merged and will be implemented soon (pending decorators moving to stage 3 in the January meeting). Some time ago, I wrote [an article](https://medium.com/build-addepar/es-classes-in-ember-js-63e948e9d78e) that detailed how to use native classes in Ember, along with best practices for writing them. Since then, some major changes have occured, and I wanted to give a quick update for early adopters and folks who are curious about them in general. This post will focus on changes since the original article and current best practices. We'll be talking about: @@ -501,7 +502,7 @@ class Person { fullName = `${this.firstName} ${this.lastName}`; } ``` - + This is a bad idea because it makes your class harder to refactor. Moving a field around can break your class in unexpected ways, and it might take minute to figure out what's going on. Class fields definitely _read_ declaratively, and the fact that they _do_ have an assignment order is actually rather odd in that sense - intuitively, you might expect them to all exist at once, like assigments on an object literal. Note that this really only applies to class fields - once you're in a "hook" of some kind, like the `constructor` or `init`, it's safe to start using values. This is because moving the constructor around is safe, and functions are pretty easy to reason about locally (usually šŸ˜¬): @@ -541,3 +542,4 @@ Generally, derived state like this is handled better by getters/setters, so this * [Ember Native Class ESLint Plugin](https://github.com/scalvert/eslint-plugin-ember-es6-class) And that's all folks! If you have more questions, join the [Ember Discord](https://www.emberjs.com/community/) and ask away, the `#e-decorators`, `#e-typescript`, `#st-native-classes`, and `#st-octane` channels are all great places to get some advice. Thanks for reading! + diff --git a/source/2019-02-14-octane-guides.md b/source/2019-02-14-octane-guides.md index 251cec06d..5537a2891 100644 --- a/source/2019-02-14-octane-guides.md +++ b/source/2019-02-14-octane-guides.md @@ -1,21 +1,21 @@ --- title: 'Community Update: Octane Documentation' author: Melanie Sumner -tags: Recent Posts, 2019, Octane +tags: Recent Posts, 2019, Ember Octane responsive: true --- -The preview of the Octane edition of Ember is coming soon, and with all these fantastic new features comes a lot of documentation. Since this requires coordination of many moving parts, we want to outline the approach we're taking, and outlining some ways that the community can contribute. +The preview of the Octane edition of Ember is coming soon, and with all these fantastic new features comes a lot of documentation. Since this requires coordination of many moving parts, we want to outline the approach we're taking, and outlining some ways that the community can contribute. ## Preparation -In order to prepare for the new edition, the Learning Core Team spent time figuring out how to best transition the existing docs in such a way that was consistent with iterative innovation. +In order to prepare for the new edition, the Learning Core Team spent time figuring out how to best transition the existing docs in such a way that was consistent with iterative innovation. One of the goals of improving the guides in general was to improve the learning flow in the guides (see [RFC #431](https://github.com/emberjs/rfcs/pull/431)). As such, we determined that a change to the table of contents was in order. ## Updating the guides -As per the usual standard, we have planned out this work to be able to complete it in an iterative fashion. This was particularly important because we are updating guides as new features for the Octane release are merged into Ember. +As per the usual standard, we have planned out this work to be able to complete it in an iterative fashion. This was particularly important because we are updating guides as new features for the Octane release are merged into Ember. ### Phases @@ -31,30 +31,30 @@ Phase 1, MVP: (see [Tracking issue](https://github.com/ember-learn/guides-source 1. Add re-direct URLs and remove old content 1. Test/Review to make sure everything works as intended -Then the Octane guides will be considered in MVP status and we will move forward to the next phase, which will include all of the sections that were identified in the table of contents RFC but were not included in the MVP. +Then the Octane guides will be considered in MVP status and we will move forward to the next phase, which will include all of the sections that were identified in the table of contents RFC but were not included in the MVP. -Through all of these phases, a preview of the Octane edition guides will be used to ensure that the documentation is staying on track with the intended features. +Through all of these phases, a preview of the Octane edition guides will be used to ensure that the documentation is staying on track with the intended features. -While new content is being written and older content is being updated, **no existing content will be completely deleted.** Only _after_ we have fully reviewed the content and added the re-directs will outdated content be removed. This means that in the interim, some content may be available if the user has the URL, but it won't be linked from the table of contents. +While new content is being written and older content is being updated, **no existing content will be completely deleted.** Only _after_ we have fully reviewed the content and added the re-directs will outdated content be removed. This means that in the interim, some content may be available if the user has the URL, but it won't be linked from the table of contents. ### Challenges -As with any ambitious undertaking, there are some related challenges. Here are a few we are currently facing: + +As with any ambitious undertaking, there are some related challenges. Here are a few we are currently facing: - Updating guides content for the Octane feature set and defaults - The number of sub-sections for each guide section - Handling redirects for old content in a way that won't break existing deprecation messages -We expect to work through these challenges and have a process in place to handle them, but we should have a shared awareness that our approach may be tweaked as the next month goes on, to address these issues. +We expect to work through these challenges and have a process in place to handle them, but we should have a shared awareness that our approach may be tweaked as the next month goes on, to address these issues. ## How you can help -We expect that the community will be willing to submit PRs to help make the documentation betterā€“from checking for spelling or grammar errors, to adding code samples, and even more ambitiously, writing some prose. -Thanks to our infrastructure upgrades in 2018, we are well-positioned to accept community participation in the documentation effort. Please see the open issues in the [guides source repository](https://github.com/ember-learn/guides-source/issues) and let us know in the #dev-ember-learning channel (on Discord) if you would like to work on an issue. +We expect that the community will be willing to submit PRs to help make the documentation betterā€“from checking for spelling or grammar errors, to adding code samples, and even more ambitiously, writing some prose. + +Thanks to our infrastructure upgrades in 2018, we are well-positioned to accept community participation in the documentation effort. Please see the open issues in the [guides source repository](https://github.com/ember-learn/guides-source/issues) and let us know in the #dev-ember-learning channel (on Discord) if you would like to work on an issue. -All PRs for this should be made against the `octane` branch of the [guides repo](https://github.com/ember-learn/guides-source) and should follow the regular standards for pull requests to documentation, the most important being one issue per pull request. +All PRs for this should be made against the `octane` branch of the [guides repo](https://github.com/ember-learn/guides-source) and should follow the regular standards for pull requests to documentation, the most important being one issue per pull request. ### Future of Contributing The Learning Core Team is working to make it even easier to contribute. We are planning better contributing guides than we've ever had before, and you can be part of this process! We're adding a Contributing section to the websiteā€“participate in shaping this content by helping review/comment on [RFC #446](https://github.com/emberjs/rfcs/pull/446). - - diff --git a/source/2019-08-15-octane-release-plan.md b/source/2019-08-15-octane-release-plan.md index 906d1ba47..74a749fee 100644 --- a/source/2019-08-15-octane-release-plan.md +++ b/source/2019-08-15-octane-release-plan.md @@ -1,7 +1,7 @@ --- title: Octane is coming in v3.14 author: Yehuda Katz, Jen Weber -tags: 2019, Announcement, Recent Posts +tags: 2019, Announcement, Recent Posts, Ember Octane responsive: true --- @@ -45,7 +45,7 @@ Octane uses [Native JavaScript Classes](https://developer.mozilla.org/en-US/docs ### Try using Octane features that have already landed -The rest of the sections below cover optional features in Octane that you can consider using now. These features are independent of each other. You can opt into them one at a time, in any order. The best way to try them out is when you are writing new components. +The rest of the sections below cover optional features in Octane that you can consider using now. These features are independent of each other. You can opt into them one at a time, in any order. The best way to try them out is when you are writing new components. You will be able to migrate to many of Octane's idioms automatically using codemods that we will finalize with Ember 3.14. When we say "Octane idioms," we mean the syntax, APIs, and patterns for Octane. We do not recommend trying to mass-migrate older code (like `@ember/component` Components) without those codemods. @@ -209,7 +209,7 @@ In classic Ember, you can refer to properties on a component as `{{propertyName} No matter what kind of component you're using, you should start using `this` to refer to component properties in new code. The [`no-implicit-this`](https://github.com/ember-template-lint/ember-template-lint/blob/master/docs/rule/no-implicit-this.md) template lint can help you avoid using this deprecated pattern by accident. -Ember 3.14 will finalize a codemod that uses dynamic information from booting up your app to automatically insert `this` where needed. We recommend waiting for this codemod to be finalized before attempting to mass-migrate your codebase. +Ember 3.14 will finalize a codemod that uses dynamic information from booting up your app to automatically insert `this` where needed. We recommend waiting for this codemod to be finalized before attempting to mass-migrate your codebase. ### Angle Bracket Invocation diff --git a/source/2019-10-31-octane-release-update.md b/source/2019-10-31-octane-release-update.md index 39754574c..d50d6efed 100644 --- a/source/2019-10-31-octane-release-update.md +++ b/source/2019-10-31-octane-release-update.md @@ -1,7 +1,7 @@ --- title: Octane Release Update author: Yehuda Katz, Matthew Beale -tags: 2019, Announcement +tags: 2019, Announcement, Ember Octane responsive: true --- diff --git a/source/2019-12-20-ember-3-15-released.md b/source/2019-12-20-ember-3-15-released.md index e0cb62b1d..83afe4ff1 100644 --- a/source/2019-12-20-ember-3-15-released.md +++ b/source/2019-12-20-ember-3-15-released.md @@ -1,7 +1,7 @@ --- title: Ember 3.15 "Octane" Released author: Kenneth Larsen, Matthew Beale, Melanie Sumner -tags: Releases, Recent Posts, 2019, 3, 3.15, Version 3.x +tags: Releases, Recent Posts, 2019, 3, 3.15, Version 3.x, Ember Octane alias: 2019-12-20-ember-3-15-released.md responsive: true date: "2019-12-20 16:30:00 -0500" @@ -21,7 +21,7 @@ READMORE **Read more about how Octane makes web application development fun and -productive in +productive in [Octane is Here](https://blog.emberjs.com/2019/12/20/octane-is-here.html), a blog post from Yehuda.** ...and then explore our completely updated and refreshed guide and API @@ -57,7 +57,7 @@ visibility of a component's root element. This API was very common in early Ember 1.x applications but is rare today. In practice use of template bindings has supplanted use of the `isVisible` API. -`isVisible` is deprecated as of Ember 3.15. +`isVisible` is deprecated as of Ember 3.15. To transition away from this, we recommend using conditionals in a template: @@ -84,7 +84,7 @@ components](https://api.emberjs.com/ember/3.15/modules/@glimmer%2Fcomponent), as well as of the [`template-only-glimmer-components`](https://guides.emberjs.com/release/configuring-ember/optional-features/#toc_template-only-glimmer-components) optional feature the `{{partial}}` API in Ember no longer provides any unique -benefits. Instead it has several downsides including difficult to teach scoping +benefits. Instead it has several downsides including difficult to teach scoping rules and poor performance. See the [deprecation guide for @@ -125,7 +125,7 @@ the data panel in the [Ember Inspector](https://github.com/emberjs/ember-inspect This package adds roughly .6 KB when minified and compressed to your application in production; however, you can now opt out of shipping this addon in production via options in `ember-cli-build.js` - + ```js let app = new EmberApp(defaults, { emberData: { @@ -148,7 +148,7 @@ For additional details on changes in Ember Data 3.15.0, please review the full Ember CLI is the command line interface for managing and packaging Ember.js applications. -There were some noteworthy changes in `ember-cli` to support the release of the Octane edition of Ember. The `@glimmer/component@1.0.0` package was added as a dev dependency for both apps and addons, Octane-related optional features were enabled, `ember-template-lint` was updated to use the `octane` edition preset, and all packages were updated to their latest version in the application blueprint! +There were some noteworthy changes in `ember-cli` to support the release of the Octane edition of Ember. The `@glimmer/component@1.0.0` package was added as a dev dependency for both apps and addons, Octane-related optional features were enabled, `ember-template-lint` was updated to use the `octane` edition preset, and all packages were updated to their latest version in the application blueprint! The new addon blueprint also dropped the Ember 3.4 ember-try scenario, but dropping support for existing addons should be considered a breaking change. Existing addons should either keep the scenario, or do a major version bump if they drop support for older Ember versions. diff --git a/source/2019-12-20-octane-is-here.md b/source/2019-12-20-octane-is-here.md index 7bd084943..f76819416 100644 --- a/source/2019-12-20-octane-is-here.md +++ b/source/2019-12-20-octane-is-here.md @@ -1,7 +1,7 @@ --- title: Octane is Here author: Yehuda Katz -tags: Recent Posts, 2019, Announcement, Featured Announcement +tags: Recent Posts, 2019, Announcement, Featured Announcement, Ember Octane alias: 2019-12-20-octane-is-here.md responsive: true date: "2019-12-20 16:31:00 -0500" diff --git a/source/2020-01-10-the-ember-times-issue-130.md b/source/2020-01-10-the-ember-times-issue-130.md index a75753575..499dcc73f 100644 --- a/source/2020-01-10-the-ember-times-issue-130.md +++ b/source/2020-01-10-the-ember-times-issue-130.md @@ -1,7 +1,7 @@ --- title: The Ember Times - Issue No. 130 author: Chris Ng, Alon Bukai, Jessica Jordan, Anne-Greeth van Herwijnen, Isaac Lee, Jared Galanis, Amy Lam -tags: Recent Posts, Newsletter, Ember.js Times, Ember Times, 2020 +tags: Recent Posts, Ember Octane, Newsletter, Ember.js Times, Ember Times, 2020 alias : "blog/2020/01/10-the-ember-times-issue-130.html" responsive: true --- @@ -9,7 +9,7 @@ responsive: true Happy New Year, Emberistas! šŸ¹ -This week, we have an **Ember Octane Special Edition** for you! +This week, we have an **Ember Octane Special Edition** for you! We've collected as much info as possible about this new Ember edition. So throughout this post, you will find useful information to help you get the most out of Ember Octane. @@ -165,12 +165,12 @@ We know there are lots of other great examples of Octane being used in the wild. We alluded to the [Ember Atlas Octane Upgrade Guide](https://www.notion.so/Ember-Octane-b8ad64b7adf74218942fc69ead7b6892) earlier. This section includes information to help Ember developers upgrade from Classic apps/addons to Octane ones. šŸš€ -So what is Ember Atlas? +So what is Ember Atlas? Ember Atlas is an unofficial resource for Ember curated by various people in the Ember Community. It includes best practices, upgrade guides and more! The Ember Atlas is built to be a curated wiki for Ember for various content that isn't in the guides yet, or won't ever make it in. -Bookmark [emberatlas.com](http://emberatlas.com) for quick reference and check out the [Ember Atlas Introduction](https://www.notion.so/Introduction-d11ec02706d74eab960b3e2b11494bc7) to get started. +Bookmark [emberatlas.com](http://emberatlas.com) for quick reference and check out the [Ember Atlas Introduction](https://www.notion.so/Introduction-d11ec02706d74eab960b3e2b11494bc7) to get started. --- diff --git a/source/_sidebar.html.erb b/source/_sidebar.html.erb index f0113942f..45a5e526d 100644 --- a/source/_sidebar.html.erb +++ b/source/_sidebar.html.erb @@ -68,11 +68,12 @@

Browse by Subject