-
Notifications
You must be signed in to change notification settings - Fork 372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Serialization by interface type rather than implementation #8805
Comments
Reported by
|
Reported by |
Reported by |
Reported by |
Reported by |
Reported by |
Reported by |
Reported by |
Reported by |
Reported by |
Reported by |
Reported by |
Reported by |
I think this is still a problem, I can't find any solution for the Problems, especially since the nested class ImmutableList.SubList has become a problem since guava-20. |
My impression (not that I'm a GWT contributor) has been that GWT-RPC may eventually be deprecated. Here's a slide that suggests as much. |
GWT RPC is deprecated and we have communicated this for years. I even wrote a blog post about why it needs to go away: |
I think then it would be helpful to set GWT RPC deprecated in the code (com.google.gwt.user.client.rpc.RemoteService) and the documentation (http://www.gwtproject.org/). |
RPC is currently the bread and butter of most for communication choice. I suspect the easiest way to put it down is provide an easy alternative to use. That said I know where this leads next... |
I fully agree with you, Brandon. We also make heavy use of GWT RPC in our applications. So we need a comfortable solution for replacement in future. May be https://github.com/intendia-oss/autorest is a candidate. |
AFAICT, nobody has yet expressed an interest into somehow "porting" GWT-RPC to J2Cl (GWT 3), and Google has explicitly said they wouldn't invest any more time on it. All that being said, IMO, the Guava regression in 20.0 should be somehow fixed on the Guava side (because it's caused by a Guava change). |
@tbroyer, I see a lot of expressed interest for it to continue as far as porting it goes, I personally would be waiting on to see what that would take, but would be willing and interested in participating in it. As far as GWT-RPC goes, I don't personally think the mechanism is flawed, I think the Serialization Policy generation is unnecessarily coupled with the RPC mechanism and a modular mechanism would solve the majority of issues with it and allow for different serialization mechanisms under the hood and make GWT-RPC a powerful part of GWT for the long term. I would be willing to contribute to the cause of separating and modularizing it as well, however, hesitation arises because there is no clear picture as to what is going to happen with GWT going forward. My understanding was the GWT 2.8.x branch would be a long lived branch, but I've seen recent discussion that it would be going into maintenance mode instead of accepting new features in the long run, which will be worrying to some people who may need to be able an ever diversifying set of browsers. I think before we get large buy in from the community on taking up pieces of what core GWT is, many of us out here in the community may need to see a plan on what that means as far as both the GWT 2.8.x and 3.x branches are concerned. |
Just for clarification since this might be misunderstood; |
If you stick to JsInterop and APT, there is no reason to hesitate. It will work with current GWT compiler and will work with J2CL as well if it comes to that. See related talks. |
@gkdn, we've been developing in GWT since 2.5.x, we have generators, RPC w/ custom serializers, super source and custom Widgets, all which have to be replaced or converted in order for us to stick to JsInterop and APT all while continuing to move our current work forward. |
The discussion/bug is around GWT-RPC. So I basically pointing you don't need to hesitate improving GWT-RPC (assuming that's what the community wants) if you go with APT and JsInterop. |
Ah, I see what you are saying now, perhaps I'll have to try in that regard to take a look! |
It was not a problem in older versions because the most used class RegularImmutableList.sublist created a RegularImmutableList, but the other Lists had this problem all the time. So it was broken but simply not a problem. |
These seemed to be designed to create a faster sublist(), but our base implementation of sublist seems likely to be quite similar in performance. Plus by eliminating these fields we: * eliminate a preconditions check and extra field reads on each call to get(int) * save 8 bytes for the fields (and maybe more for alignment on some platforms) This design seems to be from the very first version of RegularImmutableList and there don't appear to be benchmarks covering ImmutableList.get(), so this change is somewhat speculative. I'm curious what your thoughts are. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=133794845
Changing GWT-RPC to look for an And in the mean time, Guava could revert cb3a29fb67936c2bc52b1cfee08cedab62950282 if the serializability was expected and somehow "guaranteed per-contract", and not just pure coincidence (in other words: if they care about the breaking change or not). Though it also depends which one of GWT or Guava will cut a release first, so maybe not worth it. (note: I think one could use |
Originally reported on Google Code with ID 8844
Reported by
cpovirk@google.com
on 2014-08-01 15:40:55The text was updated successfully, but these errors were encountered: