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.