It can be very confusing to understand terminologies that software developers use when talking about mobile app development. This article reviews commonly used terms and explains what they mean.
This list is far from complete, but will provide some helpful fundamentals on mobile app development.
A programming language is a set of rules used by developers to develop the app and its backend or administration system. The most common programming languages for mobile app development are Objective-C, Swift, C#, and Java.
Mobile app development
To develop the app, one can use either "native" or "cross-platform" development tools.
Native app development is done when a developer uses a programming language that Apple or Google released for their respective operating systems. For instance, a developer may use the following programming languages for native app development:
- Objective C and Swift are programming languages used by Apple. These languages are used within a development environment called Xcode. This is used to create iOS apps.
- Java is a programming language used within a development environment called Eclipse, which was developed by Google. This is used to build Android apps.
Through cross-platform development, developers can write code once and produce installation files for both iOS and Android. This can save time as code does not have to be written twice (one for iOS and one for Android).
However, the shared code in cross-platform development is not 100%. In reality, 60-70% of the written code can be used for both platforms, while the remaining 40-30% often need to be developed natively, depending on the app’s functionality and complexity—and more often pertaining to the app’s user interface.
There are various different cross-platform development tools that can be used. Some of the most commonly used include:
- Xamarin (owned by Microsoft)
Choosing between cross-platform or native development. Which tool best suits your app project? It depends on many factors, including:
- What kind of app should be developed?
- How extensive is the project?
- Which development tools do you have access to?
- How much are you willing to spend?
- What operating systems should be supported by the app (iOS or Android only, or both)?
At 1902 Software, we develop either natively, or using the cross-platform tool Xamarin.
Database and backend system
Here we will discuss two app components: the database where the data is stored, and the backend system used for the administration of the system.
There are numerous technologies and database systems that can be used. Ideally, you should do an analysis of your project to find out which development tools can help you the most.
At 1902 Software, we use the following:
- Database: Microsoft SQL Server or MySQL
- Programming language: ASP.NET or PHP as programming language
When we develop using Xamarin, we often use Microsoft SQL server for the database and ASP.NET for the development of the admin system, because developing the whole app using Microsoft tools will make it so much easier for others to take over the development at a later time.
Hosting a database means getting the data stored in a cloud server. The backend of the app is often (but not always) hosted on the same server as the database.
If you store personal data, you must make sure that your chosen server is compliant with data privacy laws. (For example, the General Data Protection Regulation (GDPR) has strict rules about processing personal data outside the EEA or European Economic Area.)
Many individuals and businesses use Amazon (Amazon Web Services) to host apps in the cloud. One benefit of doing this is being able to automatically scale up or down your server resources according to actual usage, helping you save on hosting costs.
Once the app’s database, website, and backend system are complete, the app must be uploaded to an app store so it can be made available to people and users who are interested with or in need of its features.
Uploading an app in an app store requires creating a developer account in Google and Apple. Apple charges a fee of $99 to join its developer program (which allows you to publish apps for iOS), while Google charges $25 to get a developer account.
The actual setup and uploading of the app to the app store are usually done by those who developed it. However, keep these in mind:
- Without exception, always create and register your developer account under you or your company’s name. When you ask your app developer to do the account setup, they often register the account in their own name, which can mean that your app is marketed under their account. You don’t want that—the app must be registered under your account, you being its owner. It can be both time-consuming and complicated to move the ownership of your app later on.
- You must tell your developer to state in the contract that you have ownership or unrestricted use of the code. If you cannot get a copy of the code used for your own project, then you’re trapped by your developer.
With us, you always work with the same team: when the project is finished, the same team responsible for the app development will conduct the succeeding updates or post-project support.
Contact us if you’re thinking of developing an app or hiring a support team for an existing app. We will gladly take over existing projects. Just fill out this contact form, and we will respond to you in less than 24 hours.