Fork me on GitHub

HTML

Nasdanika HTML features several libraries providing fluent API for building HTML user interfaces. The goal of the libraries is to make Java developers more productive by:

  • Working in Java instead of switching between Java for the server side development and HTML, JavaScript and CSS for the client side development.
  • Apply the power of Java such as inheritance, polymorphism, patterns, e.g. a strategy pattern, etc. to building HTML user interfaces.
  • Operate on a higher level of abstraction thinking in terms of, say, actions and view parts instead of individual HTML elements.
  • Think about the Web User Interface as a Java interface - a collection of methods/actions which the user can invoke.
  • Think about users as asynchronous method invocations - a user is invoked by passing them a callback (user) interface.

Nasdanika HTML libraries, except the application model and EMF ones, are provided as both Maven jar’s and Equinox/OSGi bundles. It allows to use them in both Maven/plain Java and OSGi applications. The application model and EMF libraries have dependencies on Eclipse/Equinox bundles and are provided only as an OSGi bundle.

Nasdanika HTML libraries can be used to build both static Web sites, e.g. documentation, and dynamic web applications.

Libraries/Bundles

Resources

  • Overview presentation
  • P2 Repository
    • https://www.nasdanika.org/products/html/2.0.0-SNAPSHOT/repository.
    • Archived.
  • Maven Repository - https://www.nasdanika.org/products/html/2.0.0-SNAPSHOT/maven-repository.
  • Sources.
  • NasdanikaBank.app - a sample model with several actions for demo and testing purposes. It is also available as a resource in org.nasdanika.app.model bundle.
  • Spring Boot demo - A Spring Boot application which uses Nasdanika HTML libraries to build Web UI.
  • Test coverage.

How to contribute

As an open source project we use the Fork and Pull Model. You can find more information about collaborative development at GitHub in this article - Collaborating with issues and pull requests.

When you contribute code, please make sure that the changes are clearly identifiable. In particular, avoid making non-functional changes in the code which you do not touch, e.g. auto-formatting of an entire compilation unit.