Udi8dbntyvwwm2fj80sw
2 DAY COURSE

Real World Kotlin Development Workshop

Topics covered at KOTLIN-01-02
View Schedule & Book More dates available

Next up:

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.

Learn how to:

  • Apply a range of language features to write shorter, 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

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.

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

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!

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.

Overview

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.

Learn how to:

  • Apply a range of language features to write shorter, 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

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.

Program

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
Audience

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!

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.