Kotlin Blueprints

A Book by Ashish Belagali, Hardik Trivedi (Me), Akshay Chordiya

Book Description

Kotlin is a powerful language that has applications in a wide variety of fields. It is a concise, safe, interoperable, and tool-friendly language. The Android team has also announced first-class support for Kotlin, which is an added boost to the language. Kotlin’s growth is fueled through carefully designed business and technology benefits.

The collection of projects demonstrates the versatility of the language and enables you to build standalone applications on your own. You’ll build comprehensive applications using the various features of Kotlin. Scale, performance, and high availability lie at the heart of the projects, and the lessons learned throughout this book.

You’ll learn how to build a social media aggregator app that will help you efficiently track various feeds, develop a geospatial webservice with Kotlin and Spring Boot, build responsive web applications with Kotlin, build a REST API for a news feed reader, and build a server-side chat application with Kotlin.

It also covers the various libraries and frameworks used in the projects. Through the course of building applications, you’ll not only get to grips with the various features of Kotlin, but you’ll also discover how to design and prototype professional-grade applications.

IMG_20180106_094600_2

Table of Contents

1: THE POWER OF KOTLIN

It’s an amazing introductory chapter. This will help you to get a good idea about the Kotlin as a language. You realize what Kotlin can do in as Mobile, Desktop and Server side programming language. Read it with your favourite coffee in your hand.

2: GEOSPATIAL MESSENGER – SPRING BOOT

With the focus on the practical and building a production ready code, here comes the first chapter. You create a Geospatial Messenger using Kotlin. Kotlin is designed to go well with any Java code and framework. You can clearly see the theory working like a charm in this first chapter. Sit on your work station and just start coding.

3: SOCIAL MEDIA AGGREGATOR ANDROID APP

We know world is saying Mobile First. So Kotlin and we as Kotlin enthusiasts can not keep mobile platform aside. We chose Android to test power of Kotlin. You can see a full fledged application written in Kotlin and executed on Android OS, just like that! The social media aggregator app will give a good idea about how to take care of some of the very basic concepts like making api calls, saving data etc, using Kotlin. You will be surprised to the concise code.

4: WEATHER APP USING KOTLIN FOR JAVASCRIPT

Now we wanted to test Kotlin on browser. How it work’s on clients like Chrome, Firefox, Safari etc. We created a weather forecast application entirely written in Kotlin. But the code will get executed on browser as JavaScript. Kotlin has a transpiler which translates all Kotlin code to JavaScript. No need to worry about browser compatibility issues. Kotlin takes care of many.

5: CHAT APPLICATION WITH SERVER-SIDE JAVASCRIPT GENERATION

Now, it’s time to test Kotlin on server side. We chose Node.JS this time. We wrote a chat application, where user can do peer to peer chat as well as group chat. And the code was running on node server as smooth as silk. We simply need to add some Kotlin dependencies using npm and you are done.

6: NEWS FEED – REST API

Building a REST Api is very important part of software ecosystem. REST Apis are most preferred way of transferring the useful chunk of data to the clients. In this chapter you can see how to write a project which emits news feeds using REST.

7: CSV READER IN KOTLIN NATIVE

Ever thought of writing a code in Kotlin and running it over Raspberry Pi? Kotlin made it possible using Kotlin Native. It targets embedded systems and iOS as well. Seems like Kotlin has decided to rule everywhere.

8: DICTIONARY DESKTOP APPLICATION – TORNADOFX

We all know, that using JavaFx how easy is to build a standalone applications. Using TornadoFX which is a lightweightJavaFx framework for Kotlin. Try it out! We created a simple desktop based dictionary app using TornadoFx.

About Authors

Ashish Belagali

Ashish Belagali is an IIT Bombay alumnus with 24 years of experience in software technology, management, consulting, and client handling. He has successfully executed offshore engagements in both onsite and offshore roles. He is known as a turnaround specialist, having turned many IT projects from red to green in a short time.

In spite of the senior positions he has handled, Ashish loves coding and has managed to stay hands-on with it. He often speaks about technology, entrepreneurship, and work effectiveness. He is a Kotlin enthusiast and has worked on several Kotlin projects. He is also the founder of the Kotlin Pune User Group.

Follow Ashish at @Ashish1IT

Hardik Trivedi

Hardik Trivedi is a self-taught computer program writer. He has extensively worked on Android and Java since 2010 and has also immersed himself in Kotlin and JavaScript. When he is not working on client projects, he loves contributing back to the development community by spending time on stack overflow and writing tech blogs.

Hardik also mentors college students, professionals, and companies who have a keen interest in mobile app development. He is also an active community speaker. Someday in the future, you may find him owning a restaurant and serving exquisite cuisines to his customers.

Follow me at @MrHardikTrivedi

 

Akshay Chordiya

Akshay Chordiya is the co-founder of BitFurther, an Android Developer by heart, and a Kotlin enthusiast. He has been working with Android for over 4 years. He is an active community speaker who is mostly found talking about Android and Kotlin.

Akshay is an avid blogger and instructor. He has a love for anything with the word “technology” in it! The vision of bringing about a change in the world through his knowledge is what makes him get out of bed every day and work on his apps and his start-up. “Doing what you love” can be said to sum up his life until now and in the exciting years to come ahead!

Follow Akshay at @Akshay_Chordiya

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s