0345 4506120

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

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

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the request service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.

 

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