Skip to content

Instantly share code, notes, and snippets.

@jayjayjpg
Last active November 22, 2018 03:09
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jayjayjpg/5d280a1a79e94764db4a6113dd6596ef to your computer and use it in GitHub Desktop.
Save jayjayjpg/5d280a1a79e94764db4a6113dd6596ef to your computer and use it in GitHub Desktop.
Ember-related Readers' Questions (Ember.js Times)
  • a) What's the status of being able to use ES classes?
  • b) I just started learning Ember and would like to get more experience with the project by contributing to it. What's a good way for me to get started in open-source work related to Ember and to get more familiar with its internals at the same time? answered by @jessica-jordan
  • c) When the re hydration will land in Ember? and what about the incremental rendering?
  • d) Why Ember ships with RSVP instead of a Promise polyfill? answered by @ef4
  • e) How is didReceiveAttrs better than observers, or is it just as bad?
  • f) Is module unification something you can use today in an app? It seems like a lot of the discussion revolves around usage in addons, corner cases, or require using canary versions of Ember. answered by @jenweber
  • g) I've seen the Glimmer site and explanation but I'm still not sure if I should be thinking about Glimmer as solving my front end lightweight framework needs. For instance, should I go ahead and assume I can use Glimmer over Vue.js? I'd absolutely LOVE to having some Ember knowledge, but not sure I could given current explanations. Can someone clarify as I'd love to hit the docs and start using Glimmer if I can use it for front-facing pages that need some interactivity without the overhead of a full Ember.js app load (read use over jQuery), and also the syntax seems like the future way of Ember so if I get a head start on that I'm better off in the long run. Thanks!
  • h) How could current Mixin's functionality can be achieved in ES6 class world?
  • i) Theoretically, could routes and controllers be combined as one file type (with more focus on components, and storing states in models)? It could speed up development time, and decrease learning curve.
  • j) Why does ember install <foo> add to one's "devDependencies" and not "dependencies"?
  • k) Aside from the small section on the Ember CLI website where is documentation on addon development? Most of what I learn is either from trial and error or reverse engineering other addons' source code.
  • l) How do the "magic imports" work exactly? Eg projectname/config/some-file. I couldn't find any explanation in the guides (only examples).
  • m) Is it possible to show the url of a page when something goes wrong while transitioning to it? Route A -> B. If something goes wrong in the modal hook of B, the error page is shown, but the url stays A. And this does not make sense from a UX perspective.
  • n) What is meant by the term "Data down, actions up"? Is it an important concept to learn? A good answer should have a thorough real world example and perhaps a contrast to an approach that does not use data down actions up and the pros and cons of each approach. answered by @jessica-jordan
  • o) What is the best practise regarding the binding of style attributes on html elements? New users will run into that problem, but there isn't really an official example on how to do it.
  • p) Early on I adopted Glimmer as a means of creating re-usable web components that we've since used in production in a variety of ways (outside of Ember applications). Now I want to reuse these Glimmer components in existing Ember applications. What is the recommended way to go about this?
  • q) What is the plan for mixins as we move to classes?
  • r) How do design a multi-language db and integrate it with ember-data?
  • s) What's the current status of Glimmer VM in ember? Are byte-code compilation on compile-time, rehydration, WASM and all the other famcy perf optimations already shipped to our apps?
  • t)How can I conditionally exclude code from an ember-cli build?
  • u) What's the difference between ember-lifeline and ember-concurrency and which one should be used? answered by @chrisrng
  • v) What's the progress of moving Glimmer VM into WASM + Rust?
  • w) Why does Ember use Broccoli and how is it different from Webpack, Rollup, Parcel? answered by @jessica-jordan
  • x) What is the future of controllers? When is it a good time to use them in a modern Ember app? answered by @jenweber
  • y) What is the future of Ember-Data?
  • z) What's going on with the roadmap RFC process? (might be outdated by now...)
  • aa) Angle brackets components: why is it not as simple as just "implementing them"? (I'm sure there's a lot of history and esoteric W3C knowledge here)
  • ab) why not emberjs has a uni ed core standard and xed structure? so that we developer can focus more on work and business? why it depends on thousands of plugins and addons? please make it like c++
  • ac) Are there plans to release an ember.js container? Currently there are a few maintained by the community but it would be nice to have one maintained by the core team.
  • ad) Working with Java backend system seems like, not easy by using custom adapters and there was no proper guides. How can we make this simpler or easy to implement like other frameworks?
  • ae) Why do not Angle Bracket components operate with one-way binding as default? Default one-way binding was planned initially https://www.emberjs.com/blog/2015/08/13/ember-2-0-released.html#toc_ember-2-x-themes
  • af) I'm really excited about named blocks while yielding components. Any info on that front?
  • ag) I'm really curious why Glimmer mentioned as a VM?
  • ah) What are the benefits of ember-data over POJO/AJAX?
@ef4
Copy link

ef4 commented May 7, 2018

Why Ember ships with RSVP instead of a Promise polyfill?

I can claim this one.

@krisselden
Copy link

krisselden commented May 7, 2018

a) We are still working on smoothing out interop between class extends Ember.Object and .extend()
c) rehydration has already landed behind a feature flag in ember. incremental rendering is present in the glimmer vm ember is using but it is not setup yet.
d) We were early adopters of Promises and RSVP integrated with our async priority queue to ensure promises were resolved before transitioning and rendering, we have ongoing work in there to smooth out how native promises work with this. It's hard doing this and maintaining backwards compatibility but it is part of our ongoing effort to modernize the internals.
e) didReceiveAttrs is for deriving state which also can be done with computed props or {{#with (derive-state input) as |output|}}...{{/with}} whereas observers generally considered legacy as there are numerous pitfalls with callbacks on state changes and setting state.
f) module unification is in ember behind a feature flag and can be used with an add-on but we are still smoothing out edges with the migration.

@Gaurav0
Copy link

Gaurav0 commented Jun 23, 2018

Does someone have to be on the Ember Core team to answer these?

@jenweber
Copy link

@Gaurav0 I don't think so. I am writing an answer to one right now!

Module Unification answer DRAFT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment