We've been using GWT-RPC for a while now as well, and the alternatives 
seemed less desirable the last time I poked around at them.  Reading over 
some of the cited poor choices GWT-RPC, they seem to me to be more like 
"features" and "trade-offs" instead of simply being bad choices.

Version skew is a good example. It's cited as a negative, but in other 
contexts is actually a positive.  The client has outdated information 
regarding the service/model objects? It SHOULD blow up. Old/new 
clients/servers communicating with each other I'm sure is commonplace at 
Google and in it's related applications, however this is absolutely unheard 
of in a static deployment environment, such as in consumer or enterprise 
deployments.  Version skew actually catches deployment errors during 
testing in those situations.

The compile time argument has me scratching my head. I've listened to many 
presentations from Ray/Daniel regarding GWT (big fan, btw). The compiler is 
often cited as what separates GWT from those other JS lib technologies. I 
especially liked Daniel's dig at Angular via Singular, but it was a good 
demonstration of how powerful compile time analytics can trump a runtime 
library. To paraphrase: we have a powerful compiler, let it do work for 
you, you can't get that from <insert latest JS lib here>.

To cite GWT-RPC as requiring the compiler time-hit that it does strikes me 
as a choice/trade-off, not a negative.  For some applications, it may be a 
"good thing" (tm), but a "bad thing" (tm) in others (see version skew 
above).  To me, this feels like GWT is a little self-conflicted. We have 
this compiler, it could do a lot of work for us, but we don't want it to do 
too much work for us because we want it to be lightning fast!  Maybe I'm 
just old-fashioned, but I'm ok with compilers taking extra time if it 
serves some value/purpose.

While I know there is this great "quest" to speed up GWT compiles such that 
developing in GWT has very little overhead as compared to just regular JS 
development, I would implore that a "carrot" approach is taken over the 
"stick."  If, as a developer, I'm willing take a compile time hit for a 
feature (GWT-RPC or otherwise), seems like having the option would be a 
"good thing", while on the other hand the GWT compilation speed can still 
be lightning fast when we ask less of the compiler by not using such 
features.

On Wednesday, July 13, 2016 at 3:24:14 PM UTC-7, Daniel Kurka wrote:
>
> I summed up what I think about GWT RPC and it's future here:
> http://blog.daniel-kurka.de/2016/07/gwt-rpcs-future.html
>
> On Thu, Jul 14, 2016 at 12:01 AM JonL <jo...@percsolutions.com 
> <javascript:>> wrote:
>
>> While I agree that it could theoretically work with annotations, 
>> annotations require access to code, so for things you have no control over, 
>> you either would need to implement custom serialization anyways, or use the 
>> GWT serialization.
>>
>> I personally think there are optimizations to be had in the serialization 
>> policy generator that would prevent that whole classpath rescan issue, but 
>> I haven't had a chance to look into the code.
>>
>> If we were to use annotations, I think it would be better to use 
>> annotations on the RPC mechanism.
>>
>> On Wednesday, July 13, 2016 at 9:23:19 AM UTC-7, Thomas Broyer wrote:
>>
>>>
>>>
>>> On Wednesday, July 13, 2016 at 5:53:20 PM UTC+2, Paul Robinson wrote:
>>>
>>
>>>> On 13 Jul 2016 9:17 a.m., "Kay Pac" <kmjs...@fastmail.fm> wrote:
>>>> >
>>>> > Will the gwt serialization mechanism used in GWT-RPC remain? GWT 
>>>> object serialization has been plugged into the atmosphere (realtime 
>>>> communication/websockets) GWT extension. It would be useful to know if we 
>>>> should migrate away from the GWT serialization and towards JSON.
>>>>
>>>> It's the serialisation that's the problem, so it will be gone in 3.0. 
>>>> JSON is a good choice. (I'm moving that way)
>>>>
>>>
>>> The actual problem is not serialization per se, it is that the RPC 
>>> generator scans the whole classpath for subclasses of transferred classes 
>>> to generate their specific ser/deser code (taking into account their 
>>> CustomFieldSerializer if one exists).
>>> RPC (thus probably Atmosphere) could be made to work (as annotation 
>>> processors) if they use another mechanism to determine what can be 
>>> transferred (e.g. annotations similar to RequestFactory's @ExtraTypes).
>>> I believe Daniel Kurka said something along those lines a year ago when 
>>> first talking about those changes. The logical next question is: is there 
>>> anyone willing to make those changes and continue to maintain GWT-RPC? The 
>>> answer seemed to be (have been?) "at least that won't be Google", and this 
>>> is why people start to "panic". That does not mean RPC will be gone (that 
>>> doesn't mean it'll still be there either).
>>> But let's concentrate on 2.8 for now.
>>>
>> -- 
>> 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+unsubscr...@googlegroups.com <javascript:>.
>> To post to this group, send email to google-we...@googlegroups.com 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
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+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to