We, developers, usually spend a lot of time polishing the happy path of our app. However, it’s equally important to provide a proper user experience whenever things don’t go as expected. On one hand, seeing an application crash is a bad experience for the user; on the other hand, showing the right message to the user when an action didn’t succeed is indispensable.
Just as many of you are trying to press on with work where possible, we wanted to share the next milestone release of Android 11 for you to try. It’s still an early build, but you can start to see how the OS is enabling new experiences in this release, from seamless 5G connectivity to wrapping your UI around the latest screens, to a smarter keyboard and faster messaging experience.
Android's build tools come with a few ProGuard facets to squeeze the most juice out of your release builds. In this post we'll cover what they all are, what's inside 'em, and what you can do with this knowledge!
Enums have supporting functions like valueOf, values or enumValues what makes them easier to iterate over or serialize. Just like classes, they can have custom methods or hold data, but always one per enum value. They are perfect to represent a set of constant values. Sealed classes can hold data specific to an instance. They are perfect to represent messages or classes with a concrete set of subclasses.
In the last post we outlined the foundations for how our kotlin multiplatform project is going to be structured. With this in mind, we’re going to start building the next part of our project – here we’ll start with the remote layer of our application.
In this series we’ll build a simple RESTful backend service using PostgREST, and secure the service using Authentication from Auth0. This setup could be used to easily setup a REST API in 30-45 minutes.