Hello Lofi,

Some loose comments:

- Another great advantage I enjoy is that I don't need Maven. Can you
rewrite your example _without_ depending on Maven? And without using a
library that relies on annotations?

- VisualStudio code is great for Java and JavaScript. You can also use
Eclipse with Java and JavaScript, but it is not as fast.

- Design patterns are language independent. You can use them with Java,
TypeScript, C++ or whatever you like.

- Although there tons of libraries you can use on the server side, Java has
limited options as a client in a browser. For example, in one of my
projects I need to display a PDF in the browser and manipulate its text
content depending on certain user actions; there aren't Java libraries that
can work in the browser and are good enough for the task.

Regards,
Rodolfo


On Mon, Sep 28, 2020 at 7:09 PM [email protected] <[email protected]>
wrote:

> OK, now I understand you 😉
>
> Yes, we always have to separate the Client and the Server part. This is
> also GWT best practice.
>
> But if you are using JavaScript on browser you lose the advantages like:
>
>    1. We use *Java* as the language
>    2. We have the best *ecosystem* like libraries, frameworks, build
>    system and IDEs.
>    3. We know best design patterns to make our apps maintainable like
>    Dependency Injection, Mock Testing and many other just take a look at:
>    http://bit.ly/DesignPatternsJava
>    4. … and if you use Java on the server-side with *Spring Framework* or
>    *JavaEE* you have *one language* through the whole stack. So, you
>    could reuse Validation APIs, Business Rules, Business Model, etc. from
>    server to client.
>
> I've built this sample project:
> https://github.com/gwtboot/domino-rest-enum-date to show some reuse for
> Client and Server and I plan to write more articles on this topic:
> Dependency Injection, Mocking Test, Validation API, Business Rules - all
> from Server to Client.
>
> This type of reuse cannot be done if you are using JavaScript / TypeScript
> on the web browser...
>
> Thanks,
> Lofi
> [email protected] schrieb am Montag, 28. September 2020 um 23:20:23 UTC+2:
>
>> If the server part is a Java servlet that handles REST calls, there is no
>> need for GWT at all. No need to deal with JSInterop and no need to deal
>> with annotations, that's cleaner code!
>>
>> If you have a server that exposes a REST API, you can write the client in
>> anything. JavaScript is great in the browser and TypeScript improves the
>> coding experience while sharing direct use of JavaScript libraries.
>>
>> Running a Java client in the browser implies extra steps and
>> complications. First and foremost, you can't mix Java and JavaScript
>> libraries without wasting a lot of time with compatibility layers. That is,
>> at least for me, the greatest advantage of using JavaScript in the browser.
>>
>> The number of libraries available for JavaScript outnumbers by orders of
>> magnitude the available libraries you can use with Java in the browser.
>>
>> Java is a very useful language, but it's not the best one for writing
>> code that runs in a web browser.
>>
>> Regards,
>> Rodolfo
>>
>>
>>
>>
>>
>> On Mon, Sep 28, 2020 at 5:55 PM [email protected] <[email protected]>
>> wrote:
>>
>>> I'm not sure whether I follow you... what is the difference using Java /
>>> GWT + REST and TypeScript + REST... The server part is the same. The web
>>> browser part is also the same. The difference is only the language and
>>> ecosystem you use on the web browser...
>>>
>>> Thanks,
>>> Lofi
>>>
>>> [email protected] schrieb am Montag, 28. September 2020 um 18:02:03
>>> UTC+2:
>>>
>>>> Hi Lofi,
>>>>
>>>> I once used GWT + Electron + Materialize running with Jetty. That
>>>> worked, but after getting rid of GWT the code was much cleaner.
>>>>
>>>> Class com.sun.net.httpserver.HttpServer is more than enough for running
>>>> a Java server with REST interface on the desktop.
>>>>
>>>> Another advantage of moving away from GWT is that I don't need to work
>>>> with JSInterop and things that require annotations in the Java code.
>>>> Creating a REST servlet in plain Java is quite straightforward.
>>>>
>>>> Regards,
>>>> Rodolfo
>>>>
>>>>
>>>>
>>>> On Mon, Sep 28, 2020 at 12:46 PM [email protected] <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi Rodolfo,
>>>>>
>>>>> thanks a lot for the feedbacks!
>>>>>
>>>>> TypeScript is not bad. After all it's coming from Anders Helsjberg
>>>>> creator of Turbo Pascal, Delphi, VisualJ++, C#. He is a great language
>>>>> designer... 😉
>>>>>
>>>>> But actually you could use GWT to build an Electron app as you don't
>>>>> need to have a Java server for the transpiled code... or did you have
>>>>> something extra?
>>>>> *@Frankhossfeld* told me that he has done Electron app with GWT, very
>>>>> easy 😉 Maybe he could elaborate here...
>>>>>
>>>>> I never use GXT but I've used GWTBootstrap3 (Open-Source) and actually
>>>>> it was very easy to use, quite the same with using the integrated GWT
>>>>> widgets. Today Dmitrii has migrated *GWTBootstrap3 to Elemental2* (
>>>>> https://github.com/treblereel/gwtbootstrap3). And the cool thing is
>>>>> that for the app devs, it doesn't change anything. You could use the same
>>>>> components and nothing has changed, only deep in the framework itself it
>>>>> uses Elemental2 instead the older technology... Maybe *@Dmitrii*
>>>>> could elaborate this...
>>>>>
>>>>> Thanks,
>>>>> Lofi
>>>>>
>>>>>
>>>>>
>>>>> [email protected] schrieb am Montag, 28. September 2020 um 12:36:03
>>>>> UTC+2:
>>>>>
>>>>>> Hello Lofi,
>>>>>>
>>>>>> Java + GWT + GXT + Eclipse was my main toolkit for over a decade.
>>>>>> When Sencha went crazy with the price of license renewals, I started
>>>>>> looking for alternatives.
>>>>>>
>>>>>> Today my toolkit has changed to Java for backend/server side,
>>>>>> TypeScript for client side and Visual Studio Code for code development.
>>>>>> Communication between Java server and TypeScript UI is handled via REST
>>>>>> interface.
>>>>>>
>>>>>> Now I'm free to choose any UI style I like, my code has simplified a
>>>>>> lot and there is a clearer separation between server and client code. 
>>>>>> There
>>>>>> are no license costs and I don't have to deal with GWT and GXT, except 
>>>>>> for
>>>>>> an old project I still have to maintain.
>>>>>>
>>>>>> The switch to JavaScript/TypeScript gave me a huge advantage: now I
>>>>>> can use ElectronJS to create cross-platform desktop apps that are 
>>>>>> actually
>>>>>> web apps running on a local Java server.
>>>>>>
>>>>>> I don't regret moving away from GWT + GXT. Actually, I'm quite happy
>>>>>> with the refreshed coding experience.
>>>>>>
>>>>>> Regards,
>>>>>> Rodolfo M. Raya
>>>>>>
>>>>>>
>>>>>> On Thu, Sep 24, 2020 at 4:02 PM [email protected] <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> I would like to know, what are the *obstacles* for you as *Java
>>>>>>> developers* not using *Java as programming language for writing Web
>>>>>>> browser apps*. Web browser apps are client-side and *not
>>>>>>> server-side* Web apps.
>>>>>>>
>>>>>>>    - Open discussion at https://bit.ly/HackerNewsTypeScriptJavaGWT
>>>>>>>    - Article at https://bit.ly/TypeScriptVsJavaGWT
>>>>>>>
>>>>>>> I would like to know from you... Java developers...
>>>>>>>
>>>>>>> Thanks, Lofi
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> 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/b099f262-5a83-4a1e-83d8-5cc6ef336e53n%40googlegroups.com
>>>>>>> <https://groups.google.com/d/msgid/google-web-toolkit/b099f262-5a83-4a1e-83d8-5cc6ef336e53n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>> 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/8dc3253a-a818-49b1-8e63-65492fb39d90n%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/google-web-toolkit/8dc3253a-a818-49b1-8e63-65492fb39d90n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>
>>>>
>>>> --
>>>> Rodolfo M. Raya <[email protected]>
>>>> http://www.maxprograms.com
>>>>
>>> --
>>> 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/01f21223-57f0-472b-831f-a213478d426en%40googlegroups.com
>>> <https://groups.google.com/d/msgid/google-web-toolkit/01f21223-57f0-472b-831f-a213478d426en%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
>>
>> --
>> Rodolfo M. Raya <[email protected]>
>> http://www.maxprograms.com
>>
> --
> 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/06eaa3dd-33bf-4545-8e85-6b22d3e3f595n%40googlegroups.com
> <https://groups.google.com/d/msgid/google-web-toolkit/06eaa3dd-33bf-4545-8e85-6b22d3e3f595n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Rodolfo M. Raya <[email protected]>
http://www.maxprograms.com

-- 
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/CALr%2Bh%2BvRkbU0RJBSFdSF_ieF6nU6sHvjCAz0wkDcRWK1gtWP9Q%40mail.gmail.com.

Reply via email to