The terminologies programmers use when discussing mobile app development can be intimidating and may sound too complex to understand. But take heart. With simple enlightenment, even a non-technical person can get by. This article aims to explain some of these key concepts.
This list is far from complete, but will give some helpful fundamentals on mobile app development.
Core components of an app
These are the following components that are essential in developing an app:
- The app itself, in iOS, Android, or Windows mobile platform.
- The database or admin system where data is stored and where you can do administrative tasks such as deletion of users, update information like email addresses, etc.
- Some apps have a website where you can learn about the app’s features and how it works.
A programming language is a set of instructions used to produce different kinds of output. A developer uses it to create programs that implement specific algorithms, thus, developing the app and its management system. The most common programming languages for mobile app development are Objective-C, Swift, C#, C++, and Java.
Mobile app development platform
This is a specific software that allows developers to build, test, and deploy mobile apps. It’s a framework—like a skeleton—intended to build apps of various functionalities, using a particular programming language. Programmers can either use native platform (thus, do native development) or cross-platform (thus, do cross-platform development).
Native development. Native app development is done when the developer uses a programming language that Apple, Google, or Microsoft has each released for their respective operating systems. For instance, a programmer may use the following programming languages if they wish to do 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.
- C# is a programming language used in within Visual Studio, a development environment created by Microsoft. This is used to develop Windows apps.
Cross-platform development. Through cross-platform development, programmers can write code once and produce installation files for all three platforms: iOS, Android, and Windows. This can save time as code does not have to be written three times (one for iOS, one for Android, one for Windows).
However, the shared code in cross-platform development is not 100%. In actuality, 60-70% of the written code can be used for three platforms, while the remaining 40-30% often need to 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 uses. Some of the most known 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?
- In how many platforms should the app exist― one (Android only or iOS only), two (both Android and iOS), or all three platforms?
There is no fixed rule on which app development framework to choose, though normally, programmers use globally-recognized development technologies like the ones discussed above.
At 1902 Software, we develop either natively, or using the cross-platform, Xamarin.
Database and management system
Here we will discuss two app components: the database where the data is stored, and the management system used for the administration of the system.
There are numerous technologies and database systems that can be used in developing an app. Ideally, you should do an analysis of your project to find out which development tools can help you the most. In reality though, the development tools used by programmers are those that are commonly used by the majority.
At 1902 Software, we use the following:
- Microsoft SQL Server or MySQL for the database
- ASP.NET or PHP as programming language
When we develop using cross-platform 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. Usually, an application is hosted by its website and its internal admin system.
If you store personal data, you must be aware of the servers’ physical location, whether they are within or outside your country’s region.
Many individuals and businesses use Amazon (Amazon Web Services) or Microsoft (Microsoft Azure) to host apps in the cloud server. In both of these hosting sites, you can choose where your data gets stored—in or out of your country, region, or continent.
Once the app’s database, website, and management system are complete, the app must be uploaded to an app market 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 market requires creating a developer account in Google, Apple, and Microsoft. The app may be uploaded in all three platforms, or in only one or two platforms. A minimal amount is paid, around $99 per platform.
The actual setup and uploading of the app to the market 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 IT supplier 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 IT supplier 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 supplier. You can prevent being in this helpless situation by making clear with your IT supplier from the very start your ownership of the source code.
We have been doing IT projects (web, webshop, business site, mobile app) of all types and breadth since 1998. We have extensive experience with programming, and with building software that people actually use.
With us, you always work with the same team: when the project is finished, the same technical crew responsible for the app development will conduct the succeeding updates or after-sales support.
Contact us if you’re thinking of making 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.