Re-loading back-end code while system is running

10 views
Skip to first unread message

Blake McBride

unread,
4:57 AM (9 hours ago) 4:57 AM
to Google Web Toolkit
Greetings,

I built an app in GWT back when Google was developing it.  It worked okay and avoided HTML & CSS, which I didn't know at that time.  When Google dropped browser support for GWT, I dropped GWT.

Out of curiosity, I downloaded the latest GWT.  Interesting.  I see you've solved the front-end debugging issues.  Nice!

I noticed that you can change front-end code without rebooting the system and rebuilding.  However, this doesn't seem true about the back-end code.  Am I missing something?

Also, since I originally used GWT, I have learned HTML, CSS, JavaScript, etc.  Now I feel like it is easier to specify layout in HTML/CSS than using all of that GWT Java code.  GWT front-end code seems incredibly verbose.  That leads me to two questions:

1. Can I use HTML/CSS?  If so, are there examples?

2. Is there a graphical GUI system that allows someone to graphically design an interface and have it generate all of that Java code for the front-end?

Lastly, and just FYI, in response to what Google did with GWT at that time, I ended up writing my own open-source, full-stack web development framework.  In addition to being able to change front-end code while developing, it also supports changing back-end code without having to reboot the server or recompile anything.  It also has built-in support for microservices, REST (actually JSON-RPC), authentication, custom HTML controls, SQL API, reporting, CSV import/export, crypto, LLM interfaces, and a lot more.  It has been used in production systems for a few years now.  It's at kissweb.org

Thanks!

Blake McBride

Jens

unread,
11:38 AM (3 hours ago) 11:38 AM
to GWT Users
I noticed that you can change front-end code without rebooting the system and rebuilding.  However, this doesn't seem true about the back-end code.  Am I missing something?

Going forward GWT will only provide a simple server to serve static files out of the box. If you want DevMode to launch an application server for your server side code you have to use "-server com.google.gwt.dev.shell.JettyLauncher" to get the implementation GWT had always provided (but it will be removed in a future release) or provide your own implementation of GWTs "ServletContainerLauncher".  If you use a proper build tool with separated modules for GWT code and for server code you usually already have some mechanism to launch your app server. Also the coupling GWT did before always produced classpath issues. 

So going forward it is up to the developer to serve the backend code.

 
Also, since I originally used GWT, I have learned HTML, CSS, JavaScript, etc.  Now I feel like it is easier to specify layout in HTML/CSS than using all of that GWT Java code.  GWT front-end code seems incredibly verbose.  That leads me to two questions:

1. Can I use HTML/CSS?  If so, are there examples?

GWT SDK provides UiBinder which allows you to write XML documents with a matching Java class and GWT will generate an additional Java class from the XML document to glue both together, see: https://www.gwtproject.org/doc/latest/DevGuideUiBinder.html

It is still a bit verbose compared to JS frameworks which support two way databinding and plain HTML but it is good enough if you like to read HTML instead of code.

 
2. Is there a graphical GUI system that allows someone to graphically design an interface and have it generate all of that Java code for the front-end?

There was an Eclipse plugin called GWT Designer, but I think it does not work anymore. I am not aware of anything else. Your best bet is probably using UiBinder XML and some AI help.

 
Lastly, and just FYI, in response to what Google did with GWT at that time, I ended up writing my own open-source, full-stack web development framework.  In addition to being able to change front-end code while developing, it also supports changing back-end code without having to reboot the server or recompile anything.  It also has built-in support for microservices, REST (actually JSON-RPC), authentication, custom HTML controls, SQL API, reporting, CSV import/export, crypto, LLM interfaces, and a lot more.  It has been used in production systems for a few years now.  It's at kissweb.org

Sounds interesting. 

For GWT related libraries you can take a look at https://github.com/gwtboot/gwt-boot-awesome-lili


-- J.
Reply all
Reply to author
Forward
0 new messages