In this multi-part series, we talk about how to explore, vet, and develop your great idea for an app. We move from the exciting early phases of brainstorming and ideation, to validating your idea, writing a mobile app project brief, finding the right partner, crafting a strategy, building and testing your app, and then taking your product to market.
In this week’s article, we cover some of the important mobile app terminology. This will be useful as we get into the pros and cons and decide on the right OS for your new mobile app.
So, you’ve got a great idea for a mobile app. You’re committed to making this happen, so you’ve done some market research and refined your idea, maybe even written up your mobile app project brief. Now what?
Well, you’ve reached a crucial stage. Soon you’ll be making some of your most important decisions. You’ll be choosing an operating system (or systems), a development strategy, and ultimately an app development partner. These choices will have a massive impact on the outcome of your project.
Before getting into the pros and cons of the various paths ahead, let’s talk terminology. Having a firm grasp on the terms will help with your evaluation process.
Today’s discussion centers around terms specifically for mobile app development rather than web app development. Although there are similarities among the terms, we’re focusing on app development designed to be run on only a few types of small hand-held devices: smartphones, tablets, and sometimes smartwatches. Mobile app development is the entire set of processes that is included in writing software specifically designed to be run on mobile devices. Mobile apps are intentionally, narrow in scope and functionality. This is done in order to take advantage of the distinct features mobile devices have. Common examples of mobile apps include games, health apps with sensors, social and mapping apps dependent on location information used while traveling.
A mobile operating system is the software that enables you to run applications and programs on your mobile device. An example would be the iOS operating system that’s installed on an iPhone, iPad, or other Apple device. This serves the same function as the MacOS platform that’s installed on your Mac computer or the Windows operating system that comes with your desktop PC. Note: we use the terms “operating system” and “platform” interchangeably, though there are some distinctions between the two.
The iOS operating system is the mobile operating system designed by Apple exclusively for use on the iPhone and other Apple devices.
The Android operating system is the mobile operating system owned by Google; it can be used on Android phones as well as a wide variety of other devices.
A native app is custom-built for one specific operating system, such as iOS or Android. An app developer uses a programming language that’s unique to the operating system they’re coding for. Essentially, the app has to be built separately for each operating system it will run on. For example, a developer might use Java to code an app for an Android phone. WhatsApp and Lyft are common examples of native apps.
A cross-platform app is an app built on a single codebase, but it can be run on more than one operating system. A cross-platform app can be utilized by both iOS and Android users. Flutter and React Native are examples of languages used to develop cross-platform apps.
Agile development is an iterative method of software development used in the creation of mobile apps. It’s informed by the principles laid out in the Agile Manifesto. Agile development works in short cycles, or sprints, with working software always being the ultimate measure of progress. The main advantage of the agile method in software development is that course corrections can be made at any step of the process. This way, the final product is almost always guaranteed to fulfill the project goals.
What the user sees when they download and open up an app is a result of frontend development. It’s similar to a theater stage: the audience sees only the aspects they are designed to see and none of the backstage stuff that allows the performance to happen smoothly and look good. According to techslang.com, the job of frontend software developers “involves transforming the code built by backend developers into a graphical interface, making sure that the data is presented in an easy-to-read and -understand format.”
Backend software developers focus mainly on how a website or product works. Their main job is to write the technical code that creates the architecture for the product to be built. It’s the opposite of the frontend development because the code is never seen by the end user. Learntocode.me describes it like this: “They write code that focuses on the functionality and logic powering the application they’re working on, and the technology they work on is never directly seen by users.” Backend development work can also include creating libraries, code to interact with databases, and more depending on the needs of the project.
Now that you understand some of the important mobile app terminology, you’re ready to talk strategy. In next week’s article, we’ll look at the pros and cons of native vs. cross-platform app development, so you can compare approaches.
If you’re already in the process of vetting app development teams, get in touch. We’re happy to have a conversation anytime.
Editor’s note* This article was expanded and updated by Addie Kugler-Lunt in 2022.
LimeTech is a creative tech company with a focus on app development. We help brands grow their impact by building digital products that please customers and solve business challenges. Our work includes strategy, design, content, and tech planning. Check out our portfolio or reach out to start a conversation about your project.
Building on our article “Hello, Color!”, we cover some common color terminology. This helps you have conversations with designers when you’re creating the look and feel of your app. Here we go with “color terminology explained”!Read more