HybridJava is a new Java™-based component-oriented MVC technology for programming dynamic web content. Like JSP this technology provides for combining HTML and JAVA code in one source file. JSP proved to be a somewhat inconvenient solution, with ultimately cumbersome syntax, lack of syntax control for both Java and HTML, poor support of code reuse and factorization and bulky configuration. Later introduction of custom tags did not add much convenience either. JSP specification prescribes implementation to create instances for each custom tag. Besides, instances of JavaBeans type are required for each data transfer within the presentation layer. The latter even results in a special "technique" of handling data synchronization.
MVC paradigm is widely applied in web development including development with JSP at the level of pages. To provide real componentization we need to suggest components that each conform MVC paradigm on their own, with component Model, component View and component Controller. Though books on MVC use terms "action", "handler", and even "behavior" talking about custom tags the truth is that JSP does not have any component model at all. For instance JSP custom tags are just bricks of View part of page, not components that follow MVC paradigm.
The new technology offers a smarter compilable language instead of JSP. It also provides a convenient higher level API wrapped around standard Servlet API. This API supports code development within MVC paradigm for both pages and components. HybridJava compiler provides instances only for those widgets that really need them, meaning that they have at least state or behavior. Pure presentation widgets are truly lightweight: they are compiled to nothing more than parts of the rendering method of the page. Generated code accesses presentation data directly, so no JavaBeans are used, and no synchronization is needed.
HybridJava technology basically consists of two parts – a Compiler from HybridJava Language and a Framework. The latter also serves as the runtime of the Compiler. The compiler processes files .page and .widget and generates Java sources of pages that fit the MVC framework on construction.
HybridJava Language is easy to learn for those who already know both Java and HTML, since it is about 46% Java and 46% HTML. HybridJava Framework API is pretty compact – only about two dozens of methods total. The overall size of HybridJava technology documentation is less than 10 pages. HybridJava page rendering works very fast, its configuration is limited to web.xml file.