0845 450 6120

Real World Kotlin Development Workshop

Would you love to take full advantage of Java without its verbosity? Wish there was a better way to avoid NullPointerExceptions? Want to be able to still rely on first-class tooling and industry support? If so, then this workshop will show that is now possible.

Kotlin is a statically-typed language for modern multi-platform applications. It is focused on conciseness and interoperability with Java while also being safe and tool friendly. Its primary target is the JVM and can also be cross-compiled to Javascript and native code using LLVM.

In this workshop you'll learn the language's powerful, developer-friendly features, how they relate to what you know already, and to safely and incrementally migrate existing Java codebases to Kotlin.

The aim of this course is for attendees to go away with the confidence to start using Kotlin on their projects straight away. The program and structure of the course have been designed to concentrate on the features of the language that actually make the biggest impact to developer productivity. This is not a shallow glance at Kotlin, this is a deep dive! You will work with a real Java codebase to demonstrate the strengths of the Kotlin language, and highlight some of the common wrinkles developers face in real world projects.

About the Authors

David Denton

A polyglot developer, David specialises in the delivery of distributed JVM-based systems using Lean methodologies. With over 18 years experience working for clients in Finance, Telecoms and Academic Publishing, he is a firm advocate for simple, Test-Driven solutions and empowering teams to deliver them.

Ivan Sanchez

Ivan is a developer and coach with over 15 years of commercial experience. He has worked in a variety of industries and has been an advocate of Agile and eXtreme Programming practices over the last decade.

Audience

Are you a developer already using JVM languages such as Scala or Java to deliver either mobile or server-side applications? If so, this course is for you!

Reset

Learning Objectives

Learn how to:

  • Apply a range of language features to write smaller, more straight forward and safer code
  • Take advantage of the practical interoperability with Java to migrate existing code to Kotlin safely and effectively
  • Learn several IntelliJ intentions and refactoring tricks for increased productivity
  • Follow the language's functional approaches and promote immutability and declarative code style

Pre-Requisites

Prerequisites

To benefit fully from this course, you should have prior experience with Java. Most of the exercises will use IntelliJ IDEA as the development environment.

Bring your own hardware

You are required to bring your own laptop to participate in this Kotlin course, so you can develop with your own tools, rather than something you are not familiar with.

Your laptop will need to have IntelliJ Community or Ultimate Edition installed prior to the course start date. Guidance will be available if delegates are not familiar with this IDE. You will also need to have a GitHub account.

Course Content

Day 1

  • Kotlin initiation
    • Variables
    • Functions
    • Expressions
    • Control structures
    • Classes
  • Power Features 1
    • Data classes
    • Nullability
    • Extensions
    • Objects

Day 2

  • Functional programming
    • Collection manipulation
    • Ranges and Progressions
    • Lambdas
    • Receivers (let/apply/with/run)
  • Power Features 2
    • Type aliases
    • Operators and infixes
    • Sealed classes hierarchies
  • Java interop recap
    • @JvmX annotations
    • Automated conversions
    • Incremental migration
One Month
Two Months
Three Months
More than Three Months
PRINCE2 Foundation & Practitioner
MSP Foundation & Practitioner
APMP Certificate
ITIL Foundation
Scrum in One Day
Certified ScrumMaster
ISTQB Software Test Foundation
Microsoft Project
BCS Business Analysis Practice
Other - Please Specify Below

Online Courses

You may prefer an online course if you are looking for a flexible and cost-effective solution. Online courses allow you to study at your own pace, at a time that suits you.

We have the following eLearning options available:

Our Customers Include