Hbihedupida3vkrpvycf
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

  • What the community says

    "Knowledgeable and amenable"

    Tom, HiHi on 28th Feb 2019

    "Exceptional, intuitive and engaging"

    Attendee on 28th Feb 2019

    "Engaging and knowledgeable."

    Attendee on 23rd Oct 2018

    "Great"

    Attendee on 23rd Oct 2018

    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

  • What the community says

    "Knowledgeable and amenable"

    Tom, HiHi on 28th Feb 2019

    "Exceptional, intuitive and engaging"

    Attendee on 28th Feb 2019

    "Engaging and knowledgeable."

    Attendee on 23rd Oct 2018

    "Great"

    Attendee on 23rd Oct 2018

    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.