Wednesday, February 5, 2025

Re: Suggestion on upgrading gwt-2.6.1 to latest

If you want "zoom controls", that won't work nicely with a raster format like canvas, unless you either are ready to draw everything in waaay too much detail so that zoom works at all, or have some hooks to redraw at each zoom (which... no longer would be about "drawing", but about managing what is visible, what is clipped out of view, etc?). Or, you want a vector graphics tool, either like SVG, or some abstraction on top of canvas that rasterizes your set of infinite-precision lines/shapes to the canvas at each frame.

The only zoom I see in smartgwt's canvas is "zoom overflow" settings, which looks to be more about browser zoom level (controlled by the user, outside the page) than zooming in to your own view. If that is specifically what you are after, I _believe_ you can simplify that down to just correctly handle hdpi, as a distinct operation from overflow? https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Optimizing_canvas#scaling_for_high_resolution_displays shows that this is pretty straightforward to manage? It has been a few years since I worked on low-level canvas operations, but I think that is the common setup to need, depending on how you want to handle a user trying to zoom in this way (e.g. "let the user zoom like they would an image" vs "try to stop them from changing the actual format" vs "try to scale only text, but keep absolute positions the same", etc).

If I were designing/picking a drawing tool, I'd want a lot more clarity on exactly what is required, because there's a lot of wiggle room in what these terms could mean.
On Wednesday, February 5, 2025 at 11:38:06 AM UTC-6 ne...@propfinancing.com wrote:

> "what do you expect in a canvas widget"

 

I am not exactly sure.  This is all a bit new to me.

 

When I look at the canvas class in GWT, it does not have
methods to support zoom so I would have
to write my own code for that functionality.

 

Looking at the canvas class in SmartGWT, it has methods
for zoom so I can let the library handle it.

 

Thank you,

 Neil

 

--

Neil Aggarwal, (972) 834-1565, http://www.propfinancing.com

We offer 30 year loans on single family houses!

--
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 visit https://groups.google.com/d/msgid/google-web-toolkit/61482f4a-db23-4b0d-83c4-342902cf5ba8n%40googlegroups.com.

RE: Suggestion on upgrading gwt-2.6.1 to latest

> "what do you expect in a canvas widget"

 

I am not exactly sure.  This is all a bit new to me.

 

When I look at the canvas class in GWT, it does not have
methods to support zoom so I would have
to write my own code for that functionality.

 

Looking at the canvas class in SmartGWT, it has methods
for zoom so I can let the library handle it.

 

Thank you,

 Neil

 

--

Neil Aggarwal, (972) 834-1565, http://www.propfinancing.com

We offer 30 year loans on single family houses!

Re: Suggestion on upgrading gwt-2.6.1 to latest

I think the important question should be "what do you expect in a canvas widget"? If all you want is "the same calls JS can make", just working with the raw DOM element and its context will get you everything you need, and you can easily embed that into any other widget toolkit.

GXT 3 and others (lienzo? I'm sure I'm forgetting something else) also offered some vector drawing abstraction on top of canvas that allowed persistent, animated lines/shapes/etc. That can get complex/opinionated/expensive, and many users would just want to use the raw context2d or webgl directly via elemental2.

On Wednesday, February 5, 2025 at 9:11:51 AM UTC-6 ne...@propfinancing.com wrote:

> Actively developed UI toolkits I'm aware of include DominoUI and DnComponents

 

Interesting. I checked those out and neither of them seem to have a canvas
widget.  Did I miss it?

 

Thank you,

 Neil

 

--

Neil Aggarwal, (972) 834-1565, http://www.propfinancing.com

We offer 30 year loans on single family houses!

--
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 visit https://groups.google.com/d/msgid/google-web-toolkit/4fbccb5b-b280-4b07-b3df-fda855b9f045n%40googlegroups.com.

RE: Suggestion on upgrading gwt-2.6.1 to latest

> Actively developed UI toolkits I'm aware of include DominoUI and DnComponents

 

Interesting. I checked those out and neither of them seem to have a canvas
widget.  Did I miss it?

 

Thank you,

 Neil

 

--

Neil Aggarwal, (972) 834-1565, http://www.propfinancing.com

We offer 30 year loans on single family houses!

Re: Suggestion on upgrading gwt-2.6.1 to latest

GWT 2.6 is just over a decade old - while Java 8 didn't exist at the time it was first released, I see you're still using it. Latest GWT is 2.12, and requires a minimum of Java 11. The first step then is probably to update GWT as high as you can without breaking other things, then update Java to some recent version, then update GWT to latest.

GWT 2.6 supported an early version of Super Dev Mode - assuming that is what you were using, the way to use it has changed a bit, but is still present. No browser supports legacy Dev Mode (which used a browser plugin), so if you were using that, you'll need to set up some new dev guidelines for how to debug your application.

GXT 3 has always been paid, but at that time they were still releasing GPL versions, so that is what you are using. It is likely to have problems running with newer than about GWT 2.8, but the fix is easy (and since it is GPL, you can edit that yourself, just change the broken call to getResourceMap().get... with .getResource... ).

I've never used netbeans except as an experiment, and can't really help there. I pay for my own IDEA ultimate version, though not for the GWT support - you can either use the community edition, or Eclipse with the GWT plugin, but will need to make your own decision.

One other topic not mentioned - a project from that era is likely using ant, and probably should be updated to Maven or Gradle.

Quick recap using your numbering:
1. Aim for GWT 2.12, but you probably need to pause briefly at GWT 2.11 until you can drop Java 8.
2. Super Dev Mode - you do not need a browser plugin for this or specific IDE tools (unless you want them), just anything that can debug JS with sourcemaps to show the original Java.
3. Up to your own preferences, requirements - anything that can edit Java and understand your project setup should suffice.
4. Aim for Java 21+, but wait until you are using GWT 2.11, and then figure out what it is going to take to get your server updated too - likely that will be a bigger hurdle.
5. Actively developed UI toolkits I'm aware of include DominoUI and DnComponents
6. Payara still exists and is maintained. There are other good choices too. Without understanding your server code or requirements, one can't easily answer this. Odds are, updating the server is going to be a bigger task than updating the client.
7. Separation is a good idea, but not absolutely required. There are many benefits you will see here, from avoiding many classes of bugs, to faster compilation. As you consider your build system, also consider if this is some tech debt that can be paid down now and help your project going forward.

Please email me off-list at colin@vertispan.com if you're looking for more guidance or assistance - our company regularly helps with projects like this, keeping existing projects alive by updating them without requiring a total rewrite with each platform shift.
On Wednesday, February 5, 2025 at 6:48:58 AM UTC-6 at10...@gmail.com wrote:
Hi,

We have a project with mixed architecture of client + shared + server (RPCs). with following configurations:
1.  gwt-2.6.1
2.  gwt4nb plugin
3. jdk 1.8
4. gxt 3.1.1 (sencha)
5. payara web server 
6. netbeans 18


We want to upgrade the project in the latest version of GWT. we request you to please suggest on the followings:
1. gwt version we must choose?
2. how will we achieve client debugging (as currently we are using gwt4nb-plugin for the same.)?
3. Which open-source IDE we should opt?
4. Suitable jdk version?
5. Alternative of sencha (as it is paid now, and we are only limited to its grid control).
6. Should we continue with payara? 
7. Do we require splitting of client, shared, server in separate projects or we should continue the same architecture (as this is a quite big project).




 

--
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 visit https://groups.google.com/d/msgid/google-web-toolkit/8b555500-88c2-4b95-a231-484b8a0168f0n%40googlegroups.com.

Suggestion on upgrading gwt-2.6.1 to latest

Hi,

We have a project with mixed architecture of client + shared + server (RPCs). with following configurations:
1.  gwt-2.6.1
2.  gwt4nb plugin
3. jdk 1.8
4. gxt 3.1.1 (sencha)
5. payara web server 
6. netbeans 18


We want to upgrade the project in the latest version of GWT. we request you to please suggest on the followings:
1. gwt version we must choose?
2. how will we achieve client debugging (as currently we are using gwt4nb-plugin for the same.)?
3. Which open-source IDE we should opt?
4. Suitable jdk version?
5. Alternative of sencha (as it is paid now, and we are only limited to its grid control).
6. Should we continue with payara? 
7. Do we require splitting of client, shared, server in separate projects or we should continue the same architecture (as this is a quite big project).




 

--
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 visit https://groups.google.com/d/msgid/google-web-toolkit/dc548163-eee1-44cf-b187-6b442a7e970cn%40googlegroups.com.

Saturday, February 1, 2025

Re: GWT Development workflow

By "SuperDevMode" do you mean the CodeServer, don't you?

Yes. GWT has a deprecated classic DevMode which is launched by a java class named DevMode. The successor is SuperDevMode which is launched by a java class named CodeServer. So people say SuperDevMode (SDM) or CodeServer and both mean the same.

-- J.

--
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 visit https://groups.google.com/d/msgid/google-web-toolkit/d132620f-147e-44cd-b12f-0a020572215en%40googlegroups.com.