Motivation & FAQ

Contents[Hide]

 

LightLink makes the server-side development for WEB2.0/Mobile application:

  • As simple as possible. Create the server-side for your application at a speed of SQL requests creation.
  • As technically efficient as possible. Perfect memory control with streaming, unmatched latency and performance.
  • Going beyond plain REST as browser-to-server communication.
  • Take advantage of JavaScript on JVM, and staying compatible with Java/JEE/Spring platforms.
  • Take full advantage of NoSQL capabilities of modern RDBMS (JSON types, User-defined types...)

All that leads to architectural simplicity, development time saving and to maintainability improvement (which is also a factor of simplicity) 

 

2. Why using JavaScript on JVM ?  Java is far more mature/faster/perfect language !

Agree, but why do some people prefer Node.JS to Java ? Finally, NodeJS is still much slower then Java and Java frameworks (see https://www.techempower.com/benchmarks/ ), even with non blocking IO, and even with MondoDB. Why NodeJS then?

Having a single programming language across the application is a good reason. It makes one skill less to pay. Also, many simple tasks are quicker to write in JS. When needed you can even execute the same code on the client- and server-side.

Still, with LightLink, JavaScript is just an option. You can still program in 100% Java or call Java API from JavaScript.

 

3. Java is strongly typed, JavaScript is not. Strong typing is important. 

Yes, but in modern Web 2.0 applications, 70-90% of application logic is written in JavaScript and running in the browser. It leaves us only 30%-10% for strongly typed language (Java). Althought the biggest advantage of strong typing is when the application is written in typed language end-to-end.

The server-side is still needed to provide security, perform some business operations/transactions and to generate the correct the database query. But it does not need to be as heavy as for WEB 1.0 applications. 

So, writing the server-side logic in Java is a correct option and fully supported by LightLink.

However, writing the server-side logic in JavaScript (on JVM) allows you to have a single language across the application. It makes one less skill to "pay" (at least for a part of the team. It allows front-end focused specialists be operational on the server side, too.