From 82c592ee277fd9ce2f9d8f5c0526b05715a25405 Mon Sep 17 00:00:00 2001 From: Frank Hossfeld Date: Thu, 14 Dec 2023 18:54:32 +0100 Subject: [PATCH 01/10] first draft --- src/main/markdown/eco/eco-system.md | 257 ++++++++++++++++++++++++++++ 1 file changed, 257 insertions(+) create mode 100644 src/main/markdown/eco/eco-system.md diff --git a/src/main/markdown/eco/eco-system.md b/src/main/markdown/eco/eco-system.md new file mode 100644 index 000000000..902ea4a43 --- /dev/null +++ b/src/main/markdown/eco/eco-system.md @@ -0,0 +1,257 @@ +# GWT Eco System + +## History + +First and foremost, GWT is a Java to JavaScript transpiler. The basic idea is to use a type-safe and object oriented +Language to create applications which can ran natively in the browser. During development, developers use a +bullet-proofed +tooling. In production the transpiler creates highly optimized JavaScript. + +In 2006, as GWT emerges, things were different than today. JavaScript really depends on the browser and Java were in an +early state +of evolution. That's one of the reasons why we have permutations and generators in GWT. Also there no third-party-libs. +So everything +had to be deployed with the framework. GWT 2 add a lot of new modules: editor, uibinder, etc. we all use today. + +Today, things are different. Java has evolved. New language feature, annotation processors, etc. are state of the art +and +Browsers no longer have such gaps in there JavaScript engines. Third party libraries cover a lot of the things the +modules does +and they add new features to GWT. Also, Google transfers the lead the GWT project to an Open Source community. + +Looking at the next generation transpiler from Google (J2CL) there are no longer permutations, generators or modules. It +is only a transpiler. In 2018 the community starts to migrate the GWT modules. These modules no longer use generators +(instead they use annotation processors) and instead of JSNI (JavaScript Native Interface) JsInterop. On the long term, +that will enable application to switch to the new transpiler. + +### List of Modules + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleVersion (Release)Repo
gwt-activity- + + https://github.com/gwtproject/gwt-activity + +
gwt-animation1.0.0-RC1 + + https://github.com/gwtproject/gwt-animation + +
gwt-activity - + https://github.com/gwtproject/gwt-activity
gwt-animation1.0.0-RC1 + https://github.com/gwtproject/gwt-animation
gwt-aria1.0.0-RC1 + https://github.com/gwtproject/gwt-aria
gwt-callback1.0.0-RC1 + https://github.com/gwtproject/gwt-callback
gwt-core1.0.0-RC1 + https://github.com/gwtproject/gwt-core
gwt-dom1.0.0-RC1 + https://github.com/gwtproject/gwt-dom
gwt-dom-style-definitions1.0.0-RC1 + https://github.com/gwtproject/gwt-dom-style-definitions
gwt-editor1.0.0-RC1 + https://github.com/gwtproject/gwt-editor
gwt-event1.0.0-RC1 + https://github.com/gwtproject/gwt-event
gwt-event-dom1.0.0-RC1 + https://github.com/gwtproject/gwt-event-dom
gwt-geolocation1.0.0-RC1 + https://github.com/gwtproject/gwt-geolocation
gwt-history1.0.0-RC1 + https://github.com/gwtproject/gwt-history
gwt-http1.0.0-RC2 + https://github.com/gwtproject/gwt-http
gwt-json1.0.0-RC1 + https://github.com/gwtproject/gwt-json
gwt-jsonp - + https://github.com/gwtproject/gwt-jsonp
gwt-layout1.0.0-RC1 + https://github.com/gwtproject/gwt-layout
gwt-places1.0.0-RC1 + https://github.com/gwtproject/gwt-places
gwt-regexp1.0.0-RC1 + https://github.com/gwtproject/gwt-regexp
gwt-safehtml1.0.0-RC1 + https://github.com/gwtproject/gwt-safehtml
gwt-storage - + https://github.com/gwtproject/gwt-storagel
gwt-timer1.0.0-RC1 + https://github.com/gwtproject/gwt-timer
gwt-typedarrays1.0.0-RC2 + https://github.com/gwtproject/gwt-typedarrays
gwt-window1.0.0-RC2 + https://github.com/gwtproject/gwt-window
gwt-xhr1.0.0-RC1 + https://github.com/gwtproject/gwt-xhr
gwt-xml1.0.0-RC1 + https://github.com/gwtproject/gwt-xml
+ +When ever possible use these modules. There are only a few API changes, so migration might be easy by changing the package. +For example the old editor package is **com.google.gwt.editor** and the new one from the editor module will be +**org.gwtproject.editor**. + +## Releases + +GWT 2.10.0 removes the permutation for IE8, IE9 and IE10 and was the first release that had a new **groupId**. Besides +the old groupId **com.google.gwt** it could also be loaded with the new one: **org.gwtproject**. Starting from 2.11.0 +GWT will only be available under **org.gwtproject**. + +GWT 2.11.0 will be the first release that requires Java 11! + +Currently we have started the work on GWT 2.12.0. This release will focus on implementing new Java 11 - 17 Language features. + +## Third Party Libraries + +Besides the GWT framework many third party libraries occurred. These libraries add new features to GWT or offer different +approaches to do things in GWT. It might be worth to take look: + +* [Archetype Creation](tpl/archetype.html) +* [Client-Server Communication](tpl/communication.html) +* [Application frameworks](tpl/application.html) +* [Widget Libraries](tpl/widget.html) \ No newline at end of file From d81d72e0c99a91241240605a58d47e47d4d1836d Mon Sep 17 00:00:00 2001 From: Frank Hossfeld Date: Sat, 16 Dec 2023 11:54:10 +0100 Subject: [PATCH 02/10] added news & eco system site --- .../latest/DevGuideMvpActivitiesAndPlaces.md | 3 + src/main/markdown/doc/latest/DevGuideUi.md | 2 + .../doc/latest/tutorial/clientserver.md | 4 + src/main/markdown/eco/add-lib.md | 25 +++ src/main/markdown/eco/application.md | 34 ++++ src/main/markdown/eco/archetype.md | 46 +++++ src/main/markdown/eco/com-and-more.md | 57 ++++++ src/main/markdown/eco/config.xml | 15 ++ src/main/markdown/eco/eco-news.md | 165 ++++++++++++++++++ src/main/markdown/eco/eco-system.md | 59 ++++--- src/main/markdown/eco/ui.md | 44 +++++ src/main/markdown/gettingstarted.md | 3 + src/main/markdown/news.md | 110 ++++++++++++ src/main/markdown/overview.md | 11 ++ src/main/resources/main.tpl | 2 + src/main/resources/toc.md | 7 + .../site/assets/build/fonts/icons/icons.css | 8 + src/main/site/index.html | 13 +- 18 files changed, 574 insertions(+), 34 deletions(-) create mode 100644 src/main/markdown/eco/add-lib.md create mode 100644 src/main/markdown/eco/application.md create mode 100644 src/main/markdown/eco/archetype.md create mode 100644 src/main/markdown/eco/com-and-more.md create mode 100644 src/main/markdown/eco/config.xml create mode 100644 src/main/markdown/eco/eco-news.md create mode 100644 src/main/markdown/eco/ui.md create mode 100644 src/main/markdown/news.md diff --git a/src/main/markdown/doc/latest/DevGuideMvpActivitiesAndPlaces.md b/src/main/markdown/doc/latest/DevGuideMvpActivitiesAndPlaces.md index 646b3db32..f1a1d46e4 100644 --- a/src/main/markdown/doc/latest/DevGuideMvpActivitiesAndPlaces.md +++ b/src/main/markdown/doc/latest/DevGuideMvpActivitiesAndPlaces.md @@ -16,6 +16,9 @@ familiar with MVP, you may want to read these articles first: * [Large scale application development and MVP, Part I](../../articles/mvp-architecture.html) * [Large scale application development and MVP, Part II](../../articles/mvp-architecture-2.html) +Note:
+Besides MVP Activities and Places, there are other third party implementations for managing browser history management. Take a look [here](/eco/application.html). + **Definitions** An _activity_ simply represents something the user is doing. diff --git a/src/main/markdown/doc/latest/DevGuideUi.md b/src/main/markdown/doc/latest/DevGuideUi.md index 494f18b44..0247f3b70 100644 --- a/src/main/markdown/doc/latest/DevGuideUi.md +++ b/src/main/markdown/doc/latest/DevGuideUi.md @@ -16,3 +16,5 @@ In traditional JavaScript programming, dynamic user interface creation is done b 9. [Working with CSS](DevGuideUiCss.html) -- Style widgets with cascading style sheets 10. [Declarative UI with UiBinder](DevGuideUiBinder.html) -- Build widget and DOM structures from XML markup 11. [Bundling Image Resources](DevGuideUiImageBundles.html) -- Optimize image loading by reducing the number of HTTP requests for images + +Note: The GWT Eco System provides also UI implementations. To learn more, take a look [here](/eco/ui.html). diff --git a/src/main/markdown/doc/latest/tutorial/clientserver.md b/src/main/markdown/doc/latest/tutorial/clientserver.md index 29b389a74..c8b4189a0 100644 --- a/src/main/markdown/doc/latest/tutorial/clientserver.md +++ b/src/main/markdown/doc/latest/tutorial/clientserver.md @@ -36,6 +36,10 @@ To try this out, see the tutorial, [Making Cross-Site Requests](Xsite.html). Note: There is a variety of public sources of JSON-formatted data you can practice with, including [Google Data APIs](https://developers.google.com/gdata/) and [Yahoo! Web Services](http://developer.yahoo.com/). +### Using Third-Party-Libraries + +Besides the client server communication provided by GWT, there are more options to communicate with the server. Take a look [here](/eco/com-and-more.html). + ## Making Asynchronous Calls Whether you use GWT RPC or get JSON data via HTTP, all the calls you make from the HTML page to the server are asychronous. diff --git a/src/main/markdown/eco/add-lib.md b/src/main/markdown/eco/add-lib.md new file mode 100644 index 000000000..762f62c2d --- /dev/null +++ b/src/main/markdown/eco/add-lib.md @@ -0,0 +1,25 @@ +# Update Information + +We will add or update information on request. + +## Request for adding Libraries to the Eco System site + +The GWT eco system is a living system. New libs will be created, other will be end of life. Also we know, that there are +much more libraries outside. If you think, one library not listed here is worth to be mentioned, open an issue +[here](https://github.com/gwtproject/gwt-site). This will trigger a process to get mentioned in the eco system content. + +We will expect: + +* The Issue must be created by a contributor of the library +* The Library must be under active development +* The Library must be well documented +* The Library must be deployed to Maven central +* The Library must be an Open Source project +* The Library requires a Apache 2 Licence + +## Request for updating Library-Information + +To update information of an already added library, open an issue [here](https://github.com/gwtproject/gwt-site) +containing the desired changes. + +Changes can only be requested from contributor of the library. \ No newline at end of file diff --git a/src/main/markdown/eco/application.md b/src/main/markdown/eco/application.md new file mode 100644 index 000000000..2a5ddcc47 --- /dev/null +++ b/src/main/markdown/eco/application.md @@ -0,0 +1,34 @@ +# Application Frameworks + +One of the main tasks, when writing a GWT application is separating the code and managing the state. GWT offers with +[MVP Activities and Places](/doc/latest/DevGuideMvpActivitiesAndPlaces.html) modules to do that. Over the +time other implementations evolved. + +## domino-mvp and domino-historie + +Domino-mvp is a small, simple and a very lightweight framework for building both simple and complex applications using +GWT, it introduce the concept of routing using both tokens and events, also allows the developers to write a modular +application and shared components with any other domino application. + +For more information about domino-mvp, see: [domino-mvp at GitHub](https://github.com/DominoKit/domino-mvp) + +Domino-historie is a wrapper for the browser history state API. + +For more information about domino-history, see: [domino-history at GitHub](https://github.com/DominoKit/domino-history) + +## Nalu + +Nalu is a tiny framework that helps you to create GWT based applications quite easily. Using the HTML 5 history for +routing and navigation, Nalu supports the browser's back-, forward-, and reload-button by default and without any +need to implement anything. + +For more information about domino-history, see: [Nalu at GitHub](https://github.com/NaluKit/nalu) + +## Support + +The GWT project team does not support this projects. In case you have questions or would like to open an issue, please +contact the contributor of the project! + +## Missing Something? + +If you are missing something, following the instructions located [here](add-lib.html). \ No newline at end of file diff --git a/src/main/markdown/eco/archetype.md b/src/main/markdown/eco/archetype.md new file mode 100644 index 000000000..a0a31e92f --- /dev/null +++ b/src/main/markdown/eco/archetype.md @@ -0,0 +1,46 @@ +# Archetypes Creator + +The GWT framework comes with an archetype creator known as **webAppCreator**. This **webAppCreator** creates +a simple Maven project with some test code. It is ready use, will launch and while running, do a RPC server call. All +classes are located in one Maven project. + +Besides the **webAppCreator** there are more archetypes creator. Depending on your needs, this archetype creator might be +a better choice for your needs. + +## Creators + +Here are a list of archetype creator. As far as we known, all of this projects are under active development. + +### gwt-maven-archetypes + +This archetype creator will generate a Maven based GWT project with separate modules for client-, shared- and server-code. +The server module is based on Jetty. In modern GWT development the separation of client-, shared- and server-code is the +way to go. This archetype generator is a great place to start. + +For more information visit the archetype at [gwt-maven-archetypes at GitHub](https://github.com/tbroyer/gwt-maven-archetypes) +and follow the instructions. + +### gwt-maven-springboot-archetype + +This archetype creator will generate a Maven based GWT project with separate modules for client-, shared- and server-code +similar to the one above, but in opposite to the first one, uses Spring Boot on the server side. In case +you are planing to use Spring Boot on the server side, this is a prefect archetype to start + +For more information visit the archetype at [gwt-maven-springboot-archetype at GitHub](https://github.com/NaluKit/gwt-maven-springboot-archetype) +and follow the instructions. + +### domino-cli + +The domino-cli provides a tool for generating application templates using the DominoKit tool stack. + +For more information visit the archetype at [domino-cli at GitHub](https://github.com/DominoKit/domino-cli) +and follow the instructions. + +## Support + +The GWT project team does not support this projects. In case you have questions or would like to open an issue, please +contact the contributor of the project! + +## Missing Something? + +If you are missing an archetype creator, following the instructions located [here](add-lib.html). \ No newline at end of file diff --git a/src/main/markdown/eco/com-and-more.md b/src/main/markdown/eco/com-and-more.md new file mode 100644 index 000000000..8f92df9b8 --- /dev/null +++ b/src/main/markdown/eco/com-and-more.md @@ -0,0 +1,57 @@ +# Communication, Validation & more ... + +GWT comes with a variate of frameworks to communicate with the server. +Take a look at [Ajax Communication](/doc/latest/tutorial/clientserver.html) for more information about modules GWT offers. +Besides that, there are many useful libraries. + +Check these: + +## Client-Server-Communication + +Besides the [communication to the server provided by GWT](/doc/latest/tutorial/clientserver.html) +there are alternative implementations, too. + +### domino-rest + +Domino-rest is a lib for generating rest clients from JaxRs compatible interfaces, and the generated clients can be used +from both client side -browser- using GWT and on the server. The lib works with GWT2 and also with GWT3/J2CL. The +serialization and deserialization is based on domino-jackson and service definition is based on JaxRs annotations, while +code generation uses annotation processing APT. + +For more information see: [domino-rest at GitHub](https://github.com/DominoKit/domino-rest) + +## Validation + +There are several implementation to validate data in GWT: + +### Iban4g - IBAN-Validation + +A Java, GWT and J2CL ready library for generation and validation of the International Bank Account Numbers (IBAN ISO_13616) +and Business Identifier Codes (BIC ISO_9362). The library can be used on the client and server side. + +For more information, see: [iban4g at GitHub](https://github.com/NaluKit/iban4g) + +### Malio - POJO-Validation + +Malio is a tiny framework to validate POJOs using annotations. It is easy to use by just adding annotations to members +of a POJO. No writing of validations or validators. Based on the annotations inside the POJO, the processor generates +a validator. The generated validator can be used to check or validate the POJO. Malio valdators can bes used in GWT, J2CL +and Java. + +For more information, see: [malio at GitHub](https://github.com/NaluKit/malio) + +### gwt-bean-validators + +Implementation of Bean Validation (JSR-303/JSR-349/JSR-380) for GWT as replacement of deprecated GWT internal validation +implementation. + +For more information, see: [gwt-bean-validators at GitLab](https://gitlab.com/ManfredTremmel/gwt-bean-validators) + +## Support + +The GWT project team does not support this projects. In case you have questions or would like to open an issue, please +contact the contributor of the project! + +## Missing Something? + +If you are missing something, following the instructions located [here](add-lib.html). \ No newline at end of file diff --git a/src/main/markdown/eco/config.xml b/src/main/markdown/eco/config.xml new file mode 100644 index 000000000..949bb2a8d --- /dev/null +++ b/src/main/markdown/eco/config.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/markdown/eco/eco-news.md b/src/main/markdown/eco/eco-news.md new file mode 100644 index 000000000..679128f59 --- /dev/null +++ b/src/main/markdown/eco/eco-news.md @@ -0,0 +1,165 @@ +GWT News +=== + +This news page is the source for updates from GWT related projects. Maintainers have to create an +[issue](https://github.com/gwtproject/gwt-site/issues) to add a news on this page. + +Updates about the official GWT team will be found [here](news.html). + + +
+
+ +
+ domino-jackson 1.0.4 released +
+
+
+ December 10, 2023 +
+
+ The releases introduced a better way to do super sources that is compatible with GWT and J2CL, upgraded dependencies, moved to java 11 and introduces custom (de)serializers support. +
+ + + +
+
+ +
+ domino-rest 1.0.2 released +
+
+
+ December 10, 2023 +
+
+ The releases introduced a better way to do super sources that is compatible with GWT and J2CL, upgraded dependencies, moved to java 11 and fixes some minor issues. +
+ + + +
+
+ +
+ domino-ui 1.0.6 released +
+
+
+ December 10, 2023 +
+
+ Adds a new method to the LocalListScrollingDataSource. Check the release notes for more information. +
+ + + +
+
+ +
+ domino-ui 2.0.0-RC5 released +
+
+
+ December 10, 2023 +
+
+ Adds a lot of enhancements and features. The release also contains a lot of bug fixes. To get a full list of enhancements, features and bug fixes, check the release notes. +
+ + + +
+
+ +
+ domino-rest version 1.0.1 released +
+
+
+ November 28, 2023 +
+
+ Update emulation and super sources to be compatible with gwt and j2cl, move to java 11 and upgrade dependencies. +
+ + + +
+
+ +
+ nalu version 2.12.6 released +
+
+
+ September 12, 2023 +
+
+ This is a bug fix release. It fixes an issue related to reloading a page in a non hash context. +
+ + + +
+
+ + + + diff --git a/src/main/markdown/eco/eco-system.md b/src/main/markdown/eco/eco-system.md index 902ea4a43..e5a2f10f4 100644 --- a/src/main/markdown/eco/eco-system.md +++ b/src/main/markdown/eco/eco-system.md @@ -1,28 +1,33 @@ # GWT Eco System +Today, the GWT eco system is not only that, what comes with the framework. Usually, projects use a lot of third party +libraries to improve there development experience, add features or prefer a different approach to do things. But, before +we start a little history of GWT, the current state and a foresight: + ## History First and foremost, GWT is a Java to JavaScript transpiler. The basic idea is to use a type-safe and object oriented -Language to create applications which can ran natively in the browser. During development, developers use a -bullet-proofed -tooling. In production the transpiler creates highly optimized JavaScript. +language to create applications which can ran natively in the browser. During development, developers benefit from the +existing Java tool chain, powerful IDEs and awesome refactoring abilities. In production the transpiler creates highly +optimized and obfuscated JavaScript. -In 2006, as GWT emerges, things were different than today. JavaScript really depends on the browser and Java were in an -early state -of evolution. That's one of the reasons why we have permutations and generators in GWT. Also there no third-party-libs. -So everything -had to be deployed with the framework. GWT 2 add a lot of new modules: editor, uibinder, etc. we all use today. +In 2006, as GWT emerges, things were different. JavaScript depends on the browser and Java were in an +early state of evolution. That's one of the reasons why we have permutations and generators in GWT. Also there no +third-party-libs. Everything had to be provided by the framework. With GWT 2, a lot of new modules like: editor, uibinder, etc. +were added to the framework. Today, things are different. Java has evolved. New language feature, annotation processors, etc. are state of the art -and -Browsers no longer have such gaps in there JavaScript engines. Third party libraries cover a lot of the things the -modules does -and they add new features to GWT. Also, Google transfers the lead the GWT project to an Open Source community. +and the gaps of the JavaScript engines in the browser are no longer a pain point. Third party libraries add a lot of +things that GWT does not cover or offer an alternative implementation of existing implementations. + +Also, Google transfers the lead of the GWT project to an Open Source community. -Looking at the next generation transpiler from Google (J2CL) there are no longer permutations, generators or modules. It -is only a transpiler. In 2018 the community starts to migrate the GWT modules. These modules no longer use generators -(instead they use annotation processors) and instead of JSNI (JavaScript Native Interface) JsInterop. On the long term, -that will enable application to switch to the new transpiler. +Looking at the next generation transpiler from Google (J2CL) there are no longer permutations, generators or modules +available. Today, It is only a transpiler. In preparation of using this new transpiler and keeping in mind the huge +amount of legacy applications the community starts to migrate the GWT modules in 2019. These migrated modules no longer +use generators (instead they are using annotation processors) and JSNI (JavaScript Native Interface). Now, they are +using JsInterop. On the long term, using this new modules, will enable applications to switch to the new transpiler +very smoothly. ### List of Modules @@ -232,26 +237,26 @@ that will enable application to switch to the new transpiler. -When ever possible use these modules. There are only a few API changes, so migration might be easy by changing the package. -For example the old editor package is **com.google.gwt.editor** and the new one from the editor module will be -**org.gwtproject.editor**. +When ever possible use these modules. There are only a few API changes, so migration might be easy by just changing the +name of the package for those classes. For example, classes of the old editor package located in **com.google.gwt.editor** +are located inside **org.gwtproject.editor**. ## Releases GWT 2.10.0 removes the permutation for IE8, IE9 and IE10 and was the first release that had a new **groupId**. Besides -the old groupId **com.google.gwt** it could also be loaded with the new one: **org.gwtproject**. Starting from 2.11.0 -GWT will only be available under **org.gwtproject**. +the old groupId **com.google.gwt**, GWT can also be loaded with the new groubId: **org.gwtproject**. Starting from 2.11.0 +GWT will only be available under the groupId of **org.gwtproject**. GWT 2.11.0 will be the first release that requires Java 11! -Currently we have started the work on GWT 2.12.0. This release will focus on implementing new Java 11 - 17 Language features. +Currently we have started the work on GWT 2.12.0. This release will focus on implementing new Java Language features. ## Third Party Libraries Besides the GWT framework many third party libraries occurred. These libraries add new features to GWT or offer different -approaches to do things in GWT. It might be worth to take look: +approaches to do something in GWT. It might be worth to take look: -* [Archetype Creation](tpl/archetype.html) -* [Client-Server Communication](tpl/communication.html) -* [Application frameworks](tpl/application.html) -* [Widget Libraries](tpl/widget.html) \ No newline at end of file +* [Archetype Creation](archetype.html) +* [Client-Server Communication, Validation & more](com-and-more.html) +* [Application frameworks](application.html) +* [Widget Libraries](ui.html) \ No newline at end of file diff --git a/src/main/markdown/eco/ui.md b/src/main/markdown/eco/ui.md new file mode 100644 index 000000000..b9306a343 --- /dev/null +++ b/src/main/markdown/eco/ui.md @@ -0,0 +1,44 @@ +# UI - Implementations + +GWT comes with a widget implementation. Using this, means in most cases, customizing it. Which is something that, in many cases, consumes a lot of time. +Looking for more complex widgets, usually you end up creating and maintaining them. The GWT eco system offers alternative +implementations. + +## domino-ui + +Domino-ui is a type safe and feature rich UI components library for java developer utilizing fluent API and does not +depend on external JavaScript. It is Java based compiled to JavaScript, which means during development of the application +you have the power to refactor and keep your app maintainable all the time, but also you develop your application +with the mature set of all tool chain java can provide, this include extremely powerful IDEs and mature build tools +like maven and gradle, use domino-ui and bring your java team to the frontend world. + +For more information about domino-ui, see: [domino-ui at GitHub](https://github.com/DominoKit/domino-mvp) + +## elemento + +Elemento simplifies working with GWT Elemental2. In a nutshell Elemento brings the following features to the table: + +* Type safe builders, event handlers and CSS selectors +* Helper methods to manipulate the DOM tree +* Ready to be used with GWT and J2CL +* Minimal dependencies + - Elemental2 1.1.0 (elemental2-core, elemental2-dom and elemental2-webstorage) + - GWT project (org.gwtproject.event:gwt-event and org.gwtproject.safehtml:gwt-safehtml) + +For more information about domino-ui, see: [elemento at GitHub](https://github.com/hal/elemento) + +## gwt-ol + +With gwt-ol you can write fast mapping applications for web and mobile in pure Java. Technically speaking, it is a GWT +wrapper for OpenLayers 3+ using the JSInterop-Features of the GWT-SDK. + +For more information about domino-ui, see: [gwt-ol at GitHub](https://github.com/TDesjardins/gwt-ol) + +## Support + +The GWT project team does not support this projects. In case you have questions or would like to open an issue, please +contact the contributor of the project! + +## Missing Something? + +If you are missing something, following the instructions located [here](add-lib.html). \ No newline at end of file diff --git a/src/main/markdown/gettingstarted.md b/src/main/markdown/gettingstarted.md index f59bf9240..50b39327d 100644 --- a/src/main/markdown/gettingstarted.md +++ b/src/main/markdown/gettingstarted.md @@ -83,6 +83,9 @@ functionality in the class `MyWebApp/src/com/mycompany/mywebapp/client/MyWebApp.java`. The script also generates an Ant build script `MyWebApp/build.xml`. +Besides the **webAppCreator**, there are several more archetype creator available. Take a look [here](eco/archetype.html) +for more inforamtions + ## Run locally in development mode To run your newly created application in development mode: diff --git a/src/main/markdown/news.md b/src/main/markdown/news.md new file mode 100644 index 000000000..eb5176920 --- /dev/null +++ b/src/main/markdown/news.md @@ -0,0 +1,110 @@ +GWT News +=== + +This news page is the official source for update from the GWT team. Anything important will be posted here. + +News of the GWT eco system will be found [here](eco/eco-news.html). + + +
+
+ +
+ GWT: we are looking for reviewers! +
+
+
+ December 9, 2023 +
+
+ To finish the work on the next GWT release, we need to merge two more pull requests. We are looking for reviewers to approve the changes. Once the pull requests are merged, we will release GWT 2.11.0! +
+ + + +
+
+ +
+ J2CL: new version of the j2cl-maven-plugin released +
+
+
+ November 9, 2023 +
+
+ This update let the plugin use the latest J2CL version and supports elemental2 vesion 1.2.0. The release fixes a NPE, updates J2CL and the J2CL plugin to the latest version among other improvements. +
+ + + +
+
+ +
+ GWT Module: gwt-core version 1.0.0-rc2 released +
+
+
+ October 20, 2023 +
+
+ The second release candidate of the gwt-core module has been released today. +
+ + + +
+
+ + + + diff --git a/src/main/markdown/overview.md b/src/main/markdown/overview.md index 910d82303..921b8027a 100644 --- a/src/main/markdown/overview.md +++ b/src/main/markdown/overview.md @@ -21,6 +21,17 @@ The [Plugin for Eclipse](https://developers.google.com/eclipse/index) provides I * [Get Started](usingeclipse.html) +## What's outside the toolbox? + +The [GWT SDK](learnmore-sdk.html) contains everything you need to develop client-side applications. But, that's not all. There is a vital [Eco System](/eco/eco-system.html) outside, which provide alternative implementations or adds new features to the GWT SDK. These third party libraries work well with the GWT SDK and extend the possibilities what could be done with GWT. + +We have grouped this information into four categories: + +* [Archetype creator](eco/archetype.html): more archetypes (Maven multi module projects, using Spring Boot as a server, etc.) +* [Communication & More](eco/com-and-more.html): REST-client generator, validation, etc. +* [Application Frameworks](eco/application.md): alternative history management, etc. +* [UI Frameworks](eco/ui.heml): Ready to use widget libs, map tools, charts, etc. + ## Developing with GWT ### Write diff --git a/src/main/resources/main.tpl b/src/main/resources/main.tpl index db922f3f9..c2b32de11 100644 --- a/src/main/resources/main.tpl +++ b/src/main/resources/main.tpl @@ -41,11 +41,13 @@
  • Overview
  • Get started
  • +
  • News
  • Tutorials
  • Docs
  • Resources
  • Make GWT Better
  • Terms
  • +
  • Eco System
  • Download
  • Java Doc
  • diff --git a/src/main/resources/toc.md b/src/main/resources/toc.md index 0783786d3..9e50da90f 100644 --- a/src/main/resources/toc.md +++ b/src/main/resources/toc.md @@ -147,3 +147,10 @@ - [GWT License](terms.html) - [GWT Name Use Policy](GWTPolicy.html) - [Privacy](privacy.html) + - [Eco System](eco/eco-system.html) + - [Eco System](eco/eco-system.html) + - [News](eco/eco-news.html) + - [Archetype Creator](eco/archetype.html) + - [Communication & More](eco/com-and-more.html) + - [Application Frameworks](eco/application.html) + - [UI Frameworks](eco/ui.html) diff --git a/src/main/site/assets/build/fonts/icons/icons.css b/src/main/site/assets/build/fonts/icons/icons.css index 2ba154b1f..39c3a0e28 100755 --- a/src/main/site/assets/build/fonts/icons/icons.css +++ b/src/main/site/assets/build/fonts/icons/icons.css @@ -48,10 +48,18 @@ content: "\e607"; } +.icon_eco_system:before { + content: "\e605"; +} + .icon_makeGWTBetter:before { content: "\e608"; } +.icon_news:before { + content: "\e60a"; +} + .icon_optimise:before { content: "\e609"; } diff --git a/src/main/site/index.html b/src/main/site/index.html index 43f615842..042767cdb 100644 --- a/src/main/site/index.html +++ b/src/main/site/index.html @@ -42,11 +42,13 @@
  • Overview
  • Get started
  • +
  • News
  • Tutorials
  • Docs
  • Resources
  • Make GWT Better
  • Terms
  • +
  • Eco System
  • Download
  • Java Doc
  • @@ -117,17 +119,14 @@

    GWT pronounced «gwit»

    -

    GWT is the official open source project for GWT releases 2.5 and - onwards.

    +

    GWT is the official open source project for GWT releases 2.5 and onwards.

    This site houses links to the documentation, source code - repository, issues list and - information related to GWT roadmap and release.

    + repository, issues list and information related to GWT roadmap and release and the GWT eco system.

    It is intended for developers interested in contributing to GWT, - and for keeping people - informed on new and upcoming changes to GWT, GWT related events - and other news.

    + and for keeping people informed on new and upcoming changes to GWT, GWT related events, + GWT related projects and other news.

    From 4bb704a7693c3530f1744dcf006ca618af06bc90 Mon Sep 17 00:00:00 2001 From: Frank Hossfeld Date: Sat, 16 Dec 2023 12:13:56 +0100 Subject: [PATCH 03/10] remove word --- src/main/markdown/doc/latest/DevGuideMvpActivitiesAndPlaces.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/markdown/doc/latest/DevGuideMvpActivitiesAndPlaces.md b/src/main/markdown/doc/latest/DevGuideMvpActivitiesAndPlaces.md index f1a1d46e4..12be7f982 100644 --- a/src/main/markdown/doc/latest/DevGuideMvpActivitiesAndPlaces.md +++ b/src/main/markdown/doc/latest/DevGuideMvpActivitiesAndPlaces.md @@ -17,7 +17,7 @@ familiar with MVP, you may want to read these articles first: * [Large scale application development and MVP, Part II](../../articles/mvp-architecture-2.html) Note:
    -Besides MVP Activities and Places, there are other third party implementations for managing browser history management. Take a look [here](/eco/application.html). +Besides MVP Activities and Places, there are other third party implementations for managing browser history. Take a look [here](/eco/application.html). **Definitions** From f6507ef84d5550bfb149a8748a119764791ae200 Mon Sep 17 00:00:00 2001 From: Frank Hossfeld Date: Sun, 17 Dec 2023 09:51:47 +0100 Subject: [PATCH 04/10] review feedback --- src/main/markdown/eco/application.md | 10 +++++----- src/main/markdown/eco/archetype.md | 12 ++++++------ src/main/markdown/eco/com-and-more.md | 4 ++-- src/main/markdown/eco/ui.md | 8 ++++---- src/main/markdown/news.md | 18 ++++++++++++++++++ src/main/resources/toc.md | 2 +- 6 files changed, 36 insertions(+), 18 deletions(-) diff --git a/src/main/markdown/eco/application.md b/src/main/markdown/eco/application.md index 2a5ddcc47..86ad59b98 100644 --- a/src/main/markdown/eco/application.md +++ b/src/main/markdown/eco/application.md @@ -4,7 +4,7 @@ One of the main tasks, when writing a GWT application is separating the code and [MVP Activities and Places](/doc/latest/DevGuideMvpActivitiesAndPlaces.html) modules to do that. Over the time other implementations evolved. -## domino-mvp and domino-historie +## domino-mvp and domino-history Domino-mvp is a small, simple and a very lightweight framework for building both simple and complex applications using GWT, it introduce the concept of routing using both tokens and events, also allows the developers to write a modular @@ -12,9 +12,9 @@ application and shared components with any other domino application. For more information about domino-mvp, see: [domino-mvp at GitHub](https://github.com/DominoKit/domino-mvp) -Domino-historie is a wrapper for the browser history state API. +Domino-history is a wrapper for the browser history state API. -For more information about domino-history, see: [domino-history at GitHub](https://github.com/DominoKit/domino-history) +For more information about domino-history, see: [domino-history at GitHub](https://dominokit.com/solutions/domino-history/v1) ## Nalu @@ -22,7 +22,7 @@ Nalu is a tiny framework that helps you to create GWT based applications quite e routing and navigation, Nalu supports the browser's back-, forward-, and reload-button by default and without any need to implement anything. -For more information about domino-history, see: [Nalu at GitHub](https://github.com/NaluKit/nalu) +For more information about Nalu, see: [Nalu at GitHub](https://github.com/NaluKit/nalu) ## Support @@ -31,4 +31,4 @@ contact the contributor of the project! ## Missing Something? -If you are missing something, following the instructions located [here](add-lib.html). \ No newline at end of file +If you are missing a library or a framework from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file diff --git a/src/main/markdown/eco/archetype.md b/src/main/markdown/eco/archetype.md index a0a31e92f..e2fb62e42 100644 --- a/src/main/markdown/eco/archetype.md +++ b/src/main/markdown/eco/archetype.md @@ -1,15 +1,15 @@ -# Archetypes Creator +# Creating GWT applications -The GWT framework comes with an archetype creator known as **webAppCreator**. This **webAppCreator** creates +The GWT framework comes with an application creator known as **webAppCreator**. This **webAppCreator** creates a simple Maven project with some test code. It is ready use, will launch and while running, do a RPC server call. All classes are located in one Maven project. -Besides the **webAppCreator** there are more archetypes creator. Depending on your needs, this archetype creator might be +Besides the **webAppCreator** there are more application creator. Depending on your needs, this archetype creator might be a better choice for your needs. -## Creators +## Application Creators -Here are a list of archetype creator. As far as we known, all of this projects are under active development. +Here are a list of application creator. As far as we known, all of this projects are under active development. ### gwt-maven-archetypes @@ -43,4 +43,4 @@ contact the contributor of the project! ## Missing Something? -If you are missing an archetype creator, following the instructions located [here](add-lib.html). \ No newline at end of file +If you are missing a library or a archetype creator from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file diff --git a/src/main/markdown/eco/com-and-more.md b/src/main/markdown/eco/com-and-more.md index 8f92df9b8..e82e006e8 100644 --- a/src/main/markdown/eco/com-and-more.md +++ b/src/main/markdown/eco/com-and-more.md @@ -18,7 +18,7 @@ from both client side -browser- using GWT and on the server. The lib works with serialization and deserialization is based on domino-jackson and service definition is based on JaxRs annotations, while code generation uses annotation processing APT. -For more information see: [domino-rest at GitHub](https://github.com/DominoKit/domino-rest) +For more information see: [domino-rest at GitHub](https://dominokit.com/solutions/domino-rest/v1) and [domino-jackson at GitHub](https://dominokit.com/solutions/domino-jackson/v1) ## Validation @@ -54,4 +54,4 @@ contact the contributor of the project! ## Missing Something? -If you are missing something, following the instructions located [here](add-lib.html). \ No newline at end of file +If you are missing a library or a framework from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file diff --git a/src/main/markdown/eco/ui.md b/src/main/markdown/eco/ui.md index b9306a343..f426895b3 100644 --- a/src/main/markdown/eco/ui.md +++ b/src/main/markdown/eco/ui.md @@ -12,7 +12,7 @@ you have the power to refactor and keep your app maintainable all the time, but with the mature set of all tool chain java can provide, this include extremely powerful IDEs and mature build tools like maven and gradle, use domino-ui and bring your java team to the frontend world. -For more information about domino-ui, see: [domino-ui at GitHub](https://github.com/DominoKit/domino-mvp) +For more information about domino-ui, see: [domino-ui at GitHub](https://dominokit.com/solutions/domino-ui/v2) ## elemento @@ -25,14 +25,14 @@ Elemento simplifies working with GWT Elemental2. In a nutshell Elemento brings t - Elemental2 1.1.0 (elemental2-core, elemental2-dom and elemental2-webstorage) - GWT project (org.gwtproject.event:gwt-event and org.gwtproject.safehtml:gwt-safehtml) -For more information about domino-ui, see: [elemento at GitHub](https://github.com/hal/elemento) +For more information about elemento, see: [elemento at GitHub](https://github.com/hal/elemento) ## gwt-ol With gwt-ol you can write fast mapping applications for web and mobile in pure Java. Technically speaking, it is a GWT wrapper for OpenLayers 3+ using the JSInterop-Features of the GWT-SDK. -For more information about domino-ui, see: [gwt-ol at GitHub](https://github.com/TDesjardins/gwt-ol) +For more information about gwt-ol, see: [gwt-ol at GitHub](https://github.com/TDesjardins/gwt-ol) ## Support @@ -41,4 +41,4 @@ contact the contributor of the project! ## Missing Something? -If you are missing something, following the instructions located [here](add-lib.html). \ No newline at end of file +If you are missing a library or a framework from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file diff --git a/src/main/markdown/news.md b/src/main/markdown/news.md index eb5176920..814b93e59 100644 --- a/src/main/markdown/news.md +++ b/src/main/markdown/news.md @@ -50,6 +50,24 @@ News of the GWT eco system will be found [here](eco/eco-news.html).
    + +
    + New information available! +
    +
    +
    + December 18, 2023 +
    +
    + We added information of the GWT Eco System. The GWT Eco System is an essential part of the GWT. It provides many frameworks that speed up GWT development or add new features. This page will give someone interested in GWT a better overview. +
    + + + +
    +
    GWT: we are looking for reviewers! diff --git a/src/main/resources/toc.md b/src/main/resources/toc.md index 9e50da90f..54c8a03ba 100644 --- a/src/main/resources/toc.md +++ b/src/main/resources/toc.md @@ -150,7 +150,7 @@ - [Eco System](eco/eco-system.html) - [Eco System](eco/eco-system.html) - [News](eco/eco-news.html) - - [Archetype Creator](eco/archetype.html) - [Communication & More](eco/com-and-more.html) + - [Application Creator](eco/archetype.html) - [Application Frameworks](eco/application.html) - [UI Frameworks](eco/ui.html) From 893d82aec2dd4dc1ebe0a3aefecc082fa04127bd Mon Sep 17 00:00:00 2001 From: Frank Hossfeld Date: Mon, 18 Dec 2023 21:36:26 +0100 Subject: [PATCH 05/10] update communication --- src/main/markdown/eco/add-lib.md | 7 ++++--- src/main/markdown/eco/eco-news.md | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/markdown/eco/add-lib.md b/src/main/markdown/eco/add-lib.md index 762f62c2d..ff5f28fa8 100644 --- a/src/main/markdown/eco/add-lib.md +++ b/src/main/markdown/eco/add-lib.md @@ -5,8 +5,8 @@ We will add or update information on request. ## Request for adding Libraries to the Eco System site The GWT eco system is a living system. New libs will be created, other will be end of life. Also we know, that there are -much more libraries outside. If you think, one library not listed here is worth to be mentioned, open an issue -[here](https://github.com/gwtproject/gwt-site). This will trigger a process to get mentioned in the eco system content. +much more libraries outside. If you think, one library not listed here is worth to be mentioned, [open an issue +on our tracker](https://github.com/gwtproject/gwt-site/issues/new/choose). This will trigger a process to get mentioned in the eco system content. We will expect: @@ -19,7 +19,8 @@ We will expect: ## Request for updating Library-Information -To update information of an already added library, open an issue [here](https://github.com/gwtproject/gwt-site) +To update information of an already added library, [open an issue +on our tracker](https://github.com/gwtproject/gwt-site/issues/new/choose) containing the desired changes. Changes can only be requested from contributor of the library. \ No newline at end of file diff --git a/src/main/markdown/eco/eco-news.md b/src/main/markdown/eco/eco-news.md index 679128f59..dc716ef81 100644 --- a/src/main/markdown/eco/eco-news.md +++ b/src/main/markdown/eco/eco-news.md @@ -1,8 +1,8 @@ GWT News === -This news page is the source for updates from GWT related projects. Maintainers have to create an -[issue](https://github.com/gwtproject/gwt-site/issues) to add a news on this page. +This news page is the source for updates from GWT related projects. Maintainers have to [open an issue +on our tracker](https://github.com/gwtproject/gwt-site/issues/new/choose) to add or update a news on this page. Updates about the official GWT team will be found [here](news.html). From d131fb1d6286e040a51ed8d4a9c0f1a7457999a5 Mon Sep 17 00:00:00 2001 From: Frank Hossfeld Date: Tue, 19 Dec 2023 11:22:16 +0100 Subject: [PATCH 06/10] Update src/main/markdown/eco/com-and-more.md Co-authored-by: Colin Alworth --- src/main/markdown/eco/com-and-more.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/markdown/eco/com-and-more.md b/src/main/markdown/eco/com-and-more.md index e82e006e8..99b51bfeb 100644 --- a/src/main/markdown/eco/com-and-more.md +++ b/src/main/markdown/eco/com-and-more.md @@ -49,7 +49,7 @@ For more information, see: [gwt-bean-validators at GitLab](https://gitlab.com/Ma ## Support -The GWT project team does not support this projects. In case you have questions or would like to open an issue, please +The GWT project team does not support these projects. In case you have questions or would like to open an issue, please contact the contributor of the project! ## Missing Something? From 09769be4eb8b3e39798f9e0b86d383373f065029 Mon Sep 17 00:00:00 2001 From: Frank Hossfeld Date: Tue, 19 Dec 2023 11:22:28 +0100 Subject: [PATCH 07/10] Update src/main/markdown/eco/com-and-more.md Co-authored-by: Colin Alworth --- src/main/markdown/eco/com-and-more.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/markdown/eco/com-and-more.md b/src/main/markdown/eco/com-and-more.md index 99b51bfeb..423b23ddd 100644 --- a/src/main/markdown/eco/com-and-more.md +++ b/src/main/markdown/eco/com-and-more.md @@ -40,7 +40,7 @@ and Java. For more information, see: [malio at GitHub](https://github.com/NaluKit/malio) -### gwt-bean-validators +### gwt-bean-validators Implementation of Bean Validation (JSR-303/JSR-349/JSR-380) for GWT as replacement of deprecated GWT internal validation implementation. From f11a5952bbed22916a4cccbb0410111ddfa1e62e Mon Sep 17 00:00:00 2001 From: Frank Hossfeld Date: Tue, 19 Dec 2023 11:29:23 +0100 Subject: [PATCH 08/10] review feedback --- src/main/markdown/eco/add-lib.md | 21 ++++++++------------- src/main/markdown/eco/archetype.md | 2 +- src/main/markdown/eco/com-and-more.md | 2 +- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/main/markdown/eco/add-lib.md b/src/main/markdown/eco/add-lib.md index ff5f28fa8..f04a36d08 100644 --- a/src/main/markdown/eco/add-lib.md +++ b/src/main/markdown/eco/add-lib.md @@ -4,23 +4,18 @@ We will add or update information on request. ## Request for adding Libraries to the Eco System site -The GWT eco system is a living system. New libs will be created, other will be end of life. Also we know, that there are -much more libraries outside. If you think, one library not listed here is worth to be mentioned, [open an issue +The GWT eco system is a living system. New dependency will be created, other will be end of life. Also we know, that there are +much more dependency outside. If you think, one dependency not listed here is worth to be mentioned, [open an issue on our tracker](https://github.com/gwtproject/gwt-site/issues/new/choose). This will trigger a process to get mentioned in the eco system content. We will expect: -* The Issue must be created by a contributor of the library -* The Library must be under active development -* The Library must be well documented -* The Library must be deployed to Maven central -* The Library must be an Open Source project -* The Library requires a Apache 2 Licence +* The dependency must be maintained +* The dependency must be well documented +* The dependency must be deployed to Maven central +* The dependency must be an Open Source project ## Request for updating Library-Information -To update information of an already added library, [open an issue -on our tracker](https://github.com/gwtproject/gwt-site/issues/new/choose) -containing the desired changes. - -Changes can only be requested from contributor of the library. \ No newline at end of file +To update information of an already added dependency, [open an issue +on our tracker](https://github.com/gwtproject/gwt-site/issues/new/choose) containing the desired changes. \ No newline at end of file diff --git a/src/main/markdown/eco/archetype.md b/src/main/markdown/eco/archetype.md index e2fb62e42..fbf4ccd61 100644 --- a/src/main/markdown/eco/archetype.md +++ b/src/main/markdown/eco/archetype.md @@ -29,7 +29,7 @@ you are planing to use Spring Boot on the server side, this is a prefect archety For more information visit the archetype at [gwt-maven-springboot-archetype at GitHub](https://github.com/NaluKit/gwt-maven-springboot-archetype) and follow the instructions. -### domino-cli +### domino-cli The domino-cli provides a tool for generating application templates using the DominoKit tool stack. diff --git a/src/main/markdown/eco/com-and-more.md b/src/main/markdown/eco/com-and-more.md index e82e006e8..99b51bfeb 100644 --- a/src/main/markdown/eco/com-and-more.md +++ b/src/main/markdown/eco/com-and-more.md @@ -49,7 +49,7 @@ For more information, see: [gwt-bean-validators at GitLab](https://gitlab.com/Ma ## Support -The GWT project team does not support this projects. In case you have questions or would like to open an issue, please +The GWT project team does not support these projects. In case you have questions or would like to open an issue, please contact the contributor of the project! ## Missing Something? From 87188694ea0e90f7f42bcb1d0ba78818b497510d Mon Sep 17 00:00:00 2001 From: Frank Hossfeld Date: Wed, 27 Dec 2023 12:30:28 +0100 Subject: [PATCH 09/10] review feedback --- src/main/markdown/eco/add-lib.md | 2 +- src/main/markdown/eco/application.md | 2 +- src/main/markdown/eco/archetype.md | 4 ++-- src/main/markdown/eco/com-and-more.md | 2 +- src/main/markdown/eco/eco-system.md | 23 ++++++++++++----------- src/main/markdown/eco/ui.md | 2 +- 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/main/markdown/eco/add-lib.md b/src/main/markdown/eco/add-lib.md index f04a36d08..f793c4b3e 100644 --- a/src/main/markdown/eco/add-lib.md +++ b/src/main/markdown/eco/add-lib.md @@ -2,7 +2,7 @@ We will add or update information on request. -## Request for adding Libraries to the Eco System site +## Request for adding Dependencies to the Eco System site The GWT eco system is a living system. New dependency will be created, other will be end of life. Also we know, that there are much more dependency outside. If you think, one dependency not listed here is worth to be mentioned, [open an issue diff --git a/src/main/markdown/eco/application.md b/src/main/markdown/eco/application.md index 86ad59b98..d64114bcb 100644 --- a/src/main/markdown/eco/application.md +++ b/src/main/markdown/eco/application.md @@ -31,4 +31,4 @@ contact the contributor of the project! ## Missing Something? -If you are missing a library or a framework from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file +If you are missing a dependency or a framework from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file diff --git a/src/main/markdown/eco/archetype.md b/src/main/markdown/eco/archetype.md index fbf4ccd61..fc6434149 100644 --- a/src/main/markdown/eco/archetype.md +++ b/src/main/markdown/eco/archetype.md @@ -29,7 +29,7 @@ you are planing to use Spring Boot on the server side, this is a prefect archety For more information visit the archetype at [gwt-maven-springboot-archetype at GitHub](https://github.com/NaluKit/gwt-maven-springboot-archetype) and follow the instructions. -### domino-cli +### domino-cli The domino-cli provides a tool for generating application templates using the DominoKit tool stack. @@ -43,4 +43,4 @@ contact the contributor of the project! ## Missing Something? -If you are missing a library or a archetype creator from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file +If you are missing a dependency or a archetype creator from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file diff --git a/src/main/markdown/eco/com-and-more.md b/src/main/markdown/eco/com-and-more.md index 423b23ddd..100826ce1 100644 --- a/src/main/markdown/eco/com-and-more.md +++ b/src/main/markdown/eco/com-and-more.md @@ -54,4 +54,4 @@ contact the contributor of the project! ## Missing Something? -If you are missing a library or a framework from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file +If you are missing a dependency or a framework from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file diff --git a/src/main/markdown/eco/eco-system.md b/src/main/markdown/eco/eco-system.md index e5a2f10f4..74e42baf2 100644 --- a/src/main/markdown/eco/eco-system.md +++ b/src/main/markdown/eco/eco-system.md @@ -1,8 +1,9 @@ # GWT Eco System -Today, the GWT eco system is not only that, what comes with the framework. Usually, projects use a lot of third party -libraries to improve there development experience, add features or prefer a different approach to do things. But, before -we start a little history of GWT, the current state and a foresight: +Today, the GWT eco system is not only that, what comes with the framework. Usually, projects use a lot of third party +dependencies to improve there development experience, add features or prefer a different approach to do things. + +But, before we start a little history of GWT, the current state and a foresight: ## History @@ -13,17 +14,17 @@ optimized and obfuscated JavaScript. In 2006, as GWT emerges, things were different. JavaScript depends on the browser and Java were in an early state of evolution. That's one of the reasons why we have permutations and generators in GWT. Also there no -third-party-libs. Everything had to be provided by the framework. With GWT 2, a lot of new modules like: editor, uibinder, etc. -were added to the framework. +third-party-dependencies. Everything had to be provided by the framework. With GWT 2, a lot of new modules like: editor, uibinder, etc. +were added to the SDK. Today, things are different. Java has evolved. New language feature, annotation processors, etc. are state of the art -and the gaps of the JavaScript engines in the browser are no longer a pain point. Third party libraries add a lot of +and the gaps of the JavaScript engines in the different browser are no longer a pain point. Third party dependencies add a lot of things that GWT does not cover or offer an alternative implementation of existing implementations. Also, Google transfers the lead of the GWT project to an Open Source community. Looking at the next generation transpiler from Google (J2CL) there are no longer permutations, generators or modules -available. Today, It is only a transpiler. In preparation of using this new transpiler and keeping in mind the huge +available. Today, it is only a transpiler. In preparation of using this new transpiler and keeping in mind the huge amount of legacy applications the community starts to migrate the GWT modules in 2019. These migrated modules no longer use generators (instead they are using annotation processors) and JSNI (JavaScript Native Interface). Now, they are using JsInterop. On the long term, using this new modules, will enable applications to switch to the new transpiler @@ -244,16 +245,16 @@ are located inside **org.gwtproject.editor**. ## Releases GWT 2.10.0 removes the permutation for IE8, IE9 and IE10 and was the first release that had a new **groupId**. Besides -the old groupId **com.google.gwt**, GWT can also be loaded with the new groubId: **org.gwtproject**. Starting from 2.11.0 +the old groupId **com.google.gwt**, GWT can also be loaded with the new groupId: **org.gwtproject**. Starting from 2.11.0 GWT will only be available under the groupId of **org.gwtproject**. GWT 2.11.0 will be the first release that requires Java 11! -Currently we have started the work on GWT 2.12.0. This release will focus on implementing new Java Language features. +Currently we have started the work on GWT 2.12.0. This release will focus on implementing new Java Language features. See the [roadmap](/oadmap.html) for more information. -## Third Party Libraries +## Third Party Dependencies -Besides the GWT framework many third party libraries occurred. These libraries add new features to GWT or offer different +Besides the GWT framework many third party dependencies occurred. These dependencies add new features to GWT or offer different approaches to do something in GWT. It might be worth to take look: * [Archetype Creation](archetype.html) diff --git a/src/main/markdown/eco/ui.md b/src/main/markdown/eco/ui.md index f426895b3..664d1cc38 100644 --- a/src/main/markdown/eco/ui.md +++ b/src/main/markdown/eco/ui.md @@ -41,4 +41,4 @@ contact the contributor of the project! ## Missing Something? -If you are missing a library or a framework from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file +If you are missing a dependency or a framework from the list, please follow the instructions [here](add-lib.html) to add it. \ No newline at end of file From 45503e23a79d5d9a77cd4fcb899a93dcd3d00f70 Mon Sep 17 00:00:00 2001 From: Frank Hossfeld Date: Mon, 8 Jan 2024 18:28:45 +0100 Subject: [PATCH 10/10] review feedback --- src/main/markdown/eco/eco-news.md | 4 ---- src/main/markdown/eco/eco-system.md | 22 +++++++++++++++------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/main/markdown/eco/eco-news.md b/src/main/markdown/eco/eco-news.md index dc716ef81..62436303a 100644 --- a/src/main/markdown/eco/eco-news.md +++ b/src/main/markdown/eco/eco-news.md @@ -159,7 +159,3 @@ Updates about the official GWT team will be found [here](news.html).
    - - - - diff --git a/src/main/markdown/eco/eco-system.md b/src/main/markdown/eco/eco-system.md index 74e42baf2..c376c23e5 100644 --- a/src/main/markdown/eco/eco-system.md +++ b/src/main/markdown/eco/eco-system.md @@ -1,6 +1,6 @@ -# GWT Eco System +# GWT Ecosystem -Today, the GWT eco system is not only that, what comes with the framework. Usually, projects use a lot of third party +Today, the GWT ecosystem is not only what comes with the framework. Usually, projects use a lot of third party dependencies to improve there development experience, add features or prefer a different approach to do things. But, before we start a little history of GWT, the current state and a foresight: @@ -9,19 +9,19 @@ But, before we start a little history of GWT, the current state and a foresight: First and foremost, GWT is a Java to JavaScript transpiler. The basic idea is to use a type-safe and object oriented language to create applications which can ran natively in the browser. During development, developers benefit from the -existing Java tool chain, powerful IDEs and awesome refactoring abilities. In production the transpiler creates highly +existing Java toolchain, powerful IDEs and awesome refactoring abilities. In production the transpiler creates highly optimized and obfuscated JavaScript. In 2006, as GWT emerges, things were different. JavaScript depends on the browser and Java were in an early state of evolution. That's one of the reasons why we have permutations and generators in GWT. Also there no -third-party-dependencies. Everything had to be provided by the framework. With GWT 2, a lot of new modules like: editor, uibinder, etc. +third-party-dependencies. Everything had to be provided by the framework. With GWT 2, a lot of new modules like: editor, uibinder, etc. were added to the SDK. Today, things are different. Java has evolved. New language feature, annotation processors, etc. are state of the art and the gaps of the JavaScript engines in the different browser are no longer a pain point. Third party dependencies add a lot of things that GWT does not cover or offer an alternative implementation of existing implementations. -Also, Google transfers the lead of the GWT project to an Open Source community. +Also, Google transfers control of the GWT project the Open Source community. Looking at the next generation transpiler from Google (J2CL) there are no longer permutations, generators or modules available. Today, it is only a transpiler. In preparation of using this new transpiler and keeping in mind the huge @@ -30,6 +30,12 @@ use generators (instead they are using annotation processors) and JSNI (JavaScri using JsInterop. On the long term, using this new modules, will enable applications to switch to the new transpiler very smoothly. +Besides that, modules have more benefits: + +* Releasing a module is not depending on a GWT release. Changes get faster in production. +* Modules can remove old code. Application using the modules need to adopt, while applications using `com.google.gwt`-modules don't. +* Modules can improve the API without forcing legacy code (which are using the `com.google.gwt`-modules) to update. + ### List of Modules