One web page created by jNode have two controllers. One on server side and another on browser(client) side.
The server side controller is written in Java and can generate understandable HTML for search engine optimization (SEO).
If you have to minimize CPU usage of server you can use jNode client side controller.
jNode client side controller also is written in Java.
The compiler is fast. Usual time for compilation is 2 seconds.
Using Java as language from server and client side allow you to make shared classes between server and client controller.
Shared classes means that you will write your code just one time.
jNode synchronize the two controllers fields and classes, which allow you to think about two controllers like one.
The main strength of jNode is encapsulation of web pages.
Every web page has a lot of dependency (*.css, *.html, (client side)*.java, (server side)*.java, *.jpg).
jNode packs all these files into one root folder for every web page.
jNode maintenance injection of one web page(child) into another web page(parent).
jNode frees you from thinking about dependencies. Just call the daughter page and submit parameters as well.
During injection child will come into parent web page with all of its dependencies (*.css, *.html, (client side)*.java, (server side)*.java, *.jpg).
jNode support inheritance! One web page can inherit another.
You can change HTML tags, attributes and styles.
You can override methods of Java classes (controllers in client or server side).
During the inheritance, you do not think of dependence again. It just works!
jNode has built-in multilingual support.
It is not necessary to think about translation of HTML page during creation.
It is not needed to create separate web page for every language.
You just create external translation file (*.tr) file in the package and write translation.
Enjoy of jNode...
To play video, you have need of browser supported HTML5 (version after 2014).
It is best seen on a PC.
Use ARROWS to skip +/- 5 sec. Use SPACE to play/pause.
This example show using master-detail grids in single-page application.
The grid support inline and popup edting, sorting, show linked tables in comboboxes,
auto formating by column type, allow customizing editor by column type and etc.
Generates Java code from your database and lets you build type safe SQL queries through its clear API.
jNode synchronize variables (jVar) into HTML-dom tree, controller-classes fields at client and server side.
You need of browser (version after 2014) supported HTML 5 to play video. The best is Firefox.
Simple example how to pass variables (jVar) to a child web page.
You have to know that child a variables (jVar) are like URL parameters.
We can uses them like input/output variable from parent web page.
Example how jNode synchronized jVar between parent and child web page.
jNode can make dynamic web-page injections, using ClassLoaderJS. ClassLoaderJS is a part of
jNode ecosytem and know which web pages are currently loaded into a browser. If any class is not loaded
ClassLoaderJS bring the class and its dependency (including the sub classes) from the server.
You should know that the classes of the web pages and the controller are the same.
as well as the path of the Java classpath and the URL of the web pages.
How can replace HTML content of child jNode web page.
jVar-variables can be declared only by the client, by the server or by both parties.
jVar-variables support primitive types like 'String','Double','Money','Integer','Long','Date','Time','DateTime' ...
jVar in client and server side supports converting a simple text into a HTML.
To convert text into HTML just have to start width '<!DOCTYPE html>'.
Additional feature of jVar in server side support HTML page injection by the <jpage> tag.
Lets see what exactly means that.