EXCEPTIONAL TRAINING COURSES FOR IT PROFESSIONALS
LONDON UK | ONSITE | ONLINE
Our Kotlin training course will focus on teaching Kotlin from beginner to an intermediate/advanced level.
Typically Kotlin is used for Development of Android Apps or Backend applications with Java.
This course will help delegates understand the pure Kotlin Language and Best practices for using it in anger. Delegates can choose to keep Labs as "vanilla" Kotlin, or to apply to Android or Java development.
In this course we will focus on practical Kotlin development. We will briefly go over the Kotlin language in the ways it is equivalent to Java. We will spend a bit of time introducing concepts that Kotlin provides that are not found in Java.
Following that, we will begin to learn Kotlin development by creating an Android application using all of the modern libraries and technologies that are necessary for a successful commercial application.
We will set up a strong foundation by putting in place an MVP architecture that is both flexible and scalable. We will use reactive programming (RxAndroid) to achieve the network communication on background threads. Interactions between the View and the Presenter will be done via RxBinding methods to further decouple the Presenter. Finally, we will be implementing unit testing for our presenters, as well as UI testing.
This will allow us to build an application that is scalable, and that allows for Continuous Integration and Continuous Delivery to be set up.
In addition to that, this methodology of development allows for large team collaboration using Git and a versioning system (GitHub). It will allow us to be adaptable and flexible and permit using Agile development methodologies like Scrum or Kanban.
Objects and variables
Nullability and smart casting
Composite data types
Classes and properties, interfaces, abstract classes, enums, overriding methods and properties
Primary constructors and initialization blocks
Object declarations and companion objects
Default arguments and named argument syntax
Top-level functions and properties
Simpler lambda notation
Lambda functions under the hood
Last lambda in argument convention
Java Single Abstract Method lambda interface and usage of them in Java methods
Function type with receiver, function literal with receiver, referencing extension functions
Predefined functional literals with a receiver
Making your own DSL
Basic collection processing functions
Making collection flat and grouping it
Converting between collection types
Functions used to process texts and to accumulate collections to texts
Covariance, contravariance, and invariance
Common issues with bounded wildcards in Java
Declaration-site variance, use-site variance, and type projection
Declaring single and multiple constraints on types
Referencing types, classes, functions, and properties
Kotlin references vs Java references
Structure and types of references
Guidelines for mixed language codebases
Calling Java libraries from Kotlin
Preparing Kotlin to be used from Java
Annotations to work with Java annotation processing libraries
See why people choose JBI
05/10/2017: Back in March 2014, the Angular team dropped a bomb by announcing Angular 2 and everyone started yelling. Instead of an evolutionary step forward,...
05/10/2017: MVC The Model View Controller (MVC) architectural pattern has a long history (together with its variants) and has been used in many languages...
10/02/2018: A leading Financial institution commissioned JBI to run a series of Agile/Scrum courses for various teams - inhouse. Pre-course consultation...
08/01/2018: Knowing you need an app is one thing, making it happen should be as painless as possible. When a team of experienced developers needed to work...
27/02/2018: Mariella has put together this short briefing on the bookmarks functionality in Power BI... "I love it!" she says.. Bookmarks has been available...
27/02/2018: Our world is changing; this is hardly anything new. New startups emerge consistently, almost on a daily basis, each claiming to have the latest...
Bring a JBI course to your office
and train a whole team onsite
0800 028 6400 or request quote
Get in touch
0800 028 6400
Excellent feedback, consistently !
"great tips help reduce build times"
"we got access to exclusive content"
"Short course meant less time off"
"what an inspiring trainer !"
"colleagues at 2 sites joined via web"
"I passed my exam the next day"