Sinopse
The Fragmented Podcast is a podcast for Android Developers hosted by Donn Felker and Kaushik Gopal. Our goal is to help you become a better Android Developer. We chat about topics such as Testing, Dependency Injection, Android Patterns and Practices, useful libraries and much more. We will also be interviewing some of the top Android Developers out there. Subscribe now and join us on the journey of being an Android Developer.
Episódios
-
175: Kotlin or Java - Which one should you learn?
23/09/2019 Duração: 19minOne question that Kaushik and I get all the time is this ... I'm starting to learn how to build Android apps, which language should I learn? Kotlin or Java? In this episode Donn answers this question and gives valid points on why both languages are valid options and why you might want to consider one over the other. He provides caveats to why you might want to use one language over another and some of the trade offs of Java and Kotlin and how they operate together. If you're wrestling with this question, this is the show for you ... Thanks to this week's sponsor: Bitrise Build amazing apps in Java, Kotlin or whatever tech you prefer and use Bitrise to automate your Android integration, build, test and deploy process quickly and easily. Sign up for an exquisite pair of Bitrise Branded Socks, here! https://go.bitrise.io/fragmented Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)
-
174: Testing RxJava, Debugging and More
02/09/2019 Duração: 40minKaushik is back in this weeks podcast.
-
173: What Pattern Should I Use - MVP, MVVM, MVI ...?
26/08/2019 Duração: 13minThis week Donn talks about what pattern you should use when developing your application. Is it MVP? MVVM? Mabye MVI? Perhaps it's something else. Find out in this episode. We hope you enjoy ... Shownotes Patters MVP Pattern MVVM Pattern MVI Pattern MvRx Clean Arhictecture Mocking Out the API in Espresso MockWebServer Course WireMock Android Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)
-
172: Coil Image Loading Library with Colin White
12/08/2019 Duração: 57minIn this episode Donn and Kaushik sit down with Instacart Engineer Colin White to discuss a new image library he has created called Coil. Coil is a Kotlin-first image library that focuses on ease of use, simplicity and extensibility. In this episode we ask him the question you're probably wondering ... "Why create an image library, isn't this a solved problem already?" and then move onto the details of how the library works, and what it offers developers. From Donn's perspective - It's an interesting library and gives you what you need with minimal footprint but offers you the extensibility that you'd want in the future. Its a good balance of "just enough" and "I might need this". Enjoy Show Notes Coil library Colin's Twitter Colin's Website Introducing Coil: Kotlin-first image loading on Android Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)
-
171: Jetpack Compose with Leland Richardson
29/07/2019 Duração: 01h11minThis week Donn and Kaushik talk to Leland Richardson from the Android team at Google about Jetpack Compose. Jetpack Compose is declarative component-based UI runtime for Android. With compose you can build your UI with functions in Kotlin to easily "compose" what your UI would look like. We dive deep in this episode. We talk about the background and influence React had on the project, we dive deep into some of the decisions made regarding the library and much much more... We hope you enjoy ... Shownotes Jetpack Compose First Principels React, Meet Compose Slides Jetpack Compose Android Dev Docs Leland's Contact info: Twitter Website Fragmented Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)
-
170: Developer Growth - Public Speaking
23/07/2019 Duração: 32minIn this episode, Donn talks about public speaking and how it can help you grow your career. He dives in by telling a story of his first speaking engagement and how he was riddled with fear, insecurity, doubt and anxiety. He then talks about why speaking can help you grow your career and life leaps and bounds. He wraps up with possible things you can speak about when starting out as well as where you can get your break into the speaking circuit. Shownotes Fragmented #154 - Developer Growth: Start Writing The Single Best Thing You Can Do For Your Career Sponsor This episode is sponsored by Instabug. Squash bugs
-
169: Testing and JUnit 5 with Marcel Schnelle
15/07/2019 Duração: 01h06minMarcel Schnelle joins Donn in this episode to talk about how to get your application under test and some steps to go from scared to confident in your testing process. The second half of the show they dive in deep to JUnit 5 and its new features. JUnit 5 is backwards compatible with JUnit 4 and offers a slew of new features and extensibility points which make the framework much more appealing going forward. We're convinced you'll enjoy this episode and leave wanting to get your app under test - even more than it already is. Enjoy. Shownotes Caster.IO JUnit 5 Course JUnit 5 Android Plugin JUnit5 User Guide Danny Preussler: The next gen of testing - Droidcon NYC 2018 (YouTube) Marc Philipp: JUnit 5 Extensions - Joker 2017 (YouTube) Spek Framework Testing for Kotlin Get ahold of Marcel: Marcel Schnelle Twitter Marcel Schnelle Website Sponsors
-
168: Learning Kotlin: Lambda Expressions Part 2
08/07/2019 Duração: 21minIn this episode, Donn continues his talks about Kotlin Lambda Expressions. He explains how you can use lambda expressions as function parameters and as return types for functions. This is a very dense episode - if you get lost look at the code snippets below or view on them on fragmentedpodcast.com class LogReader { fun processFile(file: File, processLine: (String) -> Unit = {}) { file.forEachLine { println("Number of Chars: ${it.length}") processLine(it) println("Line Done Processing") } } fun processFileWithHandlers(file: File, logHandler: LogHandler) { file.forEachLine { println("Start of Processing") logHandler.handleLine().forEach { handler -> handler(it) } println("Line Done Processing") } } } interface LogHandler { fun handleLine(): List<(String) -> Unit> } val reader = LogReader() val textFile = File("/Users/donnfel
-
167: Clean Architecture with Joe Birch
01/07/2019 Duração: 49minDonn sits down with Buffer Android Lead, Joe Birch. Joe is a GDE for Android, Google Actions, Flutter and Google Pay. In this episode Donn and Joe talk about Clean Architecture, what it is, and why you might want to use it. They break down the concept of what Clean Architecture is in a manner that is easy for even a beginner to understand. Enjoy. Shownotes Caster.IO Course [Uncle Bob Clean Arch]https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html Buffer Clean Architecture BoilerPlate Chord Assist Guitar Get ahold of Joe: Joe Birch Twitter Joe Birch Instagram Sponsors
-
166: Cross platform development talk with Jesse Wilson
24/06/2019 Duração: 44minKaushik decides to hit record on a skype call he has with friend of the show Jesse Wilson. They start off by discussing building features across different platforms today. Jesse talks about a clever mechanism of using javascript to change logic on the fly across the Square cash app, that's worked out pretty well. They then go on to discussing how one can try and converge across platforms in terms of business logic, architecture, naming etc. They then wind it down by discussing the state of Flutter, Kotlin multiplatform and reaching the promised land. Enjoy. Shownotes objc.io Kevin Galligan Alec Strong Egor Andreevich Sponsors
-
165: Learning Kotlin: Lambda Expressions Part 1
17/06/2019 Duração: 15minIn this episode, Donn talks about Kotlin Lambda Expressions. He explains the syntax and how to build a couple of simple lambda expressions with and without type inference and declaration. We wrap up with a small example of passing a small lambda with multiple values to a function. See the show notes below for more info. This is part 1 of a multi-part series on Lambda Expressions in Kotlin. The basic syntax of a lambda expression: val myLambda : Type = { argumentList -> codeBody } The codeBody is the only section that is not optional. Double lambda expression (doubles an integer) with type inference val double = { number: Int -> number * 2 } val result = double(4) // result = 8 now Double string multi-line lambda with type inference. val doubleString = { number: Int -> // codebody val doubleResult = number * 2 doubleResult.toString() // Kotlin knows this will return a string } Type declaration in a lambda val myLambda: (String, Int) -> String = { str, int -> "$str - ${int.toStri
-
164: Learning Kotlin: Sealed Classes
10/06/2019 Duração: 20minIn this episode, you'll learn all about Kotlin Sealed classes. Donn walks you through what they are, how to create them, how to use data classes, objects and regular classes to create a restricted type hierarchy. Kotlin Sealed Classes Sponsors
-
163: Parallelize Your Espresso Tests with Flank w/ Matt Runo
03/06/2019 Duração: 39minIn this episode, Donn talks to Matt Runo about the Flank project. Using Flank you can run your Espresso test suite in parallel on Firebase Test Lab (FTL). This allows you to lower your feedback loop time and increase developer productivity and throughput. You'll learn all about Flank, how it works and how to get started in this episode. Sponsors
-
162: Catching up on Google IO 2019
27/05/2019 Duração: 52minShownotes Digital trends: Comparing Pixel 2, 3 and 3A Google Activity tracking Google Activity tracking Controls Flutter for Web New navigation paradigm in Android Q What's new in Android Deveopment Tools - Torr's IO talk Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram) Sponsors
-
161: Machine Learning on Android with ML Kit and TensorFlow with Dan Jarvis
20/05/2019 Duração: 59minIn this show, Donn talks with Dan Jarvis about Machine Learning on Android with ML Kit and Tensor flow. They dive deep into what ML (Machine Learning) is, what you need to know as a developer and how to apply those things to build ML applications on Android. They tal about what you can do on Android in regards to ML, model training and running the models on the device. You may be wondering if you should include the model in your app or if it should live on a server, that's discused as well and the reasons for it. They wrap up the show with some examples of what you could build and some great resources to get you started. Enjoy Shownotes What Can Machine Learning Do? ML Kit ML Kit Demo Video ML Kit Quickstart Image Labeling Example Custom Models How Does Prisma Work? Cucumber Example Tensorflow Demo Apps Inside AI Newsletter TensorFlow Lite TensorFlow Lite (TF Dev Summit '19) - [VIDEO] Custom On-Device ML Models with Learn2Compress Microcontoller Support Face Generation DroidCon NYC Applied Tensorflow iN Andr
-
160: Increase App Engagement with Android Q
13/05/2019 Duração: 11minWith the release of Android Q we now have the settings panel and all its glory. This panel, while most likely overlooked as a minor feature, is actually a diamond in the rough. Why? Simply because it's going to lower the abandonment rate of your app and increase the engagement of your app at the same time. Donn talks about this in depth in this episode. Enjoy. Shownotes Android Q Features Sponsors
-
159: Improve Your App with the Android Material Components (feat. Cameron Ketcham & Connie Shi)
06/05/2019 Duração: 52minIn this show, Donn and Kaushik talk to Cameron Ketcham and Connie Shi from the Android Material Components team at Google. The Android Material Components are material designed components that you can easily drop into your application with just a few small tweaks. You get a bunch of fully built out material components, from the Android Material team at Google. From Chips, to Cards, to Buttons and much much more ... the goal is to enable you to build your application faster when using these components. Donn and Kaushik talk to Cameraon and Connie about the components and how to use them in this episode. Enjoy Shownotes Material.io Website Android Material Components Material Components GitHub Tasks App Developer Tutorials AndroidDev Summit Talk Material Theme Editor Sponsors
-
158: Building High Performance Audio on Android
29/04/2019 Duração: 01h03minIn this show, Donn and Kaushik talk to Don Turner about how to build high-performance audio apps on Android. We dive deep into history of audio on Android, some of the problems that the platform faced. Then look into the tools that we now have to solve those problems so that developers like you can build killer audio apps. Enjoy. Shownotes Android Midi Oboe Intro to Oboe (Video) Google IO 2019 Talk Sponsors
-
157: Effective Java Item# 20 - Prefer interfaces to abstract classes
01/04/2019 Duração: 25minIn this episode, Donn talks about Item #20 in the Effective Java book (third series) by Joshua Bloch. He discusses why you should think about using interfaces over abstract classes, how they can add mixin like behavior to retrofit existing classes with new behavior, default methods, skeleton implementations and more. Enjoy. Sponsors
-
156: Increase App Engagement with Android Q
18/03/2019 Duração: 11minWith the release of Android Q we now have the settings panel and all its glory. This panel, while most likely overlooked as a minor feature, is actually a diamond in the rough. Why? Simply because it's going to lower the abandonment rate of your app and increase the engagement of your app at the same time. Donn talks about this in depth in this episode. Enjoy. Shownotes Android Q Features Sponsors