Skip to content

dncomponents/dncomponents

Repository files navigation

dncomponents

  Client side java UI framework for building rich web applications written purely in Java language using GWT compiler and elemental2 browser API without any external js libraries. http://dncomponents.com

Note: There is the same project using TeaVM compiler here

Module Info
core Basic classes to build user interface with elemental2 and dn HTML binder
template_annotation_processor Annotation processor to generate code from java/html pairs
mvp Lightweight MVP pattern
core-uui Components of dncomponents
bootstrap-ui Views implementation of dncomponents in bootstrap front-end framework
material-ui Views implementation of dncomponents in material design
main tests components
main-reactive tests reactive features

Getting started

See project web site.

To run components examples

Get a stable set of components, same as you can see at dncompoentns bootstrap example.

clone the project git clone https://github.com/dncomponents/dncomponents.git

cd main and run mvn gwt:devmode

Download starter project here .

To test new reactivity features

This attempts to bring some features of popular frameworks - Vue, React, and Angular, such as:

  • Reactivity Data-binding system that synchronize the state of the application with DOM.
  • Component based Organizing code into reusable UI components encapsulating their own logic, styling, and structure.
  • Two-way data binding Changes in the model affect the view and vice versa.
  • Loops Iterating over arrays and objects using the dn-loop directive, handy for rendering lists and tables dynamically in the DOM.
  • Conditional Rendering With dn-if, dn-if-else dn-else directives, you can conditionally render elements based on the value of expressions or data properties.

Read more here

Note that this is still work in progress and we need feedback and more testing.

cd main-reactivity and run mvn gwt:devmode

Download starter project here

Contact

Join gitter room
support@dncomponents.com

License

This project is licensed under