Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

check alternative for Spring #36

Closed
alonttal opened this issue Nov 19, 2017 · 2 comments
Closed

check alternative for Spring #36

alonttal opened this issue Nov 19, 2017 · 2 comments
Assignees
Labels

Comments

@alonttal
Copy link
Collaborator

alonttal commented Nov 19, 2017

No description provided.

@alonttal alonttal changed the title check alternative for Spring - Node.js check alternative for Spring Nov 19, 2017
@OrAbramovich
Copy link
Collaborator

@alonttal and I did a little research about NodeJS & ExpressJs and we got into the following conclusions:

  • NodeJS is a Javascript runtime built on chrome's v8 javascript engine. It is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side.
    Node.js allows the creation of Web servers and networking tools using JavaScript and a collection of "modules" that handle various core functionality. Modules are provided for file system I/O, networking (DNS, HTTP, TCP, TLS/SSL, or UDP), binary data (buffers), cryptography functions, data streams, and other core functions Node.js's modules use an API designed to reduce the complexity of writing server applications.
    Node.js applications can run on Linux, macOS, Microsoft Windows, NonStop, and Unix servers. It uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. These design choices aim to optimize throughput and scallability in Web applications with many input/output operations (also compared to the multi-threaded Java).
    It has become the defacto standard environment in which to run JS related tools (e.g Vue.js) and other web related tools.

  • Great integration between all MVC layers with NodeJS - it integrates well with Vue, MongoDB, and Amazon S3 storage service (our selected components) and provides error handling mechanism (as requested).

  • Many tutorials on NodeJS online include MongoDB as their preferred DB program.

  • Express JS framework is built on NodeJS and provides faster web development time (by providing pre-build functionality).

  • Both frameworks are in Javascript, widely used, has a lot of community support, considered as cutting edge technology and also easy to learn.

  • Node JS was designed for developing web applications.

  • By studying JS we kill two birds with one stone - by learning one language we can develop both layers - client & server side.

  • It also seems quite suitable for Agile development.

  • Node JS can be used to easily build RESTful API applications.

Conclusion

Based on the following we think that we should change direction regarding the server side framework and use the Node JS & ExpressJS (instead of Spring) for developing our project.

References

NodeJS:
Official site: https://nodejs.org/en/
Wikipedia page: https://en.wikipedia.org/wiki/Node.js
Amazon SDK for NodeJS: https://aws.amazon.com/sdk-for-node-js/
MongoDB official driver for NodeJS: https://mongodb.github.io/node-mongodb-native/
NodeJS tutorail in w3schools: https://www.w3schools.com/nodejs/default.asp
Build RESTful API tutorial: https://www.codementor.io/olatundegaruba/nodejs-restful-apis-in-10-minutes-q0sgsfhbd
MongoDB & NodeJS tutorial: https://www.w3schools.com/nodejs/nodejs_mongodb_create_db.asp

ExpressJS:
Officail site: https://expressjs.com/
Tutorail: https://www.tutorialspoint.com/expressjs/

@alonttal
Copy link
Collaborator Author

node.js+express was chosen instead of spring and java
closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants