Fragmented - Android Developer Podcast
- Autor: Vários
- Narrador: Vários
- Editora: Podcast
- Duração: 176:12:56
- Mais informações
Informações:
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
-
112: Effective Java v3 - Item #9 - Prefer try with resources to try finally
08/02/2018 Duração: 16minIn this mini-fragment episode, Donn talks about Item #9 of the Effective Java (Third Edition) book - Prefer try with resources to try finally. Please note, this episode references the third edition of the Effective Java book that recently came out. Previously we were doing the entire series on version 2, but we are now upgrading to version 3 of the book. We will not be re-doing any of the existing lessons, but if one was inserted in the mix, then we will do that lesson. Links Effective Java (3rd Edition) Book Sponsors Mapbox - Android developers don't have to settle for a default same-map-no-matter-what option in their Android app. Mapbox offers complete map design control, allowing you to create beautiful custom maps to meet the needs of your Android users. Check them out today at mapbox.com/android Contact @fragmentedcast [twitter.com] @donnfelker and
-
111: Effective Java v3 - Item #5 - Prefer Dependency Injection to Hardwiring Resources
29/01/2018 Duração: 13minIn this mini-fragment episode, Donn talks about Item #5 of the Effective Java (Third Edition) book - Prefer Dependency Injection to Hardwiring Resources. Please note, this episode references the third edition of the Effective Java book that recently came out. Previously we were doing the entire series on version 2, but we are now upgrading to version 3 of the book. We will not be re-doing any of the existing lessons, but if one was inserted in the mix, then we will do that lesson. This is the case with Item #5. We did Item #5 previously for v2 of the book, but v3 introduced a new Item 5 (and bumped the previous Item 5 up to 6). TLDR; Item #5 is new in the third edition of the Effective Java book. So listen closely. :) Links Effective Java (3rd Edition) Book Sponsors Mapbox - Android developers don't have to settle for a default same-map-no-matter-what option in their Android app. Mapbox offers complete map design control, allowing you to create beautiful custom maps to meet the needs of your Android users.
-
110: BuddyBuild and CI/CD services
22/01/2018 Duração: 41minIn this episode of Fragmented, we talk about CI, CD and CD services. That's Continuous Integration, Continuous Delivery, and Continuous Deployment. BuddyBuild a beloved 3rd party service of ours (and previous sponsor) is sunsetting their Android service, so Donn and KG discuss alternatives and the options they've been keeping an eye on. Listen on: Download directly Show Notes BuddyBuild is now part of Apple Google buys Sparrow Differences between CI/CDs services Good article on CI Nice infomatic explaining CD vs CD Options for CI Services Jenkins CloudBees - enterprise Jenkins Bitrise Bitrise and Firebase test lab NeverCode Welcoming Android developers blog post by NeverCode Microsoft AppCenter Ep 104 - Donn talks to the Samina from AppCenter Circle CI 2.0 docs Testing with Firebase test lab Team City - Jetbrains Code Ship Sponsors Mapbox - - Android developers don't have to settle for a default same-map-no-matter-what option in their Android app. Mapbox offers complete map design control,
-
109: Learning Kotlin - Sequences the new Iterables
16/01/2018 Duração: 22minIn this episode of Fragmented, we go back to learning some Kotlin and look at the Iterable like data structure introduced called "Sequences". What is a sequence? How is it different from Iterable? When should I use it? Show Notes Kotlin Sequence Java Iterable vs Iterator - stackoverflow.com Eager/Lazy Eager evaluation: val lst = listOf(1, 2) val lstMapped: List = lst.map { print("$it "); it * it } print("before sum ") val sum = lstMapped.sum() // prints "1 2 before sum" Lazy evaluation: val seq = sequenceOf(1, 2) val seqMapped: Sequence = seq.map { print("$it "); it * it } print("before sum ") val sum = seqMapped.sum() // prints "before sum 1 2" Source stackoverflow.com answer Intermediate and terminal operations Notice that at each chain operation, a new temporary list is created: data class Person(val name: String, val age: Int) fun main(args: Array) { val people = listOf(Person("Chris Martin", 31),
-
108: State of React Native for Android with Ryan Salva
08/01/2018 Duração: 54minIn this episode Donn talks to React Native magician Ryan Salva. React native and cross-platform development is typically one of our most requested topics so we kick the new year off with React Native. Ryan and Donn dive into the state of React Native today for mobile development, how it's matured since inception, what kinds of apps are suited to be built with React Native, what kinds aren't, what are the benefits to using React Native, some tips like pushing updates without having to upload to the play store every time and so much more. Listen on! Show Notes (Apache) Cordova React Native CodePush CodePush moving to App Center App Center Service workers: an Introduction Misc Expo JS nvm npm Noteworthy quotes from this episode: As developers, we are empowered to break things; it's our god given right! Javascript is a beautiful disaster Sponsors Mapbox Android developers don't have to settle for a default same-map-no-matter-what option in their Android app. Mapbox offers complete map design control, allow
-
107: Shape shifting SVGs with Alex Lockwood
18/12/2017 Duração: 46minIn this episode, we talk to Alex Lockwood who created shapeshifter.design, while at Google. Shape Shifter is an amazing tool that can help developers create Animated Vector Drawables without losing all their hair. Think of shapeshifter as a developer-friendly, open source, After Effects alternative for Android developers. Alex talks to us about how and why he created Shape Shifter, the different tools that have evolved out of its creation and just getting a good grasp of its working. Show Notes Abt Alex Lockwood Alex's blog - androiddesignpatterns.com How to Leak a Context: Handlers & Inner Classes Handling configuration changes with Fragments Shape Shifter shapeshifter.design Blog post on icon animations An Introduction to Icon Animation Techniques SVGO SVGo - optimizer SVG-OMG - webapp that runs svgo on web by Jake Archibald Shape Shifting & Icon animations Alex Lockwood Droidcon SF 2017 Talk - In-depth parth morphing w/Shape Shifter Building play to pause animation with ShapeShifter [slides]
-
106: The Reactive Workflow Pattern with Ray Ryan
13/12/2017 Duração: 58minIn this episode we sit down and talk to Ray Ryan from Square about the Reactive Workflow pattern that he recently gave a talk on. This pattern goes deep into RootViews, containers, ViewFactories and much much more. Show Notes Ray’s “The Rx Workflow Pattern” talk at Droidcon NYC: droidcon NYC 2017 - The Rx Workflow Pattern - YouTube Flow Navigation -GitHub - square/flow: Name UI states, navigate between them, remember where you’ve been. Square Coordinator Library - GitHub - square/coordinators: Simple MVWhatever for Android Composable State Machine Pattern - A composable pattern for pure state machines with effects (draft v3) · GitHub Sponsors Rollbar - special offer: Bootstrap plan free for 90 days Contact @rjrjr [twitter.com] @fragmentedcast [twitter.com] @donnfelker and +DonnFelker @kaushikgopal and +KaushikGopalIsMe
-
105: Jake Wharton on the Android Kotlin Guides
04/12/2017 Duração: 01h11minIn this episode, we talk to Jake Wharton of Google on a recent Kotlin coding style guide that they released: the Android Kotlin Guides. In this episode, we pick his brains and ask him how he structured the guide, how he partitioned it to fit some of the idiosyncrasies of Kotlin, what some of the challenges were, when coming up with the guide and much more. Jake's one of the best out there and it's always such a pleasure to have him on the show. Listen on: Show Notes The style guides Android Kotlin Guides official github repo for Android Kotlin guides Google Java Style Guide Jetbrains Coding conventions Jetbrains collection of Kotlin idioms (also very useful) Building the style guide Jekyll Android Testing support library website (inspiration for how to set it up) (github) Android Kotlin Guides Annotation use-site targets with Kotlin guide on interop and file-names for use-site targets logical ordering explanation for ordering companion object I am the reason for Hungarian notation - Cedric Beust blog pos
-
104: Conversations with GNOME Mono Xamarin creator Miguel and VS App Center PM Simina
27/11/2017 Duração: 53minIn this episode of Fragmented, Donn makes the pilgrimage to Microsoft Connect 2017. Connect is Microsoft's annual developer conference where they announce a bunch of new products and services. Donn got to interview a bunch of folks, and in this episode, we talk to two of them: Miguel De Icaza (leading open source proponent who also helped create Gnome, Mono, Xamarin etc.) and Simina Pasat (Program manager for Microsoft's very new CI like service AppLink). Both of them were terrific guests and had quite a few gems to share, for us Android devs! Show notes Microsoft Connect Miguel MiguelDeIcaza (Wikipedia) Wine Midnight Commander Gnumeric speedsheet Evolution - Outlook clone for linux Cross platform development Mono project Xamarin Xamarin Live Player Xamarin Workbooks Misc Scott Hanselman on using Visual Studio Download Visual Studio F# (programming language) Bret Victor - The Future of Programming (youtube) Simina Pasat HockeyApp platform Visual Studio App Center Introducing App Center: Build, Test,
-
103: MVI pattern with Hannes Mosby Dorfmann
13/11/2017 Duração: 01h06minIn this episode of Fragmented, we talk to Hannes Dorfmann about using the Model View Intent (MVI) pattern for Android. The MVI pattern was sparked through cycle.js (for javascript). Hannes took this pattern and tried to adapt it to Android. This pattern has gained a lot of traction and interest in the Android community. In this episode, he breaks down the pattern for us. He tells us how to implement it, how it helps with testing, the benefits of the pattern and some of the pitfalls. Recording this episode was riveting for us and we dive into some juicy technical details. Listen on! Show Notes About Hannes hannesdorfmann.com blog Mosby Tickaroo Freeletics The Context podcast MV* patterns cyclejs André "Staltz" Medeiros MVVM pattern MVP pattern KG - What i learnt using Presenter patterns MVC by Trygve Reenskaug MVI like patterns Hannes series on MVI for Android (must read!) : Reactive apps with MVI Part 1 - Model Reactive apps with MVI Part 2 - View and Intent Reactive apps with MVI Part 3 - Stat
-
102: All Things Kotlin and notes from KotinConf
06/11/2017 Duração: 41minIn this episode of Fragmented, Donn and I decompress. I had the pleasure of attending KotlinConf 2017 - Jetbrain’s very first conference dealing completely just on Kotlin. I have a quick chat after Day 1 with Donn, giving him the juicy updates. We talk about how the conference was organized, some of the technical talks I attended (our thoughts on these…) and some of the folks I had the opportunity to meet. Overall it was an amazing time at KotlinConf and if you want to vicariously enjoy it, listen on to the show. Show Notes Pixel 2 Google Store - Pixel 2 dbrand skins Amanda's tweet on Samsung being annoying KotlinConf KotlinConf 2017 page Pier 27 photo Meeting folks Erik Meijer Talking Kotlin podcast - Hadi Harriri Talks at KotlinConf Amanda Hill - View state machine for network calls on Android (slides) Roman Elizarov - Introduction to Coroutines (slides from another conference) Jorge Costillo: Architectures Using Functional Programming Concepts (slides) Jorge's medium blog Coroutine introduction
-
101: Learning Kotlin - visibility modifiers, internal modifier, modules
30/10/2017 Duração: 23minAnother day, another opportunity to learn more Kotlin. In this episode, Kaushik walks through the concept of visibility modifiers. How do the modifiers in Kotlin differ from the ones in Java? What is this new internal modifier? When should I use each of the operators? Listen on to find out! Shownotes: Visibility modifiers Effective Java Item #13 - Ep 63 discussion: Why the default should be internal Scopes in programming language (white paper) Scopes in programming language (wikipedia) Image visualizing differences between the protected modifier in Java and Kotli Excellent resource explaining visibility modifiers in Kotlin Detailed shownotes at fragmentedpodcast.com #Sponsors Thanks to Buddybuild for sponsoring this episode of Fragmented! Ship apps faster with BuddyBuild
-
100: Episode 100 - Listener questions
23/10/2017 Duração: 01h18minThis is the 100th episode of Fragmented. We do things a little differently for our 100th episode and field a bunch of listener questions that came in. We're going a little meta and talking about our experience starting Fragmented, our process, how we pick guests and topics, our setups, our favorite Android libraries and classes (?!). Thank you so much for being a listener. We cannot express how grateful we are to have you. Shownotes Android from the trenches (first talk KG saw of Donn's) No “yes.” Either “HELL YEAH!” or “no.” Google Pixel 2 store Setup KG Shure Beta 87A USB Pre 2 LG 34UC87C 34 ultra wide display Headphones (KG has too many - ping em if you're curious) Donn Shure Beta 87A Heil PR 40 Focusrite Scarlett 2i2 Mackie Onyx Blackjack Dell E2715H monitor Android Resources Android Weekly Android dev digest Android resources (curated) one where we point people to Awesome android github .. and many many more Android View class Android Canvas class RxJava Dagger Roboguice Donn Felker - make the m
-
099: Effective Java - Item #17: Design and Document for Inheritance or Else Prohibit It
09/10/2017 Duração: 10minIn this episode, Donn talks about Item #17 from the Effective Java book: Design and Document for inheritance or else prohibit it. Learn how you should be documenting your code that is built for inheritance when you should not call overridable methods and much more. Show Links Fragmented - Effective Java Fragments Contact @fragmentedcast [twitter.com] @donnfelker and +DonnFelker @kaushikgopal and +KaushikGopalIsMe
-
098: Droidcon NYC - Kotlin, React Native, Android Security, Design Patterns and Doppl
02/10/2017 Duração: 56minIn this episode, Donn is at Droidcon NYC 2017. He sits down to chat with Dan Kim about Kotlin, Gabriel Peal about React Native, Scott Alexander-Bown about Android Security, Jose Alcérreca about the Android Architecture Blueprints and Kevin Galligan about the history of Droidcon NYC and his new library - Doppl. 2:07 - Dan Kim (Kotlin) 10:07 - Gabriel Peal (React Native) 23:43 - Scott Alexander-Bown (Android Security) 33:32 - Jose Alcérreca (Android Architecture Blueprints) 43:09 - Kevin Galligan (Droidcon & Doppl) Show Links 082: Airbnb’s Gabriel tells us how to animate with Lottie – Fragmented 085: Casual Kotlin conversation with Dan Kim – Fragmented GitHub - googlesamples/android-architecture: A collection of samples to discuss and showcase different architectural tools and patterns for Android apps. doppl by touchlab — touchlab Sponsors BuddyBuild - fragmentedpodcast.com/buddybuild Contact Dan Kim (@dankim) | Twitter Gabriel Peal (@gpeal8) | Twitter Scott Alexander-Bown (@scottyab) | Twitter J
-
097 : Android Architecture Paging Library with Florina Muntenescu
18/09/2017 Duração: 35minIn this episode Florina returns to talk to us about Google's recently announced paging library! The paging library is a powerful take on implementing paging functionality in general, not necessarily linked to a paritcular technology or library. Florina breaks down the different components and explains what specific function each of them play. We start off with DataSources, talk about when one would want to use "Tiled" or "Keyed" data sources, and then talk about making them work with RecyclerViews (which is really what 99% of us eventually want). Florina also explains the role of PagedLists, PagedListAdapters and so much more. If you ever wanted to get an overarching veiw of Google's first take on implementing the paging library, this is a great starting point. Listen on so you can understand, try it out and then give feedback to Google, to participate in the making of this new library. Show Notes Google Developer Days - Florina's segment on paging Paging library - developer docs DataSou
-
096 : Romain Guy on Displays, CPU's, GPU's and Color
11/09/2017 Duração: 57minIn this episode, Romain Guy from Google gives us the lowdown on a bunch of Hardware related stuff. He starts off by explaining how the refresh rates on screens matter, what it would mean to have something like a 120Hz display for Android screens, how things like V-Sync and double buffering work, using different screen technologies, how much work is done by the CPU and GPU and so much more. This was one of those episodes where we tried so hard to hold back for fear of recording for another 2 more hours. Romain is clearly one of the most knowledgable and interesting engineers to talk to today in the hardware land of Android. What a blast! Show Notes Photography Romain on Instagram Romain on Flicker Leica M10 Canon EOS 5DS R Screens, refreshing/rednering Color Fragmented 91 - Reddit AMA Romain on Reddit being spoiled by 120Hz What is V-Sync (pcworld.com) and Screen tearing (Wikipedia) Three-two pull down technique (filmaking) (wikipedia) OLED vs AMOLED (quora.com) OLED vs LCD (quora.com) Romain Guy's 2017 IO
-
095 : Room Databases with Florina Muntenescu
05/09/2017 Duração: 56minIn this episode, we talk to Florina from Google about the recently released Database library Room. Room was introduced as part of the Android Architecture components and has been picking up a lot of steam in the community. Room focuses on being a beautiful api layer to Sqlite. Florina explains to us how we can use Room to create a database, creating entities and how them map to tables, using DAOs to access data and even observe them Listen on for the details! Show Notes Official docs Android Architecture Components Room migration docs runInTransaction api (which Florina recommended if you're executing more than one SQL statement and don't want multiple event fired) Google Samples - Android Architecutre Components Florina's posts Florina's Medium blog posts Room & RxJava 7 steps to Room Understanding migrations with Room Testing Room migrations 360|AnDev talks Room - Behind the scenes (Yigit Boyar) Data Persistence in Android: Room for Improvement Micellaneous questions about Room (that we chopped
-
094: Design Patternitis - 5 Tips to Help You
28/08/2017 Duração: 16minIn this episode of Fragmented, Donn talks about a common problem almost all software engineers face in their career - Design Patternitis. So, you've read the books on design patterns and now you're applying them everywhere. Just because some code can be put into a pattern doesn't mean you should. Or should you? How can you apply them when needed? Donn shares 5 tips with you that you can use to help combat Design Patternitis. Show Notes Head First Design Patterns Design Patterns - GoF Book Patterns of Enterprise Application Archicture - Fowloer Code Review StackExchange Code Mentor Sponsors This episode is made possible by Kobiton - Fragmented. They're giving listeners a 15-day FREE trial with no credit card required!
-
093: RxJava intervention with Dan Lew
14/08/2017 Duração: 52minIn this episode of Fragmented, our friend and RxJava paragon of the Android - Dan Lew, returns for a record 3 and 1/2 time. We've been using RxJava over the years now and have even talked to Dan about it in previous episodes. How has our understanding of Rx use in Android changed over the years? We know some of the super standard usecases for RxJava in AndroidDev. But the important question to be asking is: when are the times we "shouldn't" be using RxJava? Are we over-complicating our code by shoe-horning it in different places. Concepts like functional programming and reactive state management have picked up steam again, how has this influenced our RxJava use? Show Notes Fragmented Ep.3 Dan Lew - The RxJava show (Part 1) Fragmented Ep.4 Dan Lew - The RxJava show (Part 2) Futures in Java (7) SqlBrite - lighteweight Rx wrapper for SQLiteOpenHelper Error handling with RxJava - Dan Lew OrmLite - Android Why not RxLifecycle Tweet quote - boilerplate is ok Introduction to Functional Reactive Programmin