Kotlin Coroutines and Android sitting in a tree

Note: In case this talk is of interest for the conference, please discuss my availability to deliver this talk with me before selecting it (due to the delayed CFP process, also see email thread with Craig).

Since the release of Kotlin 1.1 there is now the new language feature of Kotlin Coroutines available for use in Java and Android projects. Coroutines are a new way to write asynchronous and non-blocking code. They can be thought of as light-weight threads without having to deal with all the problems that threads bring to the table.

A lot of developers think that Kotlin Coroutines are mainly or only useful for Kotlin on the JVM, but that’s not true. There are a variety of use cases in which the application of Coroutines can make a lot of sense on Android.

 
1 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

This talk is introducing the ideas behind Kotlin Coroutines, showing how to use them in Kotlin code for both the JVM and Android via the kotlinx-coroutines APIs and then exploring specific applications in Android. Part of this is a deeper look into the use of Coroutines in higher-level frameworks such as AsyncAwait and Anko.

Learning Outcome

Concepts behind Kotlin Coroutines, usage on the JVM and on Android, introduction of a couple of frameworks around the built-in Kotlin APIs.

Target Audience

Android developers, JVM developers & anyone interested in new languages

schedule Submitted 4 months ago

Comments Subscribe to Comments

comment Comment on this Proposal

    • Liked Nick Moore
      keyboard_arrow_down

      Nick Moore - Easy IoT with MicroPython on ESP SoCs

      Nick Moore
      Nick Moore
      Software Consultant
      Mnemote
      schedule 4 months ago
      Sold Out!
      45 mins
      Talk
      Intermediate

      Implementing IoT projects doesn't have to be difficult, time consuming and expensive.

      MicroPython brings Python 3 to embedded platforms, and since Python is one of the easiest languages to learn, and there are WiFi SoCs available around $5, this is a great way to get started in IoT! We'll look at:

      • What is a System-on-a-Chip (SoC) with some specific examples based on the ESP8266 and ESP32 WiFi SoCs
      • Why Python? A quick look at C and IoT vulnerabilities
      • How to install MicroPython and communicate with the ESP SoC to write programs
      • What it is capable of and what things are being developed for it
      • How to contribute to the MicroPython project
    • Liked Christopher Biggs
      keyboard_arrow_down

      Christopher Biggs - Devops For Dishwashers - Bringing Grown-Up Practices to the Internet of Things

      Christopher Biggs
      Christopher Biggs
      Director
      Accelerando Consulting
      schedule 4 months ago
      Sold Out!
      45 mins
      Talk
      Intermediate

      The Internet of Things is undeniably here. In the last year we have heard tell of of security cameras, dishwashers and even ovens roaming the internet unsupervised.

      As a consultant and writer about the Internet of Things, I have worked to bring my experience from 20 years in manufacturing and internet security to the IoT world. This presentation will cover the tools and techniques I use to build secure, reliable and rapidly updatable IoT devices.

      The techniques covered are applicable to both the simplest embedded devices with no general-purpose OS, and more powerful devices running Linux or Windows.

    • Liked Andrew Harvey
      keyboard_arrow_down

      Andrew Harvey - They're Good Dogs: A Gentle Introduction to Machine Learning with CoreML and Vision

      Andrew Harvey
      Andrew Harvey
      Coder & Tinkerer
      ¯\_(ツ)_/¯
      schedule 2 months ago
      Sold Out!
      45 mins
      Talk
      Intermediate

      At WWDC this year, Apple announced their CoreML and Vision frameworks. These allow you do easily implement machine learning models inside your app, running on the GPU on an iPhone. Suddenly a world of machine learning is possible in ways that it wasn't before.

      In this talk, you'll see a real world example written in just hours which implements a freely available object classification model to find out who is a good dog. Silly as this sounds, it shows the power now at our disposal.

      We’ll look at what you need to do to build a simple app, and then dig into some of the innards of machine learning to see what we need to do to create something really useful.

    • Liked Florian Harr
      keyboard_arrow_down

      Florian Harr - The Internet of Things and Mobile Clients: Don't let your toaster bring down the internet!

      Florian Harr
      Florian Harr
      Software Engineer
      stable|kernel
      schedule 4 months ago
      Sold Out!
      45 mins
      Talk
      Intermediate

      Amazon Alexa, Google Home, HomeKit, and Cortana are more than personal assistants and seem to be the next big battle the big four will go into, but why is this so important to them? There are two components to those assistants; the first is integration with your personalized data gathered from the apps you use and the second is their IoT capability automating your devices at home.

      With almost every manufacturing company hiring engineers like crazy to get their devices into the cloud, the results are very different ranging from really bad to great solutions. This behavior shows that we are in the Wild West when it comes to how cloud integrations, device security, and backend security is being implemented. That is why we as pioneers of this technology have to help shape the future by avoiding common pitfalls, secure private data responsibly and don’t end up accidentally weaponizing our IoT creations.

      In this talk, I’m going to talk about lessons learned from developing a major IoT platform that controls about a quarter million appliances in the US and Canada. We’re also going to take a look at pitfalls we have overcome and which possibly nice looking shortcuts you should avoid no matter how small your iOS client or IoT device is.

    • 45 mins
      Talk
      Advanced

      Automated Acceptance Testing is one of the essential ingredients of a healthy agile software practice. Unfortunately, attempts to adopt this on mobile usually result in the creation of slow, brittle and highly complex UI tests - where did we go wrong?

      This approach is a far cry from the original idea of acceptance testing and does little to improve the reputation of mobile development. Automation is meant to bring confidence – but used in this way, it creates more problems than it solves. This leaves development teams and businesses left on a seemingly never ending quest for the next thing - usually in the guise of a new framework promising to be better than the last e.g. KIF, Calabash, Appium etc.

    • Samantha Connelly
      Samantha Connelly
      Quality Activist
      EPAM Systems
      schedule 4 months ago
      Sold Out!
      30 mins
      Demonstration
      Intermediate

      How can you use robots to help you test?

      Meet Tappy McTapFace, Tappy is a robot that was built during a 2 day hackathon to help demonstrate how robots could be used to automate testing on mobile apps. It's made out of 3D printable parts, based on Taptser 2.0 open source designs and can be programmed in javascript.

      You could also use a robotics challenge to engage your team around testing ideas. Sam will give her insights from running multiple testing challenges that engaged over 100 software engineers. From a lunch time robotics challenge to a company wide bug bash. Sam has run many events that help raise a companies testing culture.

    • Liked Mitchell Tilbrook
      keyboard_arrow_down

      Mitchell Tilbrook - React Native Better Than Native

      Mitchell Tilbrook
      Mitchell Tilbrook
      Lead Software Engineer
      SeatFrog
      schedule 4 months ago
      Sold Out!
      45 mins
      Talk
      Intermediate

      React Native allows developers to create native cross-platform using JavaScript, or really anything that will compile to JS C#, TypeScript, or even F#. But why would you use React Native? How run-time typed language like JavaScript be a better choice for developing apps than say, Swift, Java, Kotlin, C# ( Xamarin ) or C++ all compile time static type checked languages. Firstly is just that, there is no need for a compile step, React Native can update the JS without having to reload compile and replace the previous application. Compiling an app everytime can take a long time for a small project this might be 1-5min, but larger apps can easily take as long as 45 minutes or more to build a single app.

      In this talk, we will explore how features like hot code reloading allow for much faster edit and run cycles, how you can use tools like Flow or TypeScript to add type safety without incurring the long compile times found in more native methods. To Prove the how simple and fast React Native is to builds apps we will create a simple app live on stage. To top it all off, you can even embed React into existing Native Apps, avoiding the need for total rewrite.

    • Liked Florian Harr
      keyboard_arrow_down

      Florian Harr - Cross Platform Development with Xamarin! Is It Worth It?

      Florian Harr
      Florian Harr
      Software Engineer
      stable|kernel
      schedule 4 months ago
      Sold Out!
      45 mins
      Talk
      Advanced

      Xamarin as a compiled cross-platform solution claims to offer obvious benefits that seem to make it the perfect solution when trying to reuse code or integrate with an existing solution. The tech industry increasingly requests Xamarin experience and more Xamarin consultancies and startups pop up in the scene, making it attractive for newcomers and job seeker alike. But it wouldn’t be the first solution to promise everything and deliver nothing. With Microsoft’s seemingly disinterest with its own Windows Phone, Xamarin as a Visual Studio native seems to be their biggest stake in the mobile market, but how good is their play and is it worth even looking into this technology?

      Three years ago I wrote my dissertation about the usability of Xamarin, evaluating Xamarin against native development and doing performance testing between the two approaches. Back then, it was clear that Xamarin had a lot of work to do to overcome being a nice product only for a small number of businesses, still lacking a long list of important things. In the meantime, Microsoft has taken over and we see more Xamarin apps pop up every day, so it is time to reevaluate.

      In this talk, we’re going to explore Xamarin as a cross-platform solution and we compare it with other promising solutions such Facebook’s React Native under the aspects of usability and performance. Having heard the talk you will leave with an overview of key technologies in the cross-platform sector as well as an idea when Xamarin can help you boost your business and what pitfalls to avoid. Distilling the essentials of a 110-page dissertation and cleaning up with myths from the PhoneGap era that will make it clear whether or not this is just another bubble or this has real potential.

    • Liked Florian Harr
      keyboard_arrow_down

      Florian Harr / Jason Atwood - Keeping up with the enemy! Software tools to keep branding and feature parity with your iOS app!

      30 mins
      Demonstration
      Advanced

      You’re busy implementing a new feature in your Android app. Part of this new feature requires processing and adding visual assets, images, colors etc. from your designers. At the same time you have a set of strings, numbers and colors from existing apps and resources that you would like to keep in line with your recent work. This tedious process is critical to a great app and a constantly great experience between all your projects but not the best use of your expertise.

      Little do you know a developer on another platform is implementing the same feature and struggling with the same problem. With multiple developers interpreting the same designs, the Android and iOS apps start to diverge. Color schemes, dialog messages and assets will begin to look different. Fixing this discrepancy before a release is a consuming task with a mediocre result.

      To eliminate this divergence, we will demo the brand new “Remixer” framework from the Material Foundation, which aims at keeping experiences in sync between Android and iOS. We will also present our collective experience from a real-world project by showing best practices and other tools that have helped keep the UI in sync.

    • Liked Kai Koenig
      keyboard_arrow_down

      Kai Koenig - Android’s WebView - how (not) to use it and tales from the trenches

      45 mins
      Talk
      Intermediate

      How many times have you heard this or similar: “Hey, can’t we just build a ‘wrapper’ app around our mobile web site or web app? We just need to be present in the Play Store with anything, really”? Then you start to explain to people why that is a good or bad idea and how their mobile web app might be completely wrongly architected for such an endeavour. At this point the topic of Phonegap usually pops up and “that it should just take a couple of minutes to get that all done, right”. The story goes on and on from here.

      But in all seriousness, Android’s WebView has its place. It’s a reasonably versatile and more or less well designed component Android developers can use to embed browser-based elements into their app. And yes - it can also be used to drive a complete mobile web app inside of your actual Android app. But it is clearly its own beast and it can create a lot of havoc in the heart of your app, too. Starting with having to deal with performance problems, having to implement support for older implementations of the Android WebView in your Markup, CSS and JS code, up to inadvertently opening up potential security holes.

    • Liked Nick Moore
      keyboard_arrow_down

      Nick Moore - The Internet of (Not Shit) Things

      Nick Moore
      Nick Moore
      Software Consultant
      Mnemote
      schedule 4 months ago
      Sold Out!
      45 mins
      Talk
      Intermediate

      Trying to better understand the problems of the Internet of Things by actually listening to its detractors. There's a lot of valid criticism of the Internet of Things, generally under the catchy phase 'The Internet of Shit'.

      This talk is a light-hearted look at the problems of existing IoT devices, and how to be constructive by transforming criticisms into requirements for a better Internet of Things. And we'll look at some of the proposed solutions for better ways to do IoT.