Angular.js/node.js/backbone.js/mongoDB vs PHP/MySQL web portal


after reading a lot of articles and comparisons on internet about node.js/express.js/backbone.js + MongoDB vs PHP/MySQL, i finally came to the conclusion that if webportal is not a real time web application (if users can accept a 5 min delay for example), php/mysql is enough for a webportal…some works can be done using a javascript framework on front end, but the main interaction with database and data processing will be performed by PHP.

Is my conclusion right or did i miss the point ?


I believe you missed the point…

For one, both can be used for real-time application. All it really is execute AJAX call to backend and replace HTML element on callback.

The server side can be either PHP or Node.js. Currently, Node.js is very popular due to this… “No-Wait” http request thread feature and using JavaScript to code the back-end. I’ve seen the video and I’m still in disbelief how JavaScript can be faster then compiled language… For me, I prefer the IDE of structural language vs scripting… Anyways, both can access the database same way and the real difference is the performance and thoroughput of http requests.

I don’t think you should use backbone.js and angular.js together. I believe angular.js has all the features in backbone.js. I did a bit of reading and angular.js provides MVC framework for front-end with a very good way of creating automated tests. If you don’t use this then you’ll have to design front-end structure…if you don’t then I imagine it’ll end up being JavaScript spaghetti. I definitely recommend using this angualr.js or ExtJS as a front-end JavaScript framework. To do a real-time update, you don’t have to use those framework and just use normal AJAX but at a minimum you should consider jQuery.

MongoDB vs MySQL. I believe PHP can use both… So, it depends on the nature of the data. I haven’t use MongoDB with this crazy NoSQL (thankfully) but it seems to cater to Big Data. For example, I’d worry if you think you’ll have a table that’ll exceed either 10 gig or 1 million records. If it’s less then that then I’d just use MySQL (I would rather use PostgreSQL since it’s faster).

If learning curve is not a factor then I’d definitely go with Angular.js(or ExtJS)/Node.js/Express.js/MySQL(or PostgreSQL) but if you are not familiar with any and have tight deadline then Angular.js(or ExtJS)/PHP/MySQL.