TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ember.js Octane Edition

187 点作者 wycats超过 5 年前

21 条评论

gavinjoyce超过 5 年前
At Intercom, we&#x27;ve been incrementally upgrading our almost 6 year old Ember app to Octane as the features have landed over the past 8 months. Our app continues to be in great health and we continue to ship hundreds of times a day with a constant stream of features that our customers love [1]<p>Octane is a huge leap forward for Ember. Its APIs are extremely well designed, composable and cohesive. The new Glimmer components and @tracked properties have resulted in waves of negative diffs as we refactor parts of our app to Octane and, IMO, are an advancement in the state-of-the-art component state tracking &#x2F; reactive UI.<p>If you&#x27;ve tried Ember before and were turned off by some of its slightly weird APIs (computed properties, component APIs like tagName, classNames &amp; event handling, the ember object model), you should take a second look.<p>With Octane, Ember is a framework for rapidly building high quality web applications that will remaining healthy over time as the web platform and JS ecosystem rapidly changes.<p>[1]: <a href="https:&#x2F;&#x2F;www.intercom.com&#x2F;changes&#x2F;en" rel="nofollow">https:&#x2F;&#x2F;www.intercom.com&#x2F;changes&#x2F;en</a>
评论 #21849299 未加载
chancancode超过 5 年前
For those of you aren&#x27;t particularly interested in Ember or frontend development in general, here is a tidbit that may be of interest to you.<p>While revamping the tutorial[1] to showcase the new features and idioms, I worked on this tool[2] to automate the generation of the tutorial.<p>Every page of the tutorial you see is the output from markdown source files (like this one[3]) which contains executable instructions for the steps. The build[4] system will run these commands and edits the same way an end-user would, capture the output of the commands and put them in the tutorial. It also takes the screenshots by opening a real browser (via puppeteer) and navigating to the actual app that we are building as part of the tutorial.<p>All of these ensures that the tutorial content and screenshots are up-to-date with the latest blueprints (the files used by the generators), config files, etc, and that everything really works as-expected. It makes it much easier to maintain and QC the teaching materials, but also servers as a very useful end-to-end smoke test to ensure all the moving pieces in the ecosystem (including external components like npm, node, etc) are all working together.<p>Right now the tool and the tutorial content are in the same GitHub repo, but the code is actually written to be completely agnostic to Ember.js (or JS even). It just runs shell commands, edit files etc. My intention is to separate out the tool to its standalone thing, so more communities can benefit from this approach.<p>[1]: <a href="https:&#x2F;&#x2F;guides.emberjs.com&#x2F;release&#x2F;tutorial&#x2F;" rel="nofollow">https:&#x2F;&#x2F;guides.emberjs.com&#x2F;release&#x2F;tutorial&#x2F;</a><p>[2]: <a href="https:&#x2F;&#x2F;github.com&#x2F;ember-learn&#x2F;super-rentals-tutorial&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ember-learn&#x2F;super-rentals-tutorial&#x2F;</a><p>[3]: <a href="https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;ember-learn&#x2F;super-rentals-tutorial&#x2F;master&#x2F;src&#x2F;markdown&#x2F;tutorial&#x2F;part-1&#x2F;05-more-about-components.md" rel="nofollow">https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;ember-learn&#x2F;super-rentals-...</a><p>[4]: <a href="https:&#x2F;&#x2F;github.com&#x2F;ember-learn&#x2F;super-rentals-tutorial&#x2F;commit&#x2F;785115a55168b2871d76072a465b9acbfeb6e0c8&#x2F;checks?check_suite_id=367677990" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ember-learn&#x2F;super-rentals-tutorial&#x2F;commit...</a>
评论 #21848688 未加载
sudders超过 5 年前
We have been using Ember for the last 5 years, and have been continuously shipping new features and updates on a daily basis. Our different applications have been following every upgrade path, and because of that we have not required a rewrite of our codebase.<p>Ember has been a great choice for our business, and has given us the opportunity to punch well above our weight class.<p>Ember is a wonderful front-end framework and deserves a lot more credit than it is currently getting.<p>Great job Ember Team, keep it up, the community loves you!
jchw超过 5 年前
With a cursory glance, a lot of these changes make Ember look more familiar for React users, w.r.t. not treating root specially (versus Angular for example) and with moving away from mixins for more functional composition. All in all I think this is great and would like to take a look at Ember and see what it has to offer nowadays.
评论 #21848836 未加载
评论 #21849050 未加载
dmzza超过 5 年前
I&#x27;ve been building new product from scratch with Ember Octane and TypeScript since March 2019, and it&#x27;s been a great experience. I will be able to launch the app I spent 10 months building without any substantial refactoring. I would say the Octane API has essentially been stable for almost a year, if not longer. I even had a preview of the rewritten documentation to learn from the entire time. Ember has really come a long way from the early days. The last time I built an Ember app was before 1.0 was released. Building with Octane before it was released has been spectacular.
atonse超过 5 年前
I&#x27;ve been using Ember in some capacity for 6+ years now I think. And have been using ember on about 5-8 different production-shipped projects (with Elixir backends) and it&#x27;s been a great combination for our company from a tech standpoint.<p>The bigger issue has been finding contracting talent that&#x27;s more affordable. Since there&#x27;s a real dearth of talent in general (and freelance contractors) in the Ember world since the community is already so small, the few that are there are too expensive for us to hire for more than a couple week bursts.<p>I hope Octane helps bring more people to the Ember ecosystem and introduces more variance into the contractor rates, since I want to keep using Ember for future projects.
anm89超过 5 年前
It is such a tragedy that ember did not gain more traction. It&#x27;s incredibly elegant, powerful and ergonomic. Once you got into the groove, writing ember code was so intuitive.<p>Glad to see they are pushing through
评论 #21848518 未加载
评论 #21848659 未加载
vdrizzle超过 5 年前
At coschedule.com we’ve been using EmberJS since 2013. We look at EmberJS as one of the strengths of the development team. It has been rock solid, stable, and progressive. We began our transition to Octane about 3 months ago, and while still very much a work in progress but it has been a delight. We just finished refactoring the oldest section of our app, and on average we’ve seen a 50% render performance increase, this in part to the leaner glimmer components.<p>The future is bright EmberJS is fun and easy to develop on. The learning curve has been drastically reduced and new devs should not have a hard time getting up and going. The guides have been completely redesigned and the super rentals tutorials is an excellent tool to get started.
isodev超过 5 年前
Coming from other frameworks the Octane approach definitely seems more familiar. I am looking forward to my first Ember app :).
评论 #21849401 未加载
dstaley超过 5 年前
One of the things I really wish Ember would focus on is reducing the amount of JavaScript shipped to the browser. I just tried out the included project with ember-cli, and the default JavaScript bundle is 2.7 MB (591 KB gzipped)[1] for an app that doesn&#x27;t have any functionality. I know that you get a lot with that 591 KB (Ember&#x27;s router, the Glimmer VM, etc.), but it&#x27;s still much more than what you can get your React app down too, especially on initial load. For comparison, my _entire_ React application (which includes emotion, react-router, and a full data synchronization library) is only 356 KB (104 KB gzipped). Don&#x27;t get me wrong: there&#x27;s certainly applications where the size of the JavaScript doesn&#x27;t matter, and I think Ember is _great_ for those use-cases. I just wish it could be used for smaller, mobile-focused applications without being several times larger than an equivalent React app.<p>[1] Apparently this is the development size. The production size is 712.29 KB (180.80 KB gzipped). My point still stands though.
评论 #21848769 未加载
评论 #21848757 未加载
评论 #21848745 未加载
评论 #21849408 未加载
评论 #21849464 未加载
评论 #21848844 未加载
nullvoxpopuli超过 5 年前
Yaaaaas.<p>Octane looks so much nicer. This is the lift codebases that have been using Ember for 6+ years will greatly appreciate.<p>And! It&#x27;ll be great to show off ember at local meetups with the nice new syntax!
p45please超过 5 年前
I like Ember.js, been using it since version 1.12, through to 2.x and now 3.x. Had been playing with the beta builds of Octane on the side, glad to see it all coming over to the main build!
nivenhuh超过 5 年前
On using Ember<p>I’ve been using ember since 0.9.5.1, so for 8 years or so? (I have 6 biggish apps that are still under active development today)<p>At the time — there was no router, Ember.View was a thing, there were multiple types of views and controllers, JSON:API wasn’t a thing, ember-data was wild, etc. Most of the contributions depended on tomhudakatzdale, as well as a number of other core contributors (dgeb, tchak, and others I’m leaving off — sorry!). The framework frequently had breaking changes, patterns were moving around rapidly (we had to rewrite one of our pre 1.13 apps), it was a bit of a mess. (Then again, at the time, a lot of other frameworks were in the same state.). I think these times gave Ember a bit of a bad rap.<p>The thing that stood out to me then, and still holds true today, is that the community has been committed to bringing in the best ideas forward in a community-driven way. Even though much of the initial framework had growing pains, it was able to do a few significant things: establish a community model for managing changes (RFC&#x2F;RFP process), delegate core responsibilities to a broader team of people (not based on corporate interests), create consistent release intervals, follow semantic versioning, establish json:api as a specification, and really take community feedback in as development priority &#x2F; direction.<p>Octane is the cultivated result of years of decision making by the community. (And, I believe, that’s why folks say “Ember is great tech”).<p>I continue to use and recommend Ember to others. Happy to answer any questions for folks!
miguelmota超过 5 年前
Ember does a ton of magic under the hood that when something goes wrong it&#x27;s the hardest thing to debug. Ember is also strongly opinionated which some people like I guess. Ever since I&#x27;ve switched to React + Redux I&#x27;ve never looked back.
评论 #21849193 未加载
sergiotapia超过 5 年前
Superficially, Glimmer reactivity looks very much like Mobx in a very good way. Any significant differences?
评论 #21848974 未加载
评论 #21850227 未加载
评论 #21848929 未加载
DigitalSea超过 5 年前
I kind of hoped that Ember would ditch Handlebars for templating and move towards something a bit nicer. I find Handlebars syntax to be quite annoying and tedious to write. Kudos to the Ember team for persisting with the framework, I know LinkedIn is using it (and learned in this thread that Intercom is as well).<p>If this latest Ember release excites people, I highly recommend that people check out what the Aurelia team have been working on with Aurelia 2 <a href="https:&#x2F;&#x2F;aurelia.io&#x2F;blog&#x2F;2019&#x2F;10&#x2F;31&#x2F;aurelia-vnext-2019-fall-update" rel="nofollow">https:&#x2F;&#x2F;aurelia.io&#x2F;blog&#x2F;2019&#x2F;10&#x2F;31&#x2F;aurelia-vnext-2019-fall-u...</a>. I have always seen Aurelia being similar to Ember, except the syntax is cleaner (especially templating) and is conventions based. There are a lot of similarities between the two.<p>One thing that Aurelia are doing in Aurelia 2 is an option to shake it down to a tiny app. The problem with frameworks like Angular, Ember and Aurelia 1 is they ship a lot of code to the browser and startup time can be quite slow. In Aurelia 2 they&#x27;re working on quite a nice and promising AOT compiler. I really wish the Ember team would focus on bundle size, what I have seen with Octane, the bundles are huge.<p>My money is on Aurelia 2 when it launches in 2020, so it is nice to see Ember firing back as well, great timing given the recent State of JS survey yielded people are really frustrated with Angular.
评论 #21850911 未加载
liketostayanon超过 5 年前
Like the decorator syntax for tracking observables. Is the under the hood implementation an inspiration from mobx? Basically, the use of Proxy.
评论 #21848825 未加载
someonedamaged超过 5 年前
This is an awesome update, really like the new component APIs and the ergonomics for manipulating the DOM!<p>I mostly worked with React and Vue, since Ember had quite a learning curve in the past and wasn&#x27;t really an option for me. But this new edition seems to be much more straightforward to start working with. Looking forward to build my first Ember app over the holidays :-)
rubyn00bie超过 5 年前
Wow. I really didn&#x27;t realize it was so close! I&#x27;ve just today finished up what took me away from my Ember project.<p>Ember has been freakin&#x27; amazing to use, and Octane really, really, makes it shine. I love ember because it includes everything you need to manage state in your application, install and you&#x27;re ready to go. I don&#x27;t have to pick my view renderer, state&#x2F;history management, storage system, networking stack etc... I also don&#x27;t have to maintain the dependencies between them, like I would with something built using React.<p>Ember also favors convention over configuration; which, I find to be a godsend when visiting the world of JavaScript. Yeah, it&#x27;s a bit painful sometimes not knowing the convention, but that&#x27;s just good ol&#x27; fashion learning. I also think the opposite, configuration, is incredibly painful in JavaScript, because the ecosystem moves so fast.<p>The Ember team (and community) also have fixed, and continue to fix, a ton of issues from making module loading easier to better support of Typescript.<p>I&#x27;d like to give a few getting started tips for anyone about to jump in (as I did the same a few months ago):<p>* Glimmer templates give you nice HTML-esque looking components while separating the HTML from the JavaScript itself (which I like versus embedding it like JSX does)<p>* Use the decorators. Seriously, they&#x27;re awesome, they&#x27;re a MUST if you use typescript.<p>* Ember modifiers are really a big improvement over the previous hooks&#x2F;lifecycle management. It&#x27;s just the constructor and willDestory (I think), it also to me, makes it a lot easy to commit to ol&#x27; &quot;data down, actions up&quot; philosophy.<p>* Ember Concurrency [1] is a brilliant tool and can pretty much prevent any UI blocking you ever find yourself doing.<p>* Some things are automagically created for you unless you explicitly create them (with the right names) like the application controller and application router. Use the Ember debugger browser plugin to see what controllers and routes are being rendered if you&#x27;re at all unsure.<p>* Ember CSS modules [2] helped me quite a lot encapsulating css (and wiring it up correctly for that matter).<p>* Use Mirage [3] to mock out your data from the beginning, don&#x27;t hard code things you intend to query for later. You&#x27;ll have trouble, plus Mirage is super easy to use.<p>* Make sure guides you&#x27;re reading are relevant to the current version. Octane has been coming for a while so there&#x27;s a fair bit of information, it&#x27;s just something to be aware of (especially from results in google).<p>* If you&#x27;re reading an older article that&#x27;s relevant, but using older syntax try reading this: <a href="https:&#x2F;&#x2F;blog.emberjs.com&#x2F;2019&#x2F;01&#x2F;26&#x2F;emberjs-native-class-update-2019-edition.html" rel="nofollow">https:&#x2F;&#x2F;blog.emberjs.com&#x2F;2019&#x2F;01&#x2F;26&#x2F;emberjs-native-class-upd...</a><p>This series of articles is also immensely helpful: <a href="https:&#x2F;&#x2F;www.pzuraq.com&#x2F;coming-soon-in-ember-octane-part-1-native-classes&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.pzuraq.com&#x2F;coming-soon-in-ember-octane-part-1-na...</a><p>Finally, I&#x27;ve found the Ember community to be incredibly nice and welcoming. Their Discord [4] is very active and full of helpful folks. Huge props and thanks to everyone who worked on this, it&#x27;s super exciting and I&#x27;m gonna go hack on my Ember project now.<p>----<p>[1] <a href="https:&#x2F;&#x2F;ember-concurrency.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ember-concurrency.com&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;salsify&#x2F;ember-css-modules" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;salsify&#x2F;ember-css-modules</a><p>[3] <a href="https:&#x2F;&#x2F;www.ember-cli-mirage.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.ember-cli-mirage.com&#x2F;</a><p>[4] <a href="https:&#x2F;&#x2F;discord.gg&#x2F;emberjs" rel="nofollow">https:&#x2F;&#x2F;discord.gg&#x2F;emberjs</a><p>Edit: Formatting.
snewcomer24超过 5 年前
Gotta love this. Great job everyone! Looking forward to what we build!
pier25超过 5 年前
The ergonomics look nice but Ember still needs to make a lot of progress in bundle size and performance.<p>Glimmer is certainly much faster than previous Ember versions but it&#x27;s barely competitive by today&#x27;s standards.<p><a href="https:&#x2F;&#x2F;krausest.github.io&#x2F;js-framework-benchmark&#x2F;current.html" rel="nofollow">https:&#x2F;&#x2F;krausest.github.io&#x2F;js-framework-benchmark&#x2F;current.ht...</a><p>Also, in that link check how Glimmer fares in start-up metrics (very bad). And it&#x27;s not even the complete Ember framework.
评论 #21850434 未加载
评论 #21849644 未加载