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 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 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 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 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 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 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 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 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 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 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 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/ 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 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/ 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 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/ 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 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 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 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/ 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 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 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 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 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 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 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 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 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 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 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 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 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:

]]>