First Mobile Application

Muhammad Yousuf
2 min readSep 4, 2023

Different Mindset

When it comes to developing an Android application, it is essential to understand that the workflow and mindset required to create such an application is entirely different from what is required for a website. With an application, you have the option of incorporating various features that are not present in a website, such as swiping, scrolling, and other intuitive gestures. These features provide a more interactive and engaging user experience, which is not possible with a website since certain mobile gestures are not supported when rendering that website through a computer and using mouse.


One useful hack that can save you a lot of time and resources is to test your application on a mobile phone, if one is available. Running it on an emulator can put a severe toll on the memory and thermals of a computer, which can significantly slow down the application’s performance, increase rendering time and create unnecessary hurdles.

Is Java a good choice?

Despite Java having a large community, the resources surrounding Java mobile application development are comparatively outdated compared to Kotlin. In this regard, Kotlin offers more modern features and resources that make it easier to develop a more efficient and user-friendly application. In my case, I developed an application in Java due to a course requirement. However, if I had a choice, I would have preferred to use Kotlin instead.

Database should not be hosted locally.

One significant architectural mistake I made when developing my mobile application was not storing the database on the server. Nowadays, clients request data from the server and receive only the relevant information they need. However, at that time, I had not learned about HTTP and the separation of frontend and backend, so I hosted the database on the device. If I had known these concepts earlier, I would have used MongoDB or Firebase instead of SQLite for the database. These tools are more efficient, secure, and provide better performance and scalability.


Despite this mistake, my first mobile application taught me many valuable lessons that will benefit my future mobile application development and help me in other areas as a developer. The experience has allowed me to understand better the importance of separating the frontend and backend and finding more efficient ways to store data on the server.