This article is for newcomers to the field of mobile app development. After working on various mobile projects, I have come up with some considerations that you need to keep in mind when you design or build a mobile app. Considerations for mobile app development Authentication Layer This should be the first step in your development chain. This layer should be scalable enough to handle various authentication requests and inflight requests. Pay attention to the refresh of authentication tokens, error handling when token refresh fails or similar situations. Automatic compilation Make sure you have an automatically compiled installer for Android and iOS and have a channel for distributing them to testers. Comfortable mobile experience If for some reason, even if there is no network or the API stops working, you need to ensure that the user can return and exit from the app. The user should always be able to click on the navigation bar, so that they can also go to the cached page, log out, reload when the network is good, or exit the app. Be sure to avoid the situation where the user has to forcefully terminate the app process. This is another design feature that needs to be considered in advance. Data Encapsulation When designing data encapsulation, be sure to consider the API retention time (ttl), use the default ttl, cache layer, and use multiple data sources to transmit data stored in standard tables or key-value stores. Rolling out updates This feature is useful if the app’s data changes frequently and people want to see updated messages. This is especially true for apps that display real-time event updates. Crash Analysis It’s important to connect crash analysis to the app so that if a user’s app crashes, we know why and can fix it faster in the next release. There are many tools that can do this. Data storage This is the most important aspect to consider from the perspective of app design. There are many ways to store data in the phone. For example, WebStorage (LocalStorage, SessionStorage), InMemory, SQLite. The size of Localstorage is 10MB, and it is a good choice if the data you want to store is smaller than this. One of its disadvantages is that when your memory is full, the operating system will clear the Localstorage data. SQLite is a file-based database and is more stable for larger files. It is an embedded relational database, and it will be your good friend if you want to store/cache large amounts of data on the client. Navigation Stack It is one of the most important features of an app when there is a need to navigate between different pages and there is more than one way to reach the required page. It can also be divided into different navigation stacks, such as: App navigation, Tab navigation, Menu navigation, etc. Always consider various situations so that users do not fall into circular dependencies (dead ends) and need to force stop the app. Network connection Developers often assume that people will always have good internet, design their app based on this logic and ship it out. This is also what most new developers get frustrated with when their app doesn’t work or won’t keep downloading data, which ultimately leads to low ratings on the Apple/Google store. Once the app is already out, fixing this kind of issue is not easy and requires a lot of regressions. So this is an important point to consider when designing your app. Check the platform Don't forget which platform the app is built on. Make sure all developers/testers have the relevant programs installed on their machines and document them so that any new developers can quickly get up to speed. Be clear about how developers and testers will test. For Android, you need to install at least Android Studio and Gradle. For iOS you need to create a signing request to generate a certificate, and a provisioning profile. (This process can seem long if you don’t know it takes at least a day. Find someone who has already done it, and it will take you 15 minutes.) Regardless of which architecture you use, you will need at least a Mac and an iPhone to do iOS development. Payment If your app requires payment, you need to follow the Google and Apple payment policy documents. Note: You also need to build some backend so that you can handle receipts when users pay for your app, and you need to save these receipts on the server. Local Features Make a list of features that the app needs to support on the local device. For example: camera, status bar, location services, notifications, etc. And check whether these supports are provided for all content in the framework. Push Service If your app requires push services, decide ahead of time which service you will use. Check that the plugins used are available for the chosen framework. When testing these for the first time with iOS, you will need to add an app certificate in order for the device to receive pushes. Also decide if you want topic-based or device-based push. |
PC is disappearing from our daily life scenes at ...
1. Maros Sefcovic, Vice President of the European...
1. Without growth, you have nothing. Maintaining ...
In recent years, succulents have quickly become p...
The article is a review of the activity planning ...
360 Promotion uses professional media promotion a...
In the film and television industry, we often hea...
In order to ensure travel safety, the "new n...
Suddenly, like a spring breeze, many brands becam...
Professional related: Qinggua Media Mobile Market...
For Douyin stores , if you want to do a good job ...
The 2018 Jaguar F-PACE was officially launched la...
picture Introduction to AOP AOP (Aspect-Oriented ...
I spent 2 months testing, during which I found tw...
Produced by: Science Popularization China Author:...