Hi, I see that everyone leaves 2c, so I will do the same.
But before few words about my background - 6 years with GWT+SmartGWT and now 3 years with VueJS + Vuetify + Typescript.
Definitely, it's much faster to prototype an application using VueJS.
To manage the state(Vuex) and routes(vue-router) is simple and does not matter what UI components you are going to use.
But, in the long-term development, I see that maven is better than npm - simpler to set up a multimodule project with some common settings and dependencies.
In JS world npm does not support modules. Yarn workspaces help a bit but it works just for private projects(no way to deploy it to the remote repository).
Typescript helps to write a code but in 99% of cases, 3rd libraries contain only d.ts files without Javadoc. So, you need to open a website with documentation because it's not clear what the library does.
Refactoring - forget. Event idea can't properly resolve usages of your methods.
After webpack to understand where has the error happened it's like a mission impossible.
Testing - better to write functional code because to mock classes is not so easy as with mockito or easymock.
With JS/TS you write code slower because IDE does not resolve or properly resolve what to import, especially if code comes from another module.
So, in long term, I guess GWT provides better and simple development and support.
середа, 23 грудня 2020 р. о 09:16:49 UTC+1 vas...@gmail.com пише:
Hm the thread was about why not using java for frontend development but now has general tips for GWT.
The padlet is cool. Thanks for assembling it.
My 2c.
I have used GWT RPC in the past but I was not happy with it. The main reason was that I couldn't decouple server and client from GWT dependencies. The closest you could make was with an intermediate project that hosted the interface files.
The issue was solved for me with RestyGWT in the client and Apache CXF/Rest in the server. Totally separate and the only files I share are my POJO files.
Sharing POJO definitions between client and server is the biggest advantage of GWT for me along with static typing in the frontend. Can't live without these two.
Maybe there is a way to automatically create or define POJOs that is language independent so I could completely decouple frontend from backend. I haven't found such a way that is not completely dynamic and which throws the IDE search and usage features out of the window.
Hope that helps.
Vassilis
Some tips I could say:- GWT is a transpiler / compiler to JavaScript, so the result only runs on Web browser, no server component. Server container or Web server only used for delivering the HTML, JS and CSS. So actually you could just use the result JS from the file system and make a double click on the HTML file to open your web app (JS).
- The simplest example I build is the Java Calculator from this article: http://bit.ly/WebJavaStory. In this simple Maven example you can see how to run the web app, how to code, transpile and unit test and also to debug the simple calculator all with web browser.
I'm using GWT since 2006 / 2007 and until today I haven't seen any comparable tools which makes your work very productive, especially as a Java developer.
Hope this helps! Have fun!
We also have a Padlet for GWT 😉
There are articles, presentations, groups and other information for a modern GWT / J2CL development...
Hope this helps!
Thank you very much. I ll give it a try.
Lofi has some interesting things to look at: * GWT Awesome Library List (Gwit a LiLi)
* there is also a boot starter for gwt, but I do not recall the name.
* There is also are archetype creator from DominoKit
Hope that helps.
I am new here, so hello everyone.
I am very interested in this topic. I have gotten tired of the whole javascript ecosystem. I did not know that you could easily have GWT run only on the frontend and used jee/spring/whatever on the backend as you please. I always thought it was a client-server bundle.
Is there a tutorial that shows how it can be done?
How is the compilation speed for code-change/webpage-refresh? I have done scala many years, so I understand how frustrating it can be, even though scala is amazing.
Thanks
Thanks Craig for the info...
I'm not familiar with React (only Hello World 😉)
Can you integrate React with these GWT React frameworks? So write your components in Java and integrate them back into React JavaScript?
I don't know whether it is possible?
It may be possible in react4j to publish a java component as a react component but not without significant overhead/boilerplate. It is also possible to consume a js react component from within react4j with a little overhead and we built some of our early apps like this. However, react4j's sweet spot is when the majority of the application is written in java.
With gwt-react it is much easier to both consume js components and publish java components ... except for the normal constraints of publishing java to js. My guess is that the sweet spot for gwt-react is for applications that combine js components into a java app but I have never used it in anger.
--
Cheers,
Peter Donald
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 google-web-tool...@googlegroups.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
google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/google-web-toolkit/7e609b0d-092f-4854-b0b9-f3fbf59ec358n%40googlegroups.com.