Christophe Coenraets writes web and mobile development tutorials covering Backbone.js, Node.js, Angular, React and PhoneGap, with sample apps.
Commenters recommend his three-part Backbone wine cellar tutorial as a clear, concise starting point, with code on GitHub, and link his ES6 slides.
I learned Backbone just about 3 months ago and the first project I built (still in developing) with it was a commercial eCommerce web application for a major client. This is how I learned Backbone:
—— 1. I downloaded a copy of the following book and followed all the examples:
http://addyosmani.github.com/backbone-fundamentals/
Note that the following incomplete sections in the book you will very likely need (I did). The answer to each can be found on StackOverflow.
- Sub-Views And Nesting
- Managing Models In Nested Views
- Views Triggering Other Views
- Cleanly Disposing Views
- [Communicating effectively between views (particularly subviews)]—I added this because I was not sure how to do this after reading the book, I found help on StackOverflow.
By the way, the book is very good and Addy Osmani is a thorough writer, he does not shy away from detail, which I love. Detail is very good, it prevents you from getting stuck later and allows you to have a thorough understanding of the subject matter.
—— 2. Follow these 3 tutorials, they are easy, but very helpful:
http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-1-getting-started/
http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-2-crud/
http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-3-deep-linking-and-application-states/
— And this one, which is incredibly important for improving your Backbone skills and using Backbone efficiently. These are the…
1) hard to say. i started 2 month ago, and maybe spend about 3 hours a day on average on app-related stuff. when i started i only had little experience in rails, but had absolutly no experience in backbone. so it took me quite a while to get into it.
2) to start out i read this http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-1-getting-started/
and then everytime i was stuck i search for a solution on stackoverflow. i'm not using nodejs btw. just backbone for the frontend. once you done a couple of tutorials, i recommend using http://www.brunch.io
3) the themes are coming from my rails backend. i have a mongodb database on http://www.mongolab.com. the backbone app makes a request to my rails server and gets a respond as json. you can see how that looks like at http://www.themescroller.com/themes.json
I'm using PhoneGap and I'll use it again.
Yes, a PhoneGap app may never run as smoothly as a native app but I'm not ready to sacrifice the advantages that PhoneGap approach brings:
- Using HTML/JS/CSS for all platforms
- I can strip all PhoneGap related calls from my app and have a mobile web app (which can run as a full screen web app)
And there're various tips and tricks to help you achieve almost native experience with PG (http://coenraets.org/blog/2013/05/top-10-performance-techniques-for-phonegap-applications/).
Imagine doing this in:
- ObjectiveC for iOS
- Java for Andriod
- C# for WP
- HTML/JS/CSS for having a mobile web app
Sacrificing some performance suddenly starts making sense.
This 3-part series [1] on building a wine-cellar app (basic CRUD, REST, etc..) with Backbone is a great place to start if you've never done anything with Backbone before.
The code is available on github [2], the author is clear and concise, and there are a number of back ends supported (node/express, php/slim, java/jersey).
[1] http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-1-getting-started/
[2] https://github.com/ccoenraets/backbone-cellar
I've been using AngularJS for a few months on a side project of mine and it greatly helped move a lot of the code complexity to the client side. Hooking it up with a REST API was simple and got rid of almost all of the server side rendering.
Here's a particularly useful sample app, implemented in both Angular as well as Backbone.
http://coenraets.org/blog/2012/02/sample-application-with-angular-js/
If someone wants to dig more on ES5 vs ES6 , check this presentation (use side arrow for navigation) http://coenraets.org/present/es6/#1