Thanks for this answer Christian. Let us know if we can help this review. 2014-10-22 16:30 GMT-04:00 Christian Gruber <[email protected]>:
> Always happy to meet folks and share experiences. As to whether we would > consider merging Blender into Guice, that's an easy and a hard question to > answer. The simple answer is - we'll consider any great improvements. But > how it turns out is obviously a combination of API review, implementation > review, licensing (no issues if it's Apache 2.0), performance implications > in cases other than what the code was intended to solve (side effects), > whether the chances change the scope of the Guice project in ways we > wouldn't prefer, etc. > > That said, I don't know that it's necessary. If it's a fork, you can, > ultimately, release it to maven with a different artifact. As long as you > properly manage dependencies so no one is pulling in conflicting symbols, > it's not an issue. We have a few guice forks out there doing interesting > things. > > But starting the conversation here is definitely a great place to start > helping us see what you're trying to achieve. Thanks! We want to > encourage folks to try new things, or re-try things in new ways, but I > don't want to unrealistically imply any particular likelihood of > incorporating it. We'll just have to look at the details to figure that > sort of question out. > > c. > > On Wed Oct 22 2014 at 12:20:33 PM Stéphane NICOLAS < > [email protected]> wrote: > >> I will let Mike answer your question Christian, as it is more oriented to >> his previous post. >> >> My personal point of view is that a lot of people already use RG, and for >> this reason itself, its worth trying to update it and make it the best it >> can. >> >> From a technological point of view, I really like RG as it way simpler to >> use than Dagger. I am not super familiar with Dagger, though I really love >> DI as it made me a better dev, but I really like how Guice is simple, and >> well known also for Android devs from the Java world. I like the fact that >> you add injections super easily, without having to define a module in the >> most simple cases, no need to say when the module is being used, by who, >> etc. I saw the video about Dagger 2 and chances are that this release will >> make Dagger close to RG in terms of simplicity. But I must say that up to >> now I have not been convinced by the Dagger tutorial and find it harder to >> use. >> >> Also, when we started to work on Blender, I have been keeping wondering >> if Guice was being discarded for the good reasons : namely speed and memory >> consumption. With Blender we could already re-gain some ground on that >> field, and I am pretty sure Guice could be even more optimized and deliver >> super decent performance results. I have been a bit sad to see that Google >> itself discourages using Guice on Android. >> >> Though, I agree that a lot of advanced features of Guice are too costly >> for Android, like the TypeLitteral stuff. But still, in that case, it could >> be enough for me to discourage people to use them on Android. >> >> So, to sum yes, I found it really both interesting and worth it to make >> Guice better so that we can use it on Android. >> >> Do you guys consider merging Blender into Guice ? >> It could be coded better, but we tried to minimize the changes so that >> you can more easily see the changes from master branch. >> >> Stéphane >> BTW, I am going to present Blender and RG 3 at AndevCon San Francisco, it >> would be glad to meet you or Sam there. >> >> >> >> >> 2014-10-22 12:38 GMT-04:00 Christian Gruber <[email protected]>: >> >> Can you recommend what features of Guice you find you want that Dagger >>> does not offer, and how these relate? The Dagger and Guice folks are in >>> pretty regular discussion and are related projects, and it would be nice to >>> know what we're missing. Absolutely Guice is more powerful and flexible >>> across many dimensions - a deliberate decision to constrain APIs in order >>> to encourage certain patterns, especially in Dagger 2. >>> >>> Google has some experience (with some good results) simulating the guice >>> API in a compile-time annotation processor, though it still ended up being >>> a sub-set of the GUICE total capability. I'm interested to hear of your >>> experiences. I will say, I'm really glad people are experimenting with >>> different approaches. >>> >>> Also, I should point out that we do have a validation annotation >>> processor for Guice that we need to roll-out to help with earlier error >>> validation, though that doesn't address performance constraints. It's been >>> sitting for a bit, owing to prioritization, but I think that we should get >>> it in shape and into Guice soon. (cc:ing colin about that) >>> >>> Christian. >>> >>> On Tue Oct 21 2014 at 2:18:15 PM Michael Burton <[email protected]> >>> wrote: >>> >>>> We are aware of Dagger, but feel that Guice is more powerful and >>>> flexible. Which is why we are investing time in making Guice more >>>> performant for our use-case. We hope to make additional contributions in >>>> the future to further close that gap. >>>> >>>> >>>> >>>> >>>> On Tuesday, October 21, 2014 2:14:22 PM UTC-7, Stéphane NICOLAS wrote: >>>>> >>>>> No, we didn't compare them yet. >>>>> >>>>> For sure, RG + RoboBlender decrease the amount of processing needed to >>>>> compute injection points, but still a good part of it is done at runtime. >>>>> >>>>> Nevertheless, we think it makes a good compromise in terms of >>>>> simplicity and performance to use Guice + Blender on Android. >>>>> >>>>> S. >>>>> >>>>> On Tuesday, October 21, 2014 5:08:27 PM UTC-4, Sam Berlin wrote: >>>>>> >>>>>> This is interesting. Have you compared the results to Dagger >>>>>> (Dagger1 or Dagger2)? Dagger is explicitly built with Android in mind, >>>>>> and >>>>>> shifts the processing to compile time. >>>>>> >>>>>> sam >>>>>> >>>>>> On Tue, Oct 21, 2014 at 5:04 PM, Stéphane NICOLAS < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hello all, >>>>>>> >>>>>>> Mike Burton (the author of RoboGuice >>>>>>> <https://github.com/roboguice/roboguice>, a version of Guice adapted >>>>>>> to Android) and I have been working on a new annotation processor for >>>>>>> Guice(named Blender). >>>>>>> We have been working hard on this and, in RoboGuice, we gain from 30 >>>>>>> to 70% gain in speed and around 30% gain in memory footprint for our >>>>>>> apps. >>>>>>> >>>>>>> *We would like to submit the idea of Blender to the community >>>>>>> of Guice devs in order to have your feedback on this, and as we hope >>>>>>> thatBlender can become part of the official Guice.* >>>>>>> >>>>>>> Here are some *slides* to explain why and how we did it : >>>>>>> https://speakerdeck.com/stephanenicolas/blender-boosting-guice-with- >>>>>>> annotation-processing >>>>>>> >>>>>>> We have currently *forked Guice* and tried to make something close >>>>>>> to a *PR* for it : >>>>>>> https://github.com/stephanenicolas/google-guice/tree/PR-blender >>>>>>> (Please ask us where to get the latest version, we try to stick on >>>>>>> guice 4 changes) >>>>>>> >>>>>>> We are very excited to submit Blender, and we are very open to >>>>>>> modify our implementation to make it fit in Guice and we are eager >>>>>>> to get feedback on it. >>>>>>> >>>>>>> Thanks in advance, >>>>>>> Stéphane >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "google-guice" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> To post to this group, send email to [email protected]. >>>>>>> Visit this group at http://groups.google.com/group/google-guice. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/google-guice/9cd1683f- >>>>>>> 0545-4687-b824-0a0cfd7a9f31%40googlegroups.com >>>>>>> <https://groups.google.com/d/msgid/google-guice/9cd1683f-0545-4687-b824-0a0cfd7a9f31%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "google-guice" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at http://groups.google.com/group/google-guice. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/google-guice/67524038-b76f-4979-9bf9-27b1a04c3ce9%40googlegroups.com >>>> <https://groups.google.com/d/msgid/google-guice/67524038-b76f-4979-9bf9-27b1a04c3ce9%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-guice. To view this discussion on the web visit https://groups.google.com/d/msgid/google-guice/CALo37o7xviVzjB7JvgfthuMUiACdwqyeCu98zUKRB%2B1L8S%2BudQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
