Ruby has Rails. Groovy has Grails. Python has Django. PHP has Laravel and Yii. Even C++ has CppCMS.

They all have in common being an MVC framework with stuff like:

  • URL Routing.
  • (Persistent) Models (in the case of Grails, this is backed by Hibernate).
  • Controllers (they are called VIEWS in Django).
  • Views (they are called Templates in Django).
  • Template helpers (functions or stuff which can be used inside a template to perform magic like data filtering, iteration, ... and custom user magic).
  • i18n and timezone management.

What I look is something like that for NodeJS with the following characteristics:

  • Platform-agnostic: Should only require a certain version of NodeJS (or any version of NodeJS), but should not need an specific OS. In the case of needing certain adapters (e.g. database adapters), I need to be able to install such adapters easily in Linux distributions (e.g. Django's MySQL adapter requires MySQL-python module which in turn requires libmysql-dev installed in Ubuntu).
  • Is it allowed to be not a single tool but a set of tools -which complement themselves- to install (e.g. the model management in one package, the templating in another package). Please: It is not about polling for alternatives. The listed tools must cover one or more points to address the problem and must complement the other listed tools, if more than one is listed.
  • It should be easy and well-documented the usage of such stack -if separate tools- or framework.
  • Must cover all the specified points.
  • The framework (either if single package or the whole suggested packages) must have active maintenance. This means that there must be an active repository attending support for bugs and hotfixes, and an active roadmap and changelog.

As an illustration, consider that Grails makes use of Hibernate. Those are two separate tools. Also consider that every listed framework (with special emphasis in Django and Rails) receives active and public maintenance (last point), has an actively maintained documentation, and covers in different degrees the specified points.

My goal: develop websites in a comfortable mvc way in NodeJS. I just know the raw NodeJS features regarding servers and form processing and would like to know about a framework with the power and ease those frameworks have.

  • To find out what MVC is, I just checked Wikipedia: their MVC article seems to answer your question even, naming AngularJS, EmberJS. At least the latter is explicitly said to support node.js via its Fastboot addon; Angular is described as frontend for Node.js. I have no experiences with Node.js, hence I just leave this as pointer in a comment :) – Izzy May 30 '16 at 5:36
  • Angularjs and emberjs are just client-side mvc. They are not comparable to what django or rails do. What I look for is server-side, as is Django, and specifically address the given points I stated (which are pretty common). While we could think AngularJS and alikes fulfill the point about templating and helpers, they are just client-side and thus lack of interaction with the backend. – Luis Masuelli May 30 '16 at 13:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.