Schedule – Kotlin/Mobile

I Code Java Conference 2019

08:45

Registration

09:00 - 12:00

Converting from Java to Kotlin: Bring your own code

Have you wondered whether it is difficult to develop applications in Kotlin? Too scared to take the leap?During this workshop, we will explore techniques for converting from Java to Kotlin starting with some sample Spring Boot applications. The attendees are encouraged to bring along code that they are interested in converting from Java to Kotlin.Attendees should leave the workshop with some tools, techniques, and experience for a smooth conversion to Kotlin.Attendees should bring a laptop with their preferred Java development environment. We also suggest an installed JDK 8 and IntelliJ Community Edition or IntelliJ Ultimate Edition.

Corneil du Plessis | Software Architect

12:00

Break

13:00 - 16:00

PWAs for mobile app

In this workshop, we will get into practical examples of how to create a Progressive Web App from scratch that can be installed on Android, iOS, and desktop from web content.We will cover desktop and mobile web apps, using Service Workers and other specs, debugging techniques and tools available. We will learn how to detect connection status and how to create a successful offline experience that also works really fast when the user is online. We will finally see how to distribute the app to the users, including how to create an Install button from the web content, and how to create a package for stores including the Google Play Store with Trusted Web Activities for Android. After this workshop, you will have a fully functional Progressive Web App. Basic HTML and JavaScript knowledge is recommended.

Maximiliano Firtman | Author and Speaker

08:00

Registration

08:45

Welcome Message

09:00 - 10:00

Paving your Path to Becoming a Better Developer

Making well-designed software can be quite a difficult task to accomplish. Taking the time to step back and look at the bigger picture is even tougher - how do you know you are doing a great job? How can you make a difference in your team, whilst improving yourself? In this talk, Rebecca will talk about different steps you can take to become a better software developer, from small tips that you can implement today - to long-term suggestions for taking your development career to the next level.

Rebecca Franks | Android Engineer

10:00 - 10:40

Getting Started with Kotlin and AI on Kubernetes

Go from Zero to Kotlin on Kubernetes in a few minutes. If you know Zero or a little about Kubernetes this demo rich talk will get you exited and give you great tips on how to get started with the Kotlin on Kubernetes. See how you can seamlessly integrate AI into your projects.

Riedwaan Bassadien | Azure Open Source Business Lead

10:40

Tea break

11:00 - 11:30

Battle for the Droid: RxJava vs Kotlin Coroutines on Android

A fierce debate has been raging in the Android community as to whether it is better to use RxJava or Kotlin Coroutines. This talk will start by introducing the audience to the fundamental concepts of RxJava (Jacques) and Coroutines (Pamela), followed by a joint discussion on the use cases of each.

Pamela Hill | Android Engineer
& Jacques Smuts | Android Developer

11:35 - 12:10

Build your own flight radar with Software Defined Radio (SDR) and a Raspberry Pi

In this talk you’ll learn how to use a Raspberry Pi and a cheap Software Defined Radio (SDR) dongle with a makeshift antenna to create your own flight radar and track commercial airplanes via ADSB flying in your local area. This is a great introduction to Software Defined Radio and IoT

Gerard de Jong |

12:15

Lunch

13:05 - 13:35

Automating and upholding quality of your Mobile App with CI/CD

Mobile apps have evolved over the years and there is many components to starting a new projects and having working and maintainable software. This talk will discuss what components need to be thought about from the beginning to create a successful mobile app. This will include architecture, unit testing, CI/CD and code quality.

Peter-John Welcome | Mobile Engineering Lead

13:40 - 14:15

Theming in Android

There are plenty of beautiful Android apps on the playstore, besides being functional, apps should be visually appealing to the user. We can achieve that goal by ensuring that the user interface and experience are designed to win the users trust and confidence. A good user interface design is key in assisting users navigate through their journey in an application. Fortunately, theming our android applications can help us achieve that by allowing a consistent look and feel to be applied to the entire app, and to emulate a brand or a certain style. In this talk, we look into how we can theme Android apps.

Pabi Moloi | Android developer

14:20 - 15:00

How I used Kotlin to develop a multiplatform game engine

Kotlin is popular for android apps and can be used to develop apps for the JVM. It is sometimes just considered a 'better java', but it can also be compiled to javascript or even native. In this talk I will talk about kotlin multi platform builds and take the audience through how we got the Entelect Challenge game engine running on the JVM and in a web browser.

Renette Ros | Software Engineer

15:00

Tea break

15:20

Sponsors Session

15:55

Q&A Speaker Panel

08:00

Registration

08:45

Welcome Message

09:00 - 10:00

Progressive Web Apps: the new way for developing apps

The Progressive Web App (PWA) platform let us create apps for iOS, Android, Windows, macOS, ChromeOS and Linux, with the ability to list them in Google Play Store for Android and other stores. In this session, we will cover what is a PWA, what's the difference with a native app, what advantages and challenges we have and what's needed to develop one including some code live examples.

Maximiliano Firtman | Author and Speaker

10:00 - 10:40

From Effective Java to Effective Kotlin

There are a lot of Java idioms described in the book "Effective Java". This talk will go through some of the famous idioms and how they translate in Kotlin. These idioms can get pretty much verbose with Java, with this talk we will also see how Kotlin handles the verbosity.

Steven Ndaye | Senior Java Developer

10:40

Tea break

11:00 - 11:30

CQRS/ES with Kotlin and Axon

The open source Axon Framework is a mature JVM implementation of CQRS and Event Sourcing. Unfortunately this programming model is not very familiar to most South African Java developers. When I first started using it we did so in ignorance and learned our lessons the hard way. In this talk we will briefly discuss the key concepts of CQRS, Event Sourcing, Aggregates and Sagas. Then I will show a high level approach to implementing Axon properly and in support of a maintainable system.

Niel de Wet | Java Developer

11:35 - 12:10

A Kotlin DSL for Finite-state machines – A Journey

Kotlin is an exciting language that makes it easy to build your own DSL. We will go on a journey of discovering the value of finite state machines and how you build your own DSL for simplifying configuration and use of an FSM. Developers should learn how to create their own DSLs as well as using this library to create FSMs in their own Kotlin projects regardless of platform.

Corneil du Plessis | Software Architect

12:15

Lunch

13:05 - 13:35

An introduction to Flutter

Flutter is a project from Google to produce cross-platform native apps for Android and iOS. Now available in a stable version, you will discover how the framework works and learn the main concepts to develop your first app.

Edouard Marquez | Android Developer

14:20 - 15:00

Moving on Swiftly to Server-Side Swift

As mobile developers, we often focus on the front-end and leave the server-side to back-end developers because writing your own back-end might result in a steep learning curve. But what if we could use the same language for both client and server? Could Mobile Developers become Full-Stack Developers?. In this talk, we will look into the process of writing our own API using Server-Side Swift. We will then reflect on the advantages as well as any drawbacks of using Server-Side Swift

Mbalenhle Ndaba | iOS Developer

15:00

Tea break

15:20

Sponsors Session

15:55

Q&A Speaker Panel