13 aspects to consider when developing a mobile app

13 aspects to consider when developing a mobile app

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.

<<:  I only understood this after working for 10 years. If I had known earlier, my position would have been two levels higher than it is now.

>>:  Technical challenges and practical summary behind the hundreds of billions of visits to WeChat Moments

Recommend

China Mobile APP Advertising Fraud Analysis Report

PC is disappearing from our daily life scenes at ...

The Silicon Valley growth master shares 10 user growth experiences!

1. Without growth, you have nothing. Maintaining ...

How come the cute little "rabbit" turned into a noodle spirit when he grew up? !

In recent years, succulents have quickly become p...

Review of Duozhaoyu APP activity planning and promotion

The article is a review of the activity planning ...

How to promote 360 ​​advertising information flow?

360 Promotion uses professional media promotion a...

MONA M03, Xpeng Motors’ savior or troublemaker?

Suddenly, like a spring breeze, many brands becam...

Where is the Zhihu advertising backend? Where can I connect to the delivery?

Professional related: Qinggua Media Mobile Market...

How to attract traffic to your Douyin store through reviews?

For Douyin stores , if you want to do a good job ...

How much do you know about Android AOP?

picture Introduction to AOP AOP (Aspect-Oriented ...

8 ways to promote on Xiaohongshu, shared with you!

I spent 2 months testing, during which I found tw...