Upcoming and OnDemand Webinars View full list

Kotlin Essentials

Discover why Google has pinned Kotlin as the future of Android development with this two-day course. You will learn Kotlin development techniques and language principles, and walk away knowing how to migrate existing Java projects to Kotlin.

Description

This 2-day course introduces Kotlin, a new language for Android development. We will cover Kotlin development techniques, language principles, and how to migrate existing Java projects to Kotlin. We will also show why Google has pinned Kotlin as the future of Android development.

In the Atlanta area? Interested in commuting to class? Contact training@bignerdranch.com to discuss commuting options and discounts.

Who should take this class?

  • Java Android developers who are interested in transitioning their projects to Kotlin

  • Developers who are looking to explore the Kotlin language.

  • Developers who want to see both object-oriented and functional programming paradigms implemented in a modern JVM language.

  • Junior Android developers who need to learn new skills to advance their career.

  • Teams looking to upgrade their applications from Java to Kotlin.

What you'll learn:

  • Fundamentals of Kotlin’s type system, including how to safely work with nullable types

  • How to efficiently represent series of data using arrays and collections

  • Functional programming techniques

  • Readable and writable properties in Kotlin

  • How to represent complex data structures with objects, inheritance, and extensions

  • Java and Kotlin interoperability, including how to port your existing applications from Java to Kotlin

How to prepare:

Syllabus:

The Basics

  • Understand writable and read-only properties and take a look at Kotlin’s type system

  • Work with conditionals and control flow statements and gain the additional support of control flow statements as assignable expressions

  • Learn about nullable and non-nullable types and how to work with null safely

  • Understand exceptions and how they may be safely handled

Collections and Functions

  • Learn how to represent series of data with mutable and read-only collection types

  • See how to work with data for loops, while loops, break, and continue

  • Take a closer look at collections, including destructuring, type checking, smart casting, and type parameter constraints

  • Learn about defining package- and file-level functions and specifying their return types

  • See how to pass functions as arguments, lambda notation, function references, and function inlining by example

  • Use functional paradigms to clean up code, including map, flatMap, filter, and reduce, as well as how to define your own functional operators

Objects, Inheritance, and Extensions

  • Work with object-oriented programming concepts

  • Learn about primary and secondary constructors, equality, and preconditions for object construction

  • Learn how to use data classes and enums to represent data and algebraic data types

  • Override classes, and define abstract, open or closed classes

  • Understand extension functions to safely add behavior to classes you don't control

Advanced Kotlin

  • Learn how to interoperate with Java classes and supports Java compatibility

  • Take a peek at the future of multithreading with coroutines

  • Use extensions with receivers to define a domain-specific language

EVENT DATES AND LOCATIONS


No events to show

Not Happy with Your Current App, or Digital Product?

Submit your event

Let's Discuss Your Project

Let's Discuss Your Project