Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial


JavaScript Basics (and some intermediate stuff): Done. Now What?

A question for all of the more experienced JS folks out there:

I'd like to know if the general principles of learning something specific like Angular.js overlap into other frameworks/libraries/MVCs, like Backbone, Ember, or Underscore?

I'm a designer, making my way through the front-end development track, and having tons of fun. But I'm noticing that there's a lot of chatter in the JS communities regarding the rapidly-changing state of the JS environment (and its legion of options).

TL;DR: Is there a sort of "Esperanto" for JavaScript? As in, something that might not be immediately useful (like Esperanto) but extremely helpful and versatile in translating its principles and practices into other environments?

1 Answer

I think each Javascript MVC framework is different enough from another that you'll hit a learning curve with each. I've done quite a bit of work in AngularJS and later did a couple projects in EmberJS. I found that although there were a lot of things that overlapped from Angular, my knowledge of Angular wasn't nearly enough to get me working with Ember right away. I basically had to learn Ember from scratch.

What I did find that is extremely valuable that will cross over from one framework to the next is the general Model View Controller concept. Although different frameworks have their own quirks and may define things a little different, the idea of separation of concerns between a model, a view and a controller are consistent across all of the frameworks I've seen.

So short answer: No. These frameworks can be very different from each other, but at least the general MVC philosophy is shared among them. Also, since they're Javascript based, having a solid grasp on Javascript as a stand-alone language is a huge advantage.

Thanks for your thoughts, Nick. I think the thing that's most daunting to me is that I feel like I've just gotten a hold of JavaScript key concepts, and now it looks like each new framework has a whole new collection of objects, views, and controllers to learn.

Just curious, was there ever a turning point in your JS education? Like, an "aha!" moment that helped you clarify your approach to problem solving?

I would say I probably had a lot of little "aha!" moments and still do. Courses helped me a lot with JS, but I only started getting very confident with it after using it in real life. A good way to get going is to try to build small applications or just one bit of functionality for an app using Plnkr. The nice thing about that approach is that you can make a plunk where the code is relatively small and easy for other people to check out and know what it's doing, so if you get stuck, you can always post a link to that plunk on this forum for help.

Here's an example of a really simple plunk I made a while ago using AngularJS when I was just getting started. If I remember correctly, I watched a short tutorial on how to select and update a record (I believe from Egghead.io). After I read through the tutorial, I went ahead and tried to do it on my own in Plnkr. I think I struggled in some parts and had to go back to the tutorial to peak at a couple things, but that's fine. The important thing is to try to get things working on your own as much as you can. That really helped me internalize the things I learned from courses and helped me learn to think through JS problems a lot better.