Nicely Done!  Excited to try this out.

On Friday, May 17, 2024 at 2:49:39 AM UTC-6 nikola wrote:

> Here are the latest updates to the dncomponents project. Check it out on 
> GitHub: dncomponents <https://github.com/dncomponents/dncomponents>
>
>
> *New Reactivity Features*
>
> This release brings some powerful new features inspired by popular 
> frameworks like Vue, React, and Angular:
>
>    - *Reactivity* Data-binding system that synchronizes 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.
>
> For more details, read more here 
> <https://github.com/dncomponents/dncomponents>.
> *Java 21 Support with TeaVM*
>
> The dncomponents project has been ported to TeaVM. You can find it on 
> GitHub: dncomponents-tea 
> <https://github.com/dncomponents/dncomponents-tea>
>
> Now you have the option to choose between the GWT 
> <https://www.gwtproject.org/> or TeaVM <https://teavm.org/> compiler. 
>
> The most notable difference at this moment is TeaVM's support for Java 21 
> language features.
> *Components Update*
>
> Rich set of ready-to-use components remains stable with continuous bug 
> fixes. This includes Lists, Trees, Tables, and more, which you can explore 
> here <https://dncomponents.com/demo/index.html>.
>
> To run those examples locally follow instructions here 
> <https://github.com/dncomponents/dncomponents>.
>
> In my humble opinion, thanks to dncomponents' HTMLBinder, the ability to 
> organize code around components—where HTML markup, CSS, tags, and logic are 
> all in one class—along with the continually improving features of the Java 
> language, compilers like GWT or TeaVM, makes web development in Java 
> competitive with current popular JavaScript/TypeScript frameworks.
>
> //language=html
> @Component(template = """
>       <div class='helloCss'>
>         <h2>*** HelloComponent ***</h2>
>         <h1>Hello, {{name}}!</h1>
>       </div>
> """,
> //language=css
> css = """
>         .helloCss {
>            background: #e69ff1;
>            padding: 20px;
>            border: 1px solid gray;
>          }
> """,
> tag = "hello-component"
> )
>
> public class HelloComponent implements IsElement {
>    HtmlBinder<HelloComponent> binder = HtmlBinder.create(HelloComponent.
> class, this);
>
>    String name = "All";
>
>    public HelloComponent() {
>       binder.bindAndUpdateUi();
>    }
>
>    @Override
>    public HTMLElement asElement() {
>       return binder.getRoot();
>    }
> }
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/0332c643-1823-4493-b932-c6af681cbe1cn%40googlegroups.com.

Reply via email to