Hey guys, I have to say I am the target audience for this. I’m about 4 weeks part time into Ember, and have found it very confusing so far. Maybe my background will give you guys some direction on how people are coming into Ember now, and what they are looking for.
I’d say I’m an expert in PHP and jQuery, and spend 6 days a week coding in WordPress for my job. WordPress has recently built in a RESTful API, so I wanted to start using WordPress as my API powering an MVC style site/app. This is the future of WordPress, and as you all know, that is a massive community. I don’t use VIM (I use Coda), and a stay away from the console as much as I can.
So, the whole concept of pre-compiling templates is really new to me, and I have to say it’s annoying. I know the Ember senior team are very adamant that a build-process is a natural thing for developers these days, but if you’ve come out of PHP and/or WordPress it is foreign. So having a lot of examples built around having everything in index.html is a red herring, because anyone doing anything more complicated than a “hello world” is going to need to compile templates, and that adds a whole new learning curve to the process. It took me awhile to figure out that I now need to learn Node, NPM, and something like Grunt. So having a basic example on how to compile, starting from 0-knowledge about Node/Grunt would be awesome (the best case would be to do away with compiling all together - and still have decent performance - I know I’m dreaming).
A really great idea to get newbie’s on the Ember band wagon? A Coda plugin to compile templates, minify code etc on save. That way I don’t need Node on my server, or need to learn Grunt/Ember-CLI etc. It would make it way easier to get into Ember for sure.
Next was trying to build an authentication solution, there are a few tutorials out there, but they are all different and many are out dated. This was the best I found, and it seems to use Routes for a lot of things the official docs suggest you use Controllers for. Seems like the official docs should have the definitive login/logout example, that stores tokens in LS or a cookie etc…
And don’t start me on how many examples are out there pushing Views, when the Ember team are saying not to use them in favor of Components. It also seems like a lot of what you can do in Controllers can be done in Routes, which is confusing.
So, once I got logins working, the next was submitting a form and updating the server, and animating a slide-out menu (that changed depending on authentication status), a model overlay, a universal error message area, and uploading a file.
Of the above, I’d say the error message thing is the hardest (behind login/logout). A good guide to have would show how to build a Header like you see on this site, or StackOverflow. Show how to have a message area, a searchbox, and an area for errors. Most examples show how to do an error message inline on a form, but what about something that has all the HTML in the App template, but different routes/controllers can update it separately, without having to repeat a lot of the same logic on every controller. Think about the way StackOverflow’s badges notification might work…
Reiterating above, there is very little documentation/guides showing how to build App level features that aren’t specific to a Controller. I’ve only just started to figure it out (I think), using events that bubble up and trigger something (very little concise, easy documentation and/or guides around this critical Ember feature).
Animations/transitions are also lacking. Seems like everyone says use “Liquid Fire”, but that’s another big learning curve for something as simple as “if error, slide down message” or “slide in new route from the right side”.
A simple example of a “loading spinner” next to the form submit button would be great to have for example.
I have plenty more to add if you care to hear them.