Kotlin types system differentiates between references which can hold null (nullable reference) and which cannot hold null (non null reference).
Kotlin provides an ability to extend a class with new functionality without having to inherit from the class or use design patterns such as Decorator.
Lambdas Expressions are essentially anonymous functions that can be treated as values
Java has the synchronized keyword, which can be applied to methods to ensure that only one thread at a time can access them.
This library serves as a collection of various Kotlin extensions that simplifies developers life.
Android KTX is a set of Kotlin extensions that are included with Android Jetpack and other Android libraries.
Data Classes represent simple classes used as data containers and do not encapsulate any additional logic.
Visibility modifiers are used to determine what other elements of code have access to the element being modified.
Anonymous objects can be used to define an implementation of an interface or an abstract class without creating a reusable implementation.
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.