Fragmented - Android Developer Podcast

  • Autor: Vários
  • Narrador: Vários
  • Editora: Podcast
  • Duração: 181:06:30
  • 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

  • 122: Learning Kotlin - typealias

    23/04/2018 Duração: 12min

    In this episode of learning kotlin, we look at the typealias keyword. The typealias keyword allows you to provide alternate names for existing types and and function types. Learn how, why and when you can use it in this episode Show Notes Kotlin Inline functions Sponsors Microsoft AppCenter – Sign up now on appcenter.ms and spend less time managing your app lifecycle and more time coding. Contact @fragmentedcast [twitter.com] @donnfelker and

  • 121: Functional Programming with Kotlin Arrow team - 2

    16/04/2018 Duração: 53min

    In this episode of Fragmented, we wrap up another 2 part series. We dive into the details of the Arrow library with this one. Arrow is a library in Kotlin that helps bring many of the functional paradigms of programming to your daily development. We talk to the team about how it all started, the history of the library, why we even need arrow, how Arrow is structured, some of the pitfalls, and in the end some resources on getting us started with Arrow. Show Notes Arrow library Raul: Announcing Arrow for Kotlin Jorge: Caster.io course - FP in Kotlin with Arrrow Jorge: Kotlin Conf - Architectures Using Functional Programming Concepts Paco: Arrow as a companion to Kotlin Paco: Simple dependency injection in Kotlin (part 1) Mario: Book on FP Arrow Library eco system: Ank, Kollect, Helios Misc Arrow V 0.7.0 - now available Higher Kinded types KEEP - Type classes and Higher Kinded Types proposal Kotlin Arrow docs Get help on Arrrow KotlinLang slack channel #arrow Gitter: Arrow Sponsors Microsoft AppCenter – S

  • 120: Functional Programming with Kotlin Arrow team - 1

    09/04/2018 Duração: 28min

    In this episode of Fragmented, we kick off another 2 part series. This time it's with the Kotlin Arrow team! In the first part, we talk to Jorge, Raul and Paco about Functional programming in general, some core FP concepts, do we already use functional programming today, what are pure functions, do I need to know complicated math to do FP, Immutability, Referential transparency and so much more. These are all pretty daunting words, but the Arrow team break it down and make it really simple for us to understand. Show Notes Kotlin Arrow team Paco (website) Raúλ Raja Jorge Castillo Mario Arias (in spirit) Misc Arrow KT 47 degrees Jorge's caster.io course Blogs & Presentations on FP - Arrow docs Raul's presentation on Functional programming patterns Sponsors Microsoft AppCenter – Sign up now on appcenter.ms and spend less time managing your app lifecycle and more time coding. Contact @fragmentedcast [twitter.com] Paco Raúλ Raja Jorge Castillo Mario Arias (in spirit) @donnfelker and +DonnFelker @kaushik

  • 119: Flutter with GDE Eugenio Marletti - Part 2

    02/04/2018 Duração: 52min

    In part 2 of this series, To help us understand Flutter in-depth we talk to Flutter's GDE Eugenio Marletti. In Part 1 of this 2 part series, Eugenio helps us undersatnd what flutter is, why it was created, how it works, some really cool features with Flutter and why an AndroiDev today should really give Flutter a good look. We got so carried away in conversation, that we were forced to break this episode into two parts. If you missed part 1 but want go back and listen you'll find it here: 118: Flutter and cross platform development with GDE Eugenio Marletti - Part 1) Show Notes RxDart Dart 2 Flutter Weekly Flutter on Gitter Flutter on Codelab Flutter on Github https://play.google.com/store/apps/details?id=io.flutter.gallery&hl=en Sponsors Microsoft AppCenter – Sign up now on appcenter.ms and spend less time managing your app lifecycle and more time coding. Contact @workingkills [twitter.com] @fragmentedcast [twitter.com] @donnfelker and

  • 118: Flutter and cross platform development with GDE Eugenio Marletti - Part 1

    19/03/2018 Duração: 31min

    In this episode, we dive into one of our most requested topics and highly anticipated ones - Flutter. To help us understand Flutter in-depth, we talk to Flutter's GDE Eugenio Marletti. In Part 1 of this 2 part series, Eugenio helps us understand what flutter is, why it was created, how it works, some really cool features with Flutter and why an AndroiDev today should really give Flutter a good look. We got so carried away in conversation, that we were forced to break this episode into two parts. Stay tuned for Part 2. Show Notes Clue app Announcing Flutter beta 1 Embedding Flutter into an existing app (examples flutter_view & platform_view) Stepper widget Getting started on Flutter (docs) Compiled vs Interpreted languages Sponsors Microsoft AppCenter – Sign up now on appcenter.ms and spend less time managing your app lifecycle and more time coding. Contact @workingkills [twitter.com] @fragmentedcast [twitter.com] @donnfelker and

  • 117: Multi-Module Builds in Gradle

    12/03/2018 Duração: 55min

    In this episode, Donn and Kaushik sit down to talk about multi-module builds with Gradle. They talk about how you can separate your build into multiple different modules and how you might go about implementing it. They discuss build performance with incremental compilation, isolation of features, code ownership and how to handle cross-cutting concerns like persistence and networking. Show Notes Instant Apps Episode Android Library Module vs Feature Module Implementation vs Compile - A Visual Guide Writing a Modular app in Android ButterKnife Woes Android Studio and Pure Java Modules Sam Edwards buildSrc and build.gradle Autocomplete Post Sam Edwards Gradle Ext Video Sam Edwards Gradle AutoComplete Phil Breault Renaming Gradle Build Files Google Arch Samples - versions.gradle Sponsors Microsoft AppCenter – Sign up now on appcenter.ms and spend less time managing your app lifecycle and more time coding. Contact @fragmentedcast [twitter.com] @donnfelker and

  • 116: Learning Kotlin - inline, noinline, crossinline

    05/03/2018 Duração: 26min

    In this episode of learning kotlin, we look at 3 important keywords - inline, noinline and crossinline. The inline keyword is super common and you've probably run across this one at some point. What does it mean and when is it useful? We also look at the related but seldom used variants noinline and crossinline. Show Notes Kotlin Inline functions Code Snippets: Look at the official shownotes page for some code snippets Misc: PublishedApi annotation Matt Logan's post on inline keyword Ben Daniel Medium post - inline, noinline, crossinline — What do they mean? Sponsors Microsoft AppCenter – Sign up now on appcenter.ms and spend less time managing your app lifecycle and more time coding. Contact @fragmentedcast [twitter.com] @donnfelker and

  • 115: Architecture Components with Akshay Chordiya

    26/02/2018 Duração: 01h04min

    In this episode, we talk about the different parts of Android architecture components. We've had episodes on Room and the paging library, so in this one, we thought we'll touch a little on Lifecycle Owners & Observers, ViewModels, and LiveData. Akshay Chordiya helps break it down. Listen on! Show Notes Android Architecture Components Lifecycle Handling lifecycles with Lifecycle-Aware Components Lifecycle Owner Lifecycle Observer Best practices for lifecycle-aware components Caveat: handling onStop events ViewModels Architecture Guide: ViewModels View Model Code snippet for a ViewModelFactory: class UserVMFactory( val user: MyUser ) : ViewModelProvider.Factory { override fun create(modelClass: Class): T { return when { modelClass.isAssignableFrom(UserVM::class.java) -> UserVM(user) as T else -> throw IllegalArgumentException("Unknown ViewModel class") } } } LiveData L

  • 114: All About CI & CD on App Center w/ Patrick Nikoletich

    19/02/2018 Duração: 01h05min

    In this episode, we talk to Patrick Nikoletich from Microsofts App Center team. We explore the intricacies of the Continuous Integration server system on the App Center platform. From what App Center is, all the way down into the weeds to how to get your app building on App Center in a few short steps. We also get into the nitty gritty details around how you can customize your build with build hooks, install utilities and binaries, work with a command line interface, shell scripts, the App Center API much much more. This episode shows a new side of Microsoft that we have not seen in a long time and its a breath of fresh air. Also, view the show notes at http://fragmentedpodcast.com/episodes/114/ Show Notes VSTS: https://www.visualstudio.com/team-services/ Microsoft on GitHub: https://github.com/Microsoft The App Center CLI: https://github.com/Microsoft/appcenter-cli Azure function that automatically creates branch configurations for PR's and communicates status back to Github.: https://github.com/pniko/fun

  • 113: Chatting with Pinterest's Christina Lee

    12/02/2018 Duração: 44min

    In this episode we catch up with a highly energetic but sick Christina Lee about the delightful details in the Pinterest app, delving with the dark side (Swift), giving live coding presentation talks and touching on some Kotlin details like covariance and contravariance. Listen on for a power-packed 40 minutes. Show Notes Google IO episode (#84) for Christina's running story Pinterest app Calligraphy by Chris Jenkins Android 8.0 Custom fonts Material design guidelines Brio design system by Pinterest's Lin Wang and Thorben Primke Pinterest stars you should follow on Twitter -> Mallika & Alice Christina's code from Kotlintown talk Christina & Huyen presentation from KotlinConf 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. Show Notes Google IO episode (#84) for Christina's running story Pinte

  • 112: Effective Java v3 - Item #9 - Prefer try with resources to try finally

    08/02/2018 Duração: 16min

    In 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: 13min

    In 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: 41min

    In 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: 22min

    In 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: 54min

    In 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: 46min

    In 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: 58min

    In 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: 01h11min

    In 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: 53min

    In 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: 01h06min

    In 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

página 8 de 14