Reactive Programming in Kotlin — Why I wrote?

So my first book — Reactive Programming in Kotlin got published. I’ll share my story here, why I wrote this book and my journey with this book.

Reactive Programming in Kotlin
Reactive Programming in Kotlin

Before sharing why I started with writing this book, let me share how I got started with Kotlin language. Generally, as an Android Developer, I am always curious to learn and I read a lot, for the same. Around 2 years ago, I got introduced to Kotlin for the first time while reading a JetBrains blog, and it was indeed a love at first sight. I started learning Kotlin from that very day and started using it.

I found Kotlin a great language for not only Android Developers but for any Developer out there, it got so many features to aid developers. Nullability, Delegates, extension functions, FP supports just to name a few.

With the release of Kotlin 1.1 in March 2017, I got more enthusiastic about Kotlin, as it announced a lot more features including Coroutines, JavaScript support, Tooling and more. But it’s when I realized that despite these path-breaking features and supports, there was less awareness about Kotlin in my region. So I started the Kotlin Kolkata User Group.

On Google I/O 2017, Google announced its Official support for Kotlin, that is when more developers got interested in Kotlin and started to look for resources for the same.

Within this time I also started using RxJava on my Android Applications, actually, RxJava or Reactive Programming answered a lot of my questions on modern programming styles (you can read them on the preface of the book). There are already plenty of Resources on RxJava, but for some reason, Reactive Programming is still considered as an advanced topic, I wanted to change that. I feel reactive programming is really easy to learn, you just need to go step by step, for instance, while you are learning to program for the first time, you cannot go ahead straight with OOP concepts like Inheritance and Polymorphism, you need to go step by step, understand basic concepts of programming first and then you can move ahead with OOP. It’s same for Reactive Programming, most folks try to get hands wet straight with Flowables, flatMap, Schedulers etc. but you need to learn the concepts first. So, I was planning a tutorial series on Reactive Programming and was preparing myself for that.

I don’t know whether it was telepathy or something, but at the time when I was planning for the tutorial series on Reactive Programming Sandeep Mishra, acquisition editor of Packt Publication, reached me, he told me that Packt is willing to come up with a book which will cover Reactive Programming concepts with Kotlin language, RxKotlin to be precise; he offered me to be the author of this book. There was nothing to think, I believe a book has more extended reach than a tutorial especially if that book is published by a renowned publisher like Packt. So I said yes, and that was a start of a journey. I learned more about Reactive Programming as I wrote this book. As I completed more chapters, I got my concepts clearer.

I tried to cover all important concepts of Reactive Programming and address all probable questions that can arise in a developers mind while reading this book. I got immense help from the editorial team and reviewers while I was writing. Moreover while writing this book, I got a my new friend cum guide — Ravindra Kumar, a reviewer of this book. The other reviewer — Alexander Hanschke was also very helpful, their suggestions on the book contents helped me a lot.

After several months of hard work (not only by me but by the whole team, the editors and reviewers), the book — Reactive Programming in Kotlin finally got released in the first week of December 2017.

You can grab this book (ebook or paperback) from the below links.

So have a read, and in case you’ve any questions, feel free to drop them here.

Originally published at Rivu Chakraborty.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.