There are various technical approaches to building GUI clients. The devonfw proposes rich clients that connect to the server via data-oriented services (e.g. using REST with JSON). In general, we have to distinguish among the following types of clients:
-
web clients
-
native desktop clients
-
(native) mobile clients
Our main focus is on web-clients. In our sample application my-thai-star we offer a responsive web-client based on Angular following devon4ng that integrates seamlessly with the back ends of my-thai-star available for Java using devon4j as well as .NET/C# using devon4net. For building angular clients read the separate devon4ng guide.
In order to get started with client development as a Java developer we give you some hints to get started. Also if you are an experienced JavaScript developer and want to learn Java this can be helpful. First, you need to understand that the JavaScript ecosystem is as large as the Java ecosystem and developing a modern web client requires a lot of knowledge. The following table helps you as experienced developer to get an overview of the tools, configuration-files, and other related aspects from the new world to learn. Also it helps you to map concepts between the ecosystems. Please note that we list the tools recommended by devonfw here (and we know that there are alternatives not listed here such as gradle, grunt, bower, etc.).
Topic | Aspect | JavaScript | Java |
---|---|---|---|
Programming |
Language |
TypeScript (extends JavaScript) |
|
Runtime |
VM |
nodejs (or web-browser) |
|
Build- & Dependency-Management |
Tool |
||
Config |
|||
Repository |
|||
Build cmd |
|
||
Test cmd |
|
mvn test |
|
Test-Tool |
|||
Test-Runner |
|||
E2E Testing |
|||
Code Analysis |
Code Coverage |
||
Development |
IDE |
||
Framework |
Angular (etc.) |