The Context #androiddev https://github.com/artem-zinnatullin/TheContext-Podcast New Podcast about Android Development en-us Wed, 31 August 2016 08:45:00 EST artem.zinnatullin@gmail.com Artem Zinnatullin Artem Zinnatullin http://artemzin.com/ artem.zinnatullin@gmail.com Hannes Dorfmann http://hannesdorfmann.com/ Artem Zinnatullin no android,androiddev,context,development,software New Android Developers Podcast The Context is a podcast about Android Development https://github.com/artem-zinnatullin/TheContext-Podcast/releases/download/Episode_1/The.Context.episode.1.mp3 Architecture of modern Android apps Episode 1, Architecture of modern Android apps with Hannes Dorfmann https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_1.md 57:55 Thu, 04 Feb 2016 20:04:07 PST Hannes Dorfmann http://hannesdorfmann.com/ Artem Zinnatullin http://artemzin.com/ artem.zinnatullin@gmail.com In this episode we talked about software architecture on Android. We covered: MVC, MVVM, MVVMC, MVP, Flux and Cycle.js (a.k.a. Model-View-Intent) Episode 1: Architecture of modern Android apps

In this episode we have talked about software architecture on Android. We have covered:

  • MVC
  • MVVM
  • MVVMC
  • MVP
  • Flux
  • Cycle.js (a.k.a. Model-View-Intent)

Guest:

Hannes Dorfmann @sockeqwe, personal blog, GitHub

Open Source projects from Hannes:

Additional links

]]>
https://github.com/artem-zinnatullin/TheContext-Podcast/releases/download/Episode_2/The.Context.episode.2.mp3 Testing Episode 2, Testing with Mike Evans https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_2.md 1:42:01 Fri, 26 Feb 2016 06:25:07 EST Mike Evans http://michaelevans.org/ Artem Zinnatullin http://artemzin.com/ artem.zinnatullin@gmail.com In this episode we talked about testing in Android Development. We covered: Unit testing, Integration testing and Functional (UI) testing as well as Robolectric, Android Instrumentation API, UI Automator, Espresso, Robotium, Appium, JUnit, AssertJ, Thruth, Spock, Spek, and some questions from out listeners. Episode 2: Testing

In this episode we have talked about testing in Android Development. We have covered:

Host:

Artem Zinnatullin @artem_zin, personal blog, GitHub

Guest:

Mike Evans @m_evans10, personal blog, GitHub

Open Source projects from Mike:

Additional links:

]]>
https://github.com/artem-zinnatullin/TheContext-Podcast/releases/download/Episode_3_Part_1/The.Context.episode.3.Part1.mp3 RxJava Episode 3, Part 1: RxJava with its core developer David Karnok https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_3_Part_1.md 44:12 Wed, 9 March 2016 00:00:07 EST David Karnok http://akarnokd.blogspot.com/ Artem Zinnatullin http://artemzin.com/ artem.zinnatullin@gmail.com In this episode we talked about RxJava. We covered: the history and the current state of RxJava as well as David Karnok's background and his earlier implementation of Reactive Extensions for JVM. Episode 3, Part 1: RxJava with its core developer David Karnok

In this part of the episode we have talked about RxJava. We have covered:

  • Past of RxJava
  • Background of David Karnok and his earlier implementation of Reactive Extensions for JVM
  • Current state of the RxJava development
  • Reactive Streams specification
  • JDK 9 Flow API
  • RxJava v2 and Android compatibility

Host:

Artem Zinnatullin @artem_zin, personal blog, GitHub

Guest:

David Karnok @akarnokd, personal blog, GitHub

]]>
https://github.com/artem-zinnatullin/TheContext-Podcast/releases/download/Episode_3_Part_2/The.Context.episode.3.Part2.mp3 RxJava Episode 3, Part 2: RxJava tech details with its core developer David Karnok https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_3_Part_2.md 37:30 Wed, 16 March 2016 20:52:07 EST David Karnok http://akarnokd.blogspot.com/ Artem Zinnatullin http://artemzin.com/ artem.zinnatullin@gmail.com We continue the RxJava discussion and go technical on Schedulers, subscribeOn and observeOn. Episode 3, Part 2: RxJava tech details with its core developer David Karnok

More technical questions about RxJava. We have covered:

  • Schedulers.computation() in RxJava
  • Schedulers in RxJava
  • subscribeOn() and observeOn()
  • Testing code with RxJava
  • Extending the Observable

Guest:

David Karnok @akarnokd, personal blog, GitHub

Host:

Artem Zinnatullin @artem_zin, personal blog, GitHub

]]>
https://github.com/artem-zinnatullin/TheContext-Podcast/releases/download/Episode_4/The.Context.episode.4.mp3 Indie Development Episode 4: Indie Development with Chris Lacy https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_4.md 1:07:44 Sun, 1 May 2016 5:44:07 EST Chris Lacy https://twitter.com/chrismlacy In this episode we talked about Indie Development. Covering: How to get started, project management, testing and Continuous Integration, designing without being a designer and Play Store/IAP and subscriptions. Episode 4: Indie Development

In this episode we have talked about Indie Development. We have covered:

  • How to get started in Indie development
  • Project management as single developer
  • Testing and Continuous Integration
  • How does an Indie developer decides which libraries or technologies to use?
  • Designing without being a designer
  • Play Store, in app purchases and subscriptions

Guest:

Chris Lacy @chrismlacy

Apps published by Chris Lacy on Google Play Store:

Hosts:

Additional links:

]]>
https://github.com/artem-zinnatullin/TheContext-Podcast/releases/download/Episode_5/The.Context.episode.5.mp3 Android TV Episode 5: Android TV with Joe Birch https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_5.md 49:22 Fri, 1 July 2016 19:06:00 EST Joe Birch http://hitherejoe.com/ In this episode we talked about Android TV. We covered: Leanback Library, MVP Pattern to share code the Recommendation System and what's new in Android Nougat for Android TV Episode 5: Android TV

In this episode we have talked about Android TV. We have covered:

  • What is Android TV
  • Leanback Library
  • MVP Pattern to share code between Phone and Android TV App
  • Android TV Recommendation System
  • What's new in Android Nougat for Android TV

Guest:

Joe Birch @hitherejoe

personal blog, GitHub, Medium

Hosts:

Additional links:

]]>
https://artemzin.com/static/thecontext/episodes/The.Context.episode.6.part1.mp3 Continuous Integration and Continuous Delivery Episode 6, Part1: Continuous Integration (CI) and Continuous Delivery (CD) with Fernando Cejas from SoundCloud https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_6_part1.md 43:14 Mon, 22 August 2016 7:00:00 EST Fernando Cejas http://fernandocejas.com/ In this episode we talked about Continuous Integration and Continuous Delivery. Episode 6, Part1: Continuous Integration (CI) & Continuous Delivery (CD)

How to listen & subscribe

In this episode we have talked about Continuous Integration and Continuous Delivery. We have covered:

  • Continuous Integration
  • Continuous Delivery
  • Pair Programming
  • Release Train
  • Soundcloud's CI & CD Pipeline
  • Testing

Guest:

Fernando Cejas @fernando_cejas, personal blog, GitHub

Hosts:

Additional links:

]]>
https://artemzin.com/static/thecontext/episodes/The.Context.episode.6.part2.mp3 Continuous Integration and Continuous Delivery Episode 6, Part2: Continuous Integration (CI) and Continuous Delivery (CD) with Fernando Cejas from SoundCloud (& EVERYTHING & LIFE) https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_6_part2.md 45:55 Wed, 31 August 2016 07:45:00 EST Fernando Cejas http://fernandocejas.com/ We continue the Continuous Integration and Continuous Delivery discussion. Episode 6, Part2: Continuous Integration (CI) & Continuous Delivery (CD) with Fernando Cejas from SoundCloud

How to listen & subscribe

In this episode we have talked about Continuous Integration and Continuous Delivery. We have covered:

  • UI Tests
  • Continuous Integration
  • Continuous Delivery
  • Soundcloud's CI & CD Pipeline
  • Testing in general
  • EVERYTHING & LIFE

Guest:

Fernando Cejas @fernando_cejas, personal blog, GitHub

Hosts:

Additional links:

]]>
https://artemzin.com/static/thecontext/episodes/The.Context.episode.7.mp3 React Native Episode 7: React Native with Felipe Lima from Airbnb https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_7.md 52:41 Fri, 2 December 2016 17:00:00 EST Felipe Lima https://medium.com/@felipecsl In this episode we talked about React Native, a cross platform solution to build native mobile apps using JavaScript and React, and how React Native is used at Airbnb. Episode 7: React Native with Felipe Lima from Airbnb

How to listen & subscribe

In this episode we have talked with Felipe Lima about React Native, a cross platform solution to build native mobile apps using JavaScript and React, and how React Native is used at Airbnb. We have covered:

  • Advantages and Disadvantages of React Native
  • React Native build tools, IDE and debugging
  • How to write your own custom component
  • Lifecycle, state restoration and process death in React Native apps
  • Integration and interaction with android system services
  • Sharing code with iOS
  • Usage for React Native in Airbnb's android and iOS app

Guest:

Felipe Lima @felipecsl, personal blog, personal website, GitHub

Hosts:

Additional links:

]]>
https://artemzin.com/static/thecontext/episodes/The.Context.episode.8.mp3 Damn Functional Programming Episode 8: Damn Functional Programming with Paco Estevez https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_8.md 01:08:56 Thu, 2 March 2017 14:30:00 EST Paco Estevez http://www.pacoworks.com/ In this episode we talked about Functional Programming and how Paco Estevez applies Functional Programming in his android apps. Episode 8: Damn Functional Programming with Paco Estevez

How to listen & subscribe

In this episode we have talked with Paco Estevez about Functional Programming and how he applies Functional Programming in his android apps. We have covered:

  • Concepts of Functional Programming
  • Monads, Pure Functions, Immutability, Tuples, Union Types
  • Pattern Matching
  • Error Handling
  • Functional Reactive Programming with RxJava
  • Restoring state in Android apps

Guest:

Paco Estevez @pacoworks, personal blog, GitHub

Hosts:

Additional links:

Talks, books and websites about Functional Programming:

Some of Paco's open source libraries:

]]>
https://artemzin.com/static/thecontext/episodes/The.Context.episode.9.part1.mp3 Kotlin Gradle Plugin, Compilers and Build Systems Episode 9, Part 1: Kotlin Gradle plugin, compilers and build systems with Alexey Tsvetkov https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_9_Part1.md 45:42 Tue, 11 April 2017 08:30:00 EST Alexey Tsvetkov https://twitter.com/tsvtkv In this episode we talked with Alexey Tsvetkov who is part of the Kotlin team at jetbrains about Kotlin's gradle plugin, compilers and build systems in general. Episode 9, Part 1: Kotlin Gradle plugin, compilers and build systems with Alexey Tsvetkov

Important note for Pocket Casts app users: Unfortunately Pocket Casts android app has a problem with downloading our episodes (to listen to them offline). It seems that while downloading their android app is using a old http client which doesn't support latest TLS cipher standards we use on server side to host our episodes.

Nevertheless, streaming our episodes (instead of downloading) works in Pocket Casts android app.

See this tutorial: Pocket Casts: Streaming

How to listen & subscribe

In this episode we have talked with Alexey Tsvetkov who works at the Kotlin team at jetbrains on Kotlin's gradle plugin, compilers and build systems in general.

In the first part (of two parts) we have covered:

  • Gradle Build System and its build phases
  • Kotlin Gradle plugin
  • Compiling mixed Kotlin and Java projects
  • Incremental compilation
  • How a compiler works
  • Compiler Frontends and Backends

Guest:

Alexey Tsvetkov @tsvtkv, GitHub

Hosts:

Additional links:

]]>
https://artemzin.com/static/thecontext/episodes/The.Context.episode.9.part2.mp3 Gradle, Buck and Bazel Episode 9, Part 2: Gradle, Buck and Bazel with Alexey Tsvetkov https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_9_Part2.md 01:04:12 Fri, 14 April 2017 08:30:00 EST Alexey Tsvetkov https://twitter.com/tsvtkv We continue our discussion with Alexey Tsvetkov talking about build systems for android development. Episode 9, Part 2: Gradle, Buck and Bazel with Alexey Tsvetkov

Important note for Pocket Casts app users: Thanks to the great support of Pocket Casts team we were able to fix the "download episodes issue" (see show nodes of episode 9, part 1).

How to listen & subscribe

We have continued our discussion with Alexey Tsvetkov. In the second part we have talked about build systems for android development.

We have talked about:

Guest:

Alexey Tsvetkov @tsvtkv, GitHub

Hosts:

Additional links:

]]>
https://artemzin.com/static/thecontext/episodes/The.Context.episode.10.mp3 Kotlin Language Design Nitpicking Episode 10: Kotlin Language Design Nitpicking with Dmitry Jemerov from JetBrains https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_10.md 01:15:04 Mon, 8 May 2017 15:30:00 EST Dmitry Jemerov https://twitter.com/intelliyole We've talked to Dmitry Jemerov from Kotlin team at JetBrains about some language design decisions made in Kotlin. Episode 10: Kotlin Language Design Nitpicking with Dmitry Jemerov from JetBrains

We know about sound volume level issue #67 and tried our best to maximize it in this episode, but Artem used his crappy headphones mic instead of professional one and we couldn't achieve what we wanted, sorry about that, we'll try our best in next episode.

How to listen & subscribe

We've talked to Dmitry Jemerov aka @yole from Kotlin team at JetBrains about some language design decisions made in Kotlin:

  • Package visibility in Kotlin
  • Java static equivalent in Kotlin
  • Companion objects
  • Static extension functions
  • Classes are final by default but fields are public
  • Unchecked exceptions
  • Generics
  • Base types: Any, Unit, Nothing
  • Traits
  • Delegates
  • Data classes
  • Upcoming features

Guest:

Dmitry Jemerov @intelliyole, personal blog, GitHub

Hosts:

Additional links:

]]>
https://artemzin.com/static/thecontext/episodes/The.Context.episode.11.mp3 Migration to RxJava 2 Episode 11: Migration to RxJava 2 with Artur Dryomov from Juno https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_11.md 52:46 Mon, 15 May 2017 09:30:00 EST Artur Dryomov https://github.com/ming13 We've talked to Artur about Juno's way to migrate their Android Riders App from RxJava 1 to RxJava 2. Episode 11: Migration to RxJava 2 with Artur Dryomov from Juno

How to listen & subscribe

We've talked to Artur about Juno's way to migrate their Android Riders App from RxJava 1 to RxJava 2. We have covered:

  • Migration strategy at Juno
  • What's different in RxJava 2.0?
  • Null values in RxJava 2
  • Flowable or Observable?
  • Other Rx Types: Single, Maybe and Completable
  • RxJava 2 interop library
  • RxJava 2: Default UncaughtExceptionHandler logs exceptions silently in JVM unit tests
  • RxJava 3

Guest:

Hosts:

Additional links:

]]>
https://artemzin.com/static/thecontext/episodes/The.Context.episode.12.mp3 Instant Apps Episode 12: Instant Apps with Lukas Olsen and Christian Bahl https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_12.md 31:47 Mon, 24 May 2017 09:30:00 EST Christian Bahl https://twitter.com/christian_bahl Lukas Olsen Hannes Dorfmann http://hannesdorfmann.com/ Hannes chatted with his coworkes Lukas and Christian about Instant Apps, AMP pages and more. Episode 12: Instant Apps with Lukas Olsen and Christian Bahl

How to listen & subscribe

We apologize for the bad sound quality and low sound volume.

Hannes chatted with his coworkes Lukas and Christian about Instant Apps. Unfortunately, Artem wasn't able to join us for this episode. We have covered:

Guest:

Hosts:

Additional links:

]]>
https://artemzin.com/static/thecontext/episodes/The.Context.episode.13.mp3 Conductor Episode 13: Conductor with Eric Kuck https://github.com/artem-zinnatullin/TheContext-Podcast/blob/master/show_notes/Episode_13.md 01:04:23 Fri, 4 August 2017 09:30:00 EST Eric Kuck https://twitter.com/eric_kuck Hannes Dorfmann http://hannesdorfmann.com/ Artur Dryomov https://github.com/ming13 In this episode we chatted with Eric Kuck about Conductor, a framework created by Eric as alternative to Fragments. Episode 13: Conductor with Eric Kuck

How to listen & subscribe

Announcement: We have a new Co-Host for our podcast: Welcome Artur Dryomov!

We think that we need at least two hosts on each episode to produce a high-quality content. Unfortunately, podcast production is time-consuming but now there are three hosts, so we can ensure that at least two of us have time to produce a new episode regularly.

In this episode Artur and Hannes chatted with Eric Kuck about Conductor, a framework created by Eric as alternative to Fragments. We discussed:

  • Motivation behind Conductor
  • Conductor components: Controller, Router, ChangeHandler and ControllerTransaction
  • How Conductor works behind the scenes
  • Single Activity Applications
  • Testing
  • The future of Conductor

Guest:

Hosts:

Additional links:

]]>