Heavier weight given to simplicity and easy of use, especially considering that the system will (hopefully) be fairly well defined in terms of services and functionality that needs to be provided.

Additional factors to consider included the technology some of the existing projects have used.

----

Loopback from strongloop - Node rest API - opensource nodejs framework - create REST APIs with little or no coding, as well as easily connect to datasources such as mongodb with little to no coding. Literally, easy and very little code.

Uses Yeoman - creates the framework and inital scaffolding. Helps step the user through creation and integration of basic items.

Built on top of Express and Node

Can then easily create connection to data source, model, etc...

DB abstraction layer, allows easy switching of models from one source to another.

App can utilize more than one datasource. Note that this is at one time. A specific model can go to a specific datasource, they are not all constrained to a single one.

Good for not having to generate routing manually, simple elements that are straight forward, very easy/modular

Utilizes similar support items that anuglarjs supports

Provides angularjs SDK for easy integration with angularjs client side

Scaffolding is more easily customizable to prevent bloat

------

MEAN stack - Use express directly instead of through loopback

Mongo, Express (framework for Node for REST), AngularJS, Node (server for backend)

More flexibile and extensible, less restrictions in terms of scaffolding and learning of a framework

Uses some of the technologies that existing projects already leverage or integrate with

-----

Some other, more robust but larger footprint frameworks reviewed and briefly discussed.

Play Framework, built on top of Scala (or Java) could provide greater flexibility and extensibility, the tradeoff would be a much larger footprint and higher overhead. Probably not needed for our current requirements.

 

  • No labels