Home | Language | Framework | Is Not | Example |
![]() ![]() ![]() ![]() ![]() |
HybridJava is a Java™ -based server-side component-oriented MVC technology for programming dynamic web content. Most of existing frameworks claim to support "components", but what they really mean is often one or several of the following:
For instance, a popular book on Struts "Programming Jakarta Struts" has chapters 5-7 titled "Struts Controller Components", "Struts Model Components", and "Struts View Components". Those three types of components are notably uncorrelated, so making them work together takes quite an effort. This situation did not change much with introduction of Strurs 2.
In truly component-oriented frameworks (Wicket, Tapestry, Click and HybridJava) each component follows the MVC paradigm independently, incapsulating its own Model, its own Controller, and its own View within a single entity.
Historically, component-oriented approach flourished in development of desktop applications UI. Wicket, Tapestry and Click openly admit to their inheritance of Visual Basic. The core of VB approach of constructing UI from components is having objects of a programming language organized in a data structure isomorphic to UI. Recursive visiting of this structure makes nodes add some output to the screen. Objects representing buttons are designed to fire events as traditional method calls up along the tree and so on.
With invention of markup languages it became possible to conveniently depict the structure of UI using tags without doing any programming. Wicket, Click and Tapestry, however, still use a programmatically built structure. In particular, Wicket is overly redundant at that. To add a Wicket subcomponent means to add a Java class node, depicted both in mark-up as well as in configuration. HybridJava technology finally moves the task of constructing pages and components completly to the mark-up area, eliminating the need for programming and configuring.
HybridJava technology implementation basically consists of two parts – a Compiler from HybridJava Language and a Framework. The latter also serves as the runtime for the Compiler. The compiler processes files .page and .widget and generates Java sources of pages that fit the MVC framework on construction. HybridJava API is wrapped around standard Servlet API, but operates in the context of pages and components, so the programmer may forget about Request and Response.
HybridJava Language is easy to learn for those who already know just Java and HTML, since it is about 46% Java and 46% HTML. Pure Java is also our Expression Language. The four web pages of this site plus API contain all the necessary user information on HybridJava.
The HybridJava Framework API is pretty compact - only about two dozen methods total. The source code of HybridJava Framework is provided as Open Source. It is less than 1000 Java lines long and that's why it is working fast. The rest of the application code is also generated as Java source, so the technology as a whole is very transparent.
HybridJava technology implementation is Pure Java.
The release contains among other things sources of runtime Framework and sources of the Sample Application. A variant of Sample Application is ported to i-Jetty on Android. (You may neeed to rename the file back to HJ.war after download.)
Version 1.06 adds an example of component-oriented jQuery use.
FREE LICENSE
Any company is eligible for a free life-time license of the Software. Requirement: To get this license you must register here.
*Java is a registered trademark of Oracle Corporation in the United States and other countries.
Home | Language | Framework | Is Not | Example |
© 2012 HybridServerPages Group. All rights reserved.