In Kotlin, every class is
finalby default. You must explicitly use the keyword
open, which is the exact opposite of Java’s
final, to allow the class to be capable of inheritance.
Creators of modern programming languages have a big advantage because they are able to analyze the weaknesses of established languages and make things better themselves.
They’re common sense language features that, when compared to Java, end up saving you a bunch of cognitive overhead, keystrokes, and time.
To put it simple, coroutines are a way to write asynchronous code sequentially. Instead of messing around with callbacks, you can write your lines of code one after the other. Some of them will have the ability to suspend the execution and wait until the result is available.
In my personal experience, 60% of the transformed code is directly usable, and a bigger percentage for simple classes with no complex functionality.
But there is one other benefit of ConstraintLayout that most people are unaware of and the official documentation curiously doesn’t mention anything about: performing cool animations on your ConstraintLayout views with very little code.
At I/O last week, Google announced a new tool called Room which makes working with SQLite databases a lot easier, but it begs the question: How well does it perform?