Multiple factors shape the experience of our users. As a mobile developer, but also as an engineering manager, I learned that nothing is more likely to drive users away than a poorly performing app. So this is why we, as developers, should focus on continuously improving this attribute.
With Kotlin we can write concise, expressive, and safe code. Sounds like clean code, doesn’t it?
In this article we will recap what clean code is, we will highlight the importance of defining meaningful names, and how to write clean functions and classes.
Finally, we will be able to learn more about the advantages of immutability, how to handle the errors in Kotlin, and what are the best practices in terms of writing tests. By the end of this blog post, you will better understand what clean code means and learn a series of tips and tricks ready to be applied in your code.
“Coding is not a sprint, is a marathon” so let’s exercise together our clean code skills.
CameraX provides an easy to use api and the purpose of this article is to define a complete guide with different kind of resources about how this api could be easily integrated in our Android apps.
Image analysis and applying extensions when pictures are taken are use cases often accessed by the users. By using CameraX API we are able to implement them in a very simple way. If you want to learn more check the code samples and the theory behind these features in the current article.
In my previous article about CameraX I covered the challenges we are facing by using oldest Camera APIs and what are the advantages of using this new API.
As humans, we have emotions and feelings and one of the best ways to capture our emotions is to take pictures.
Some of our greatest experiences are actually captured in pictures. For sure each one of us have pictures from birthday parties, holidays, travels, conferences. We also like capturing feelings like happiness or reactions when bad surprises happen. And, in the latest years, we discovered that we love taking selfies.
Last year, Google invited developers to submit their ideas for the Android Developer Challenge, focused on “Helpful Innovation, powered by on-device machine learning.” They picked 10 winners, and have been working with them since then to help bring their apps to life. #AndroidDevChallenge
Generics means we use a class or an implementation in a very generic manner. For example the interface List allows us for code reuse. We are able to create a list of Strings, of integer values and we will have the same operations even if we have different types. So the list wraps a common functionality for each implementation.
Kotlin allows you to use parameters for methods and attributes, composing what is known as parameterized classes.
Coroutines are officially part of the Kotlin standard library starting with version 1.3 and they are very helpful in creating concurrent non-blocking code. They simplify async programming. Coroutines are actually lightweight threads.Â
It’s time to continue our learning path in Kotlin. The subject covered in this new post is represented by Collections and data operations applied to them.
Collections are actually a set of classes and interfaces that provides high quality implementations of useful data structures and algorithms that help developers to reduce the programming effort and time.