Search This Blog

Thursday, April 7, 2016

Kotlin advanced - language reference for android developers

Kotlin - one of the popular programming languages built on top of Java that runs on JVM.

As a mobile team we got interested in Kotlin a few months before its final release which gave us time to test it thoroughly before production use. The language has some clear advantages for an Android programmer - it enables migration from Java projects that have been under development for some time already. Java&Kotlin coexistence simplifies Kotlin introduction as only new functionality is written in JetBrain’s new language leaving all the legacy code untouched.

Transitioning gives the developer an opportunity to use lambdas, new syntax for data objects, extension functions to easily expand Android SDK’s classes functionality and infix notation to write DSL-like structures. Almost all the libraries you use today will work with Kotlin thanks to 100% Java compatibility. The same is true for Android SDK classes - all of them will seamlessly work with the new programming language. Kotlin gives you more choice when it comes to reflection, creating documentation and being null-pointer safe. Android works great with it out of the box so you won’t need to change your development habits.

Our production project in Kotlin turned out to be a success after 4 months of development. We had 0 bugs related to Kotlin as a programming language. Our code footprint is almost 30% smaller thanks to JetBrain’s, we benefit from nullpointer safety, closures, translated enums, data objects and use infix notation for logging and displaying Snackbars.

Kotlin advanced - language reference for android developers

Second talk on Kotlin language we had at STXNext. We try go deeper into language specifics and look at the positive impact new syntax can have on boilerplate removal and readability improvement. Kotlin really shines in Android development when one looks at “Enum translation”, “Extension functions”, “SAM conversions”, “Infix notation”, “Closures” and “Fluent interfaces” applied to lists. The talk, however, compares language-specifics of Java & Kotlin in terms of “Type Variance”, “Generics” and “IDE tools” as well.


  1. This waterproof 500 meters watch, not only replica rolex to Hold live in the sea to play the needs of water, even if rolex replica you dive to the bottom of the sea is no problem. Oris to create the depth of the table method is quite surprising to win: 12 swiss replica watches points in the mirror set up a hole, along the outer edge of the mirror embedded channel. The aperture allows the water replica watches to enter the channel and a yellow depth mark on the dial to indicate the water level, giving the diver a clear reading of up to 100 meters.

  2. Great and useful article. Creating content regularly is very tough. Your points are motivated me to move on
    SEO Company in Chennai

  3. wow its great thing and wish to you do more level of things and i am waiting to get your new ideas. keep share more things.
    seo company in india

  4. I think like I get a clear cut understanding while reading the content than anywhere else. Keep continuing this journey...!

    Pawn Shops in Montgomery

    Pawn Shops in Birmingham

    Pawn Shops in Mobile

  5. Its a wonderful post and very helpful, thanks for all this information. You are including better information regarding this topic in an effective way.Thank you so much

    Installment Loans Near Me
    Title loans Near Me
    Cash Advances Near Me

  6. this is very nice blog this studying course information very useful to everyone who have learning this information.this education information is very helpful to start my carrier with technology.

    Hadoop Training in Chennai

  7. This information is impressive; I am inspired with your post writing style & how continuously you describe this topic.

    Eczema Treatment
    Psoriasis Oil
    Hyperpigmentation Treatment
    Herbal Tonic

  8. Article is very different in the topic points and the way of writing.Keep updating more articles.

    Python Training in Chennai

  9. Very amazing blog on a fresh new topic. I am definitely going to use the information provided in this blog because of its novel and fresh. Thanks for sharing such valuable information with everyone.
    Web development company in bangalore
    Outsource magento ecommerce services india
    ECommerce Website developers in bangalore

  10. This comment has been removed by the author.

  11. This information is impressive; I am inspired with your post writing style.Its a wonderful post and very helpful, thanks for all this information.
    SAP HR Training in Chennai
    SAP SD Training in Chennai
    SAP Basis Training in Chennai
    SAP scm Training in Chennai

  12. Really nice and definitely it will be useful for many people. Kindly keep update like this.

    Best Dental Clinic in Nungambakkam | Painless Dental Treatment | Teeth Whitening treatment | Cosmetic Dentistry

  13. Its really an Excellent post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog. Thanks for sharing....

    Carwash in omr
    usedcars in omr
    automotors in omr
    car accessories in omr
    secondhand car in omr


  14. Thank you for your post. This is excellent information. It is amazing and wonderful to visit your blog.
    ios app development course
    iPhone training institute in bangalore

  15. Its a wonderful post and very Informative, thanks for Sharing Us. regarding about this topic in an effective way.Thank you so much

    Best Event Stalls Exhibition in India
    Best Event Technology Services in India

  16. This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.
    I like it and help me to development very well.Thank you for this brief explanation and very nice information.Well, got a good knowledge.
    Java training in Chennai
    Java training in Bangalore
    Java online training
    Java training in Pune


If you like this post, please leave a comment :)