The full JavaScript stack for beginners
June 01, 2012, 2 min read
After I wrote my two articles From LAMP to the new full-JS stack and How to install & setup Node.js on Amazon EC2 – complete guide, I received many messages asking for code samples and/or architecture examples of working with Backbone.js & Node.js from people starting-up building their own client-side apps.
Javascript is slowly, but steadily, gaining significant momentum in all facets of app development across many platforms. We can now use Javascript, HTML and CSS to develop fully working apps for the Web, Android, iOS and Windows 8 platforms. Combined with Node’s paradigm shift of using Javascript on the server and NoSQL databases like MongoDB that let us use Javascript and JSON in our databases, we are presented with a unique opportunity of using one language for the complete development life cycle of our apps!
Depending on your background and skills, the transition to the full Javascript stack can be pretty straightforward or extremely challenging, requiring a different mindset and approach on the way apps are developed.
Personally, coming from a LAMP background where I was developing websites on the server using PHP and relational databases and only using Javascript (mostly jQuery) to handle interactions and effects on the client, the transition to full-JS was a cultural shock to me 😲.
Thus, I decided to share my experiences and write a series of tutorial articles where I will try to explain concepts like client-side MVC (Model-View-Controller) apps, how to develop an API in Node.js using MongoDB as the database, how to develop an MVC app in Backbone.js, how to design templates using Mustache.js and more.
In the end, you will (hopefully) have a pretty solid understanding of Backbone, Node, MongoDB; how they can work together, how to move your app to the cloud and how to port it to mobile devices and tablets.
Some parts of these tutorials might be common knowledge to you, so feel free to skip ahead. I will update this post with links to all the articles in the series.
- What is a client-side app and why should I care?
- What is MVC? (upcoming)