Raising the White Flag with Dagger 2 [Android]

GDG Denver
Tue, Feb 6, 2018, 6:00 PM (MST)

About this event

• What we'll do

A troubling pattern has emerged among our community in recent talks about Dagger 2. For those unfamiliar, Dagger 2 is a dependency injection framework provided by the fine folks at Square and Google. As many are aware, time and time again Dagger has been covered at countless meetups, conferences, and in blog posts.

Those familiar with the library should understand that this is not by chance. The library offers the promise of a cleaner, decoupled, and more testable code-base. This promise is, arguably, the main reason that Dagger 2 is perhaps the most ubiquitous library that exists on our platform. But we're not here to explain or rationalize why you should use Dagger. Instead, we're here to address the elephant in the room. You might be asking, "There's an elephant in the room? Where?" If you have watched some of the recent talks given by leaders in our community, perhaps you'll see what we mean. Take, for example "Swordfighting with Dagger", "Dagger 2 Android: Defeat the Dahaka", or "Demystifying Dependency Injection." These talks (and their titles) capture what it often feels like to work with Dagger. We're on the front lines, in the trenches, not working with the library, but rather fighting against some magical, mythical beast that needs to be slayed.

Which brings us to this talk. This talk is not a call to arms and does not attempt to throw down any type of gauntlet. In fact, this talk does the exact opposite. It's time to raise the white flag and talk about the terms of our surrender. Let's stop fighting with a tool we all use on a daily basis and learn how to peacefully coexist.

With the release of Dagger 2.11, there are now Android-specific modules that are designed to make the library easier to use, require less boilerplate, and in general, make our lives better. We wish that we could tell you that the path to easy street only requires you to take a deep breath, grab a cold refreshment, and update Dagger in your Gradle configuration.

Unfortunately, the recent versions of Dagger require a somewhat major change in how we approach and use the tool. Practices and techniques that were once widely used, even encouraged are now practically anti-patterns. Through a Kotlin-focused lens, join us as we take a deep breath, take off the boxing gloves, put down our weapons, and raise the white flag. We're hoping that by the end of the evening, you'll wonder, "What were we fighting for?"

• What to bring
Your spirit, mind, and any and all Dagger-related questions.

• About the presenters

Joe Thorngren is an Android developer that just migrated from Denver to Chicago. He enjoys playing with his two dogs, learning about all things Linux, and recently picked up a LulzBot 3D Printer. He is always on the lookout for a new munch spot and especially loves Sushi and Tacos. Steven Gerdes is an Android Developer from Chicago, IL. When he's not cruising Lake Shore Drive with his windows down, he's most likely working in Android Studio, exploring cool new Android libraries or listening to NPR, the latest Fragmented episode or The Beach Boys on vinyl.

Both Joe and Steven work as Android Developers at Tack Mobile, a Denver-based client services company focusing on all things mobile, IoT, and Augmented Reality.


* General Assembly @ INDUSTRY RiNo Station, 3858 Walnut St, Denver,
CO 80205 [1]

* The building entrance faces southeast. There is no entry on
Walnut Street. From Walnut St. walk north towards 40th street (away
from RiNo Beer Garden) and then east along the building until you
are able to walk south to the building's front entrance which
faces N Lafayette St.

* There is free street parking in the neighborhood south-east of
INDUSTRY RiNo Station.

* If you are lost, please call, (303)[masked] [2].

* Please be sure to check out the map here for context.
* If you are coming by Lyft, please use this address instead: 3825
N Lafayette, Denver, CO 80205 [3]