Here is the new release of dncomponents with bug fixes and improvements. And an interesting example of TodoMVC <https://todomvc.com/> application written in Java with dncomponents TodoComponent.java <https://github.com/dncomponents/dncomponents/blob/master/main-reactive/src/main/java/com/dncomponents/client/reactive/TodoComponent.java> Very comparable to Vue TodoMVC <https://vuejs.org/examples/#todomvc> :)
On Friday, May 17, 2024 at 5:59:04 PM UTC+2 Jeff Hill wrote: > 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/ba1d993f-6744-49a8-befc-996109f4b9a8n%40googlegroups.com.
