On Wednesday, May 21, 2014 10:54:51 PM UTC+2, Goktug Gokdogan wrote: > > I looked at the issue tracker. > > To give you some background; UiBinder code base is quite complex, has so > many features that it is really hard to maintain. And usually touching one > place can easily break other places, so we usually try to prevent it to > grow organically by all different request flowing on us. > On the other side, in the issue tracker you were basically asking about > exposing a method from a class that is not even a public API in the first > place, which basically means "please start maintaining the API of some > internal implementation detail for my use case". The quick answer for that, > given the state of UiBinder, is 'no'; that is basically I think where > Thomas is coming from. >
Things that motivated my response: * asks for a solution to an unknown problem, rather than exposing the problem and trying to find the best solution (which I believe is not the one suggested in the issue) * worse, it's not even a request for "please make UiBinder extensible" (for whatever definition of "extensible"), it's a "please get out of my way so I can hack around" kind of request (I know the problem was –briefly, vaguely– discussed in the GWT user group, but wasn't reflected in the request on the issue tracker) * there had been previous decisions related to the (non-)extensibility of UiBinder * UiBinder internals have changed dramatically in the past (e.g. when switching to SafeHtmlTemplates, almost everything got rewritten; then when introducing UiRenderer, then when tentatively introducing Renderable; there was also an attempt to replace the use of getElementById with walking the DOM, eliminating the use of temporary IDs on elements, or even placeholder elements in some cases); opening them for public consumption is a no-go on those grounds (similar to what you were saying) * generators (and linkers) are not designed for extension; they're an implementation detail (as you said later in this thread). The public API is in the form of a base interface that you give to GWT.create(). There are exceptions, but they're well documented (CrossSiteIframeLinker, ResourceGenerator for ClientBundle, CustomFieldSerializer for RPC, and –but I'm not even sure– ServiceInterfaceProxyGenerator's createProxyCreator() method; that's all AFAICT) and specifically designed for extensibility without exposing (too much of) the internals. On the other hand, you can just start a thread in one of the discussion > groups, ask and brainstorm different extensibility options, evolve the idea > and propose a change in gwt-contributor group. That's probably the best way > to achieve your goal and sound reasonable to me. > +1 -- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/fd03cfb6-05f7-4c39-b14d-e2ce34ca433b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.