|
Well, GWT is horrible and scary at first, but when you figure out how to do things their way, it's not TOO bad...
If, like me, you're familiar with WPF/XAML, you'll want to do your GWT with the UiBinder stuff... It's a XAML-wannabe... But be warned that all the data binding is static.
Would suggest avoiding GWT-RPC though... Do a RESTful service or something... Keep the client and server separated. GWT-RPC is easy to use, but it binds your tiers way too tightly.
|
|
|
|
|
Oh GWT... We thought you were the future and then Google released AngularJs. On a serious note, we have a GWT app that we are retiring after 6 years and migrating to Angularjs. GWT just has to much baggage. We found that we could get a lot more done using a restful json API and Angularjs.
Eric
|
|
|
|
|
Oh, I've got the restful JSON API covered... Loving the Jersey framework, despite the similarity to New Jersey (Hey, I'm a New Yorker - Making fun of NJ is just expected).
Almost made me start liking Java...
Until, just for fun, I tried doing the same thing in .NET and realized it was just as easy.
|
|
|
|
|
That's all? How about
- unsigned integers as a type (
Integer.fooUnsigned is kind of ugly), particular bytes. - value types.
- operator overloading.
- generics that are actually generics. Type erasure sucks.
Things that GWT really needs:
- correct arithmetic. Seriously. How the hell can they get away with this nonsense[^]?
|
|
|
|
|
harold aptroot wrote: unsigned integers as a type (Integer.fooUnsigned is kind of ugly), particular bytes.
Haven't had to mess with that yet...
harold aptroot wrote: value types.operator overloading.
I was advised to completely avoid 'int' in favor of 'Integer' (And the equivalents for other types) when it comes to GWT... Would be nice if it handled them, as I wince every time I look at a bunch of 'Integer' and 'Boolean' variables...
harold aptroot wrote: generics that are actually generics. Type erasure sucks.
Hasn't bugged me yet... The opposite, actually... I had to delve into writing my own GWT code generator, because a certain third-party framework (*cough*GXT*cough*) is so hung up on generics that they can't handle polymorphism...
harold aptroot wrote: correct arithmetic. Seriously. How the hell can they get away with this nonsense[^]?
Wow... Ok... That's just... horrid...
|
|
|
|
|
Regarding the value types: Well, seeing as you're basically compiling to JS it "shouldn't" really matter. But if direct compilation to bytecodes/IL those value types do help a LOT on CPU caching optimizations. I've seen speedups of orders of magnitude on number crunching, simply by changing a class to a struct.
I mean, for the love of Pete why can't I have something like a struct in Java? Do I always have to make use of several disjoint arrays of ints (necessitating multiple corroboration methods just to keep all of their indexes aligned) if my actual data is correlated in groups, why can't I just use an encapsulation to group them and still derive the benefits of sequential memory locations?
True struct/class in C# isn't "wonderful" (i.e. not like C++ where you could have both in both manners), but at least it's "something". With Java there simply isn't any equivalent!
|
|
|
|
|
Ian Shlasko wrote: IEnumerable. Seriously, why does it matter if a function returns an array or a list, if all I'm going to do is iterate it? Arrays and Lists need to implement some common interface(s) so I'm not always converting back and forth depending on which third-party library uses which. Does Iterable<T> [^] work for you?
/ravi
|
|
|
|
|
Not as long as this code fails to compile:
Integer[] arrayOfStuff = functionThatReturnsAnArray();
Iterable<Integer> iter = arrayOfStuff;
|
|
|
|
|
Integer[] arrayOfStuff = {1, 2, 3, 4};
Iterable<Integer> iter = Arrays.asList(arrayOfStuff);
cough cough
veni bibi saltavi
|
|
|
|
|
Yeah, see... Gotta turn it into a list in order to iterate the stupid thing
EDIT: Or rather, to return it as an iterable... Can still iterate an array, but it's not an iterable...
EDIT 2: And just thinking about it more makes me irritable... Heh
|
|
|
|
|
|
No idea whether it addresses all your points but some use Scala as a "better Java," as opposed to using the functional bits.
A colleague who has done extensive .NET and Java has also used Scala and prefers it. But, of course, it will have its own issues.
Kevin
|
|
|
|
|
Heh, if I was the one picking the language for this project, I would have just stuck with C#/WPF
|
|
|
|
|
Ian Shlasko wrote: Property syntax...
I've found the lombok jar to be extremely useful for cleaning up pojos. Lightweight and simple to use:
https://projectlombok.org/[^]
-NP
Never underestimate the creativity of the end-user.
|
|
|
|
|
Oooooooh... Thanks
|
|
|
|
|
"Wildcard arguments for generics. If I have Foobar<int> and Foobar<String>, it's nice to be able to put them in a collection/array typed as Foobar<?>. The '? extends X' and '? super X' syntax might be a bit much, though."
C# has covariance and contravariance, no need for that.
That Java sintax is horrible, I can't even understand it without reading the docs every time, even C++ sintax for templates I can get.
It must be because of type erasure, Java doesn't really have Generics per se, it f***s on runtime with method binding, this is how we get the polymorphism, and without it, there's no true OO with Generics, Shame! (luckily I don't use Java everytime).
|
|
|
|
|
Is it possible to get a living human at Skype who speaks the customer's native language in a dialect which is common to the native inhabitants of the customer's own country ?
I am unable to make a phone call with skype this morning.
I paid for it.
I can't find a number, and can't get a human.
|
|
|
|
|
C-P-User-3 wrote: Is it possible to get a living human at Skype who speaks the customer's native language in a dialect which is common to the native inhabitants of the customer's own country ?
Best joke I've read in the Lounge today!
-NP
Never underestimate the creativity of the end-user.
|
|
|
|
|
But that resulted in infinite recursion.
Nick Polyak
|
|
|
|
|
No joke ! Same thing happened here.
|
|
|
|
|
C-P-User-3 wrote: No joke ! Same thing happened here.
No joke ! Same thing happened here.
"... having only that moment finished a vigorous game of Wiff-Waff and eaten a tartiflet." - Henry Minute
"Let's face it, after Monday and Tuesday, even the calendar says WTF!" - gavindon
Programming is a race between programmers trying to build bigger and better idiot proof programs, and the universe trying to build bigger and better idiots, so far... the universe is winning. - gavindon
|
|
|
|
|
So does that mean "infinite" means 3? Ah! No that now makes 4!
|
|
|
|
|
for the next two weeks, you are a dork.
Starting..........now.
|
|
|
|
|
I agree, it's getting beyond a joke.
|
|
|
|
|
I don't mean to be a stickler, but you are joking, right?
The United States invariably does the right thing, after having exhausted every other alternative. -Winston Churchill
America is the only country that went from barbarism to decadence without civilization in between. -Oscar Wilde
Wow, even the French showed a little more spine than that before they got their sh*t pushed in.[^] -Colin Mullikin
|
|
|
|