# App
# Architektur
Was wird gebraucht:
- Datenbank
- MySql
- MongoDb
- MsSql
- Backend
- Java (Spring)
- Node.js (Express)
- Firebase
- Frontend
- Nuxt.js
Given Features:
- User Handling
- Blog post Handling
- Karten Handling
Java Advantages
- Java is known and loved for its “Write Once, Run Anywhere” approach, meaning that the code written in Java can be run on any platform, regardless of where it was originally created.
- Both Node.js and Java have their IDEs, but Java's they are better.
- For over two decades, Java has accumulated a great wealth of libraries containing reusable code components.
- Java uses a multi-threaded web server that processes each request in a separate thread.
- Multi-threaded processing makes Java a great tool for CPU-intensive applications, such as video streaming, image editing,
Java Disadvantes
- Ich will es nicht lernen und nützt mir nichts für den Beruf
- There are Java-specific frontend tools, such as JavaFX and Swing, but even they cannot provide the same code uniformity as Node.js does.
Node.js Advantages
- With Node.js, JavaScript is used both on the frontend and backend, creating a more seamless infrastructure.
- Node.js has a much easier learning curve than Java, so getting started is quicker.
- If we add that Node.js takes about 33% fewer lines of code than Java, it becomes obvious that creating an app with Node.js takes less time on the average.
- However, Node.js shows better horizontal scalability achieved by adding more hardware.
- High application speed for IO-intensive apps
Node.js Disadvantages
https://da-14.com/blog/nodejs-vs-java-backend-language-large-software-development/
Comparison
- Java is a great option for building complex web-based, highly concurrent application whereas Node JS is ideal for developing small size projects.
- Java requires Java Development Kit which includes Java compiler and runtime environment to run Java on any machine whereas Node JS must be installed through installable archive file.
- Java is strictly a server-side language which has nothing to do with the browser, whereas Node JS can be used on client and server side efficiently.
- Java is heavily used for building complex web-based application with an already provided framework built using Java whereas Node JS is best suited for real-time collaborative drawing or editing applications like Google Docs.
- Java uses the concept of multithreading with ease whereas Node JS does not use the concept of multi-threading like Java does.
- For large scale projects that involved concurrency, Java is highly recommended whereas Node JS does not handle the thread as well as Java does, which is the weakest point of this framework.
- CPU intensive task required huge computational power can be handled with Java whereas I/O bound operations like real-time chat, media streaming etc can be handled well with Node JS.
- Java is de-facto enterprise standard, it is the most popular programming language in the world whereas Node JS is a framework revolves around JavaScript and can achieve parallelism efficiently which is different from concurrency.
| BASIS FOR COMPARISON | Java | Node |
|---|---|---|
| Creation | Class-based, Object-Oriented language derived from C++ | Framework written in C, C++, JavaScript |
| Application | Complex web-based, highly concurrent application | Fast and scalable server-side application |
| Project | Suited for complex web-based concurrency project | Best suited for small size projects |
| Usage | Messaging, web application, highly concurrent application | Highly useful when scalable and faster application is required |
| Installation | Require JDK (Java Development Kit) to run Java | Need to install archive file on a system |
| Scope | Dominate server-side interaction | Developers can utilize it on client and server side |
| Frameworks | Spring, Struts, JSF, Tapestry etc. | Has many different frameworks like Express.js, Sails.js, and Partial.js |
| Application | Simplify application development with Object-Oriented approach | More suited for an application like real-time collaborative drawing/edit like Google Docs |
https://www.educba.com/java-vs-node-js/
Node.js Frameworks
- Express.js
- Strapi.io
- Sails.js
https://medium.com/@OPTASY.com/what-are-the-best-node-js-frameworks-in-2019-and-why-top-5-4434770d2187