Android App Development Natively in Kotlin
I have been developing android apps natively in Kotlin/java for over 5 years so far, and working on your apps means that you guarantee that your app will be developed in the best ways possible using the best out of the latest technologies out in the market.
Here is what you would expect from your app if i worked on it:
- Solid: the chances for having a bug is extremely low, because your app will be fully tested
- Robust: this may means that the app will be modular and everything can be plugged/unplugged anywhere you want, the benefit of this is that makes the app more maintainable and scalable
- Maintainable: thanks to the structure, architecture, design patterns and putting my experience into it, your app will be highly maintainable, in simple words, huge decrease in maintenance cost in terms of time, effort and money
- Scalable: once the app is finished, you have the freedom to expand it as big as Amazon or Facebook app in terms of features, the sky is limit to how big we can develop the app
- Testable: everything in your app will be testable using automated test, in simple words: all the following are automatically tested to ensure that they will always work and never break: User Interface, Business Logic/Rules, Interaction between features, UI Components(every small/big components)
- Bug free: thanks to being testable, it will be bug free, meaning every small/big component of the app from a button to a whole feature will be working 100% as expected
- Early identification of potential bugs: I always use TDD(Test driven development) with combination of other best practices to make sure that the bugs will be identified during development and before pushing any version to production track
If all of this doesn't interest you yet ? i have something else
When developing android apps natively using Kotlin, i always aim use latest technologies and keep the app always up to date, here is a small glimpse of latest techs that i use and been using for for long time
- Jetpack Compose
- Canvas in both Compose and old XML Views
- About 4 type of architectures including MVVM and MVP
- Dependency Injection using 3 different frameworks
- Proper way of handling activities/fragments/services lifecycles
- Proper use when needed for background/foreground services
- Kotlin coroutines to ensure that calling APIs or making heavy tasks won't affect UI and will always be smooth
- Use of many APIs such as Flows/LiveData when needed
- Use of Material design 2 and 3
- Modularisation
- Unit/UI/Components Tests and well as Integration Tests