Hello…I’m a product support engineer for a big data company…I’m mostly using C and bash all day long. I want to transition into more of a UX/UI front end dev position so I’ve been learning JS non-stop. I’ve gotten pretty deep in some projects with js but still very intermediate in skill. Could I still jump into Ember.js (as it looks pretty damn cool) without being a JS expert? My point is will Ember jacked up my JS ? I’ve heard from some friends who jumped from begginer JS to Jquery and they took a front end position with companies and then needed to do some serious JS work and they were lost. So just thought I’d ask the question.
I think if Ember.js is the right tool to get the job done you are trying to do, then go for it. If your goal however is to improve your plain JavaScript skills, than you probably should just spend more time coding JavaScript, looking at how other people have solved problems and how all those successful libraries and frameworks work internally.
Disclaimer: I am not a expert JavaScript developer.
Ember introduces its own abstractions that may save you from the need to master JavaScript; though you would still have to understanding context binding and closures, understanding JS-style inheritance/prototypes isn’t really necessary.
I’ve been doing JS for about a decade, and working with Ember doesn’t draw on much of the arcane JS knowledge I’ve accumulated, it’s just not needed to be productive with Ember. Also bear in mind that Ember takes a huge investment to learn thoroughly, so it may not be the quickest way to get your new web skills into production.
Ember does a good job at helping you to write structured code. What I would suggest is dreaming up some small project that you want to write and just dive in. Ember CLI is a good way to get the project up and running without doing lots of setup wiring (and it comes with a test runner). Then just persevere and rewrite chunks of the app as you learn better ways of doing things. Personally I found that with Ember I’m able to rewrite bits of the app without breaking things in unexpected places… that’s not necessarily the case with homegrown javascript projects.
With that said it does depend what you want to accomplish. If you’re building a little widget or animating part of a server generated page then Ember’s probably not what you want. If you want a client side app with URL support (multiple pages) then go for it.
For sure, the community is great, there’s more and more resources to learn from everyday, and its conventions are solid. If you’ve been picking up solid basic JS, you should be good to go. You’ll learn faster. I recommend you reread ‘Secrets of the Javascript Ninja’ by Resig and Bebeault like 3 or 4 times if you haven’t already.