If you are a non-technical entrepreneur looking to add an app to your existing business or build an app-based venture from scratch, you probably have a lot of questions. After all, we all start from square one with questions like “what is an app?”
If that’s you, this post is for you! Here you will find simple explanations for even some of the most complicated questions when it comes to development.
So, let’s get started!
So, What Is An App?
Sure, almost all smartphone or device users have a whole library of apps, but most people do not know exactly what makes an app an app. According to TechTarget:
App is an abbreviated form of the word “application.” An application is a software program that’s designed to perform a specific function directly for the user or, in some cases, for another application program.
These days, this term is mostly used by the public to refer to these programs as they are downloaded and used on mobile devices. However, apps can perform a wide range of functions.
Apps are either pre-installed on devices, or available via a proprietery app store. This includes the Google Play and Apple App stores.
While these two companies dominate the app store market, there are other stores. Also, the most tech savvy Android users sideload apps that aren’t available on these stores at all in order to access them.
There are several types of apps, which we will explain fully in this post!
What Makes An App?
All applications are created using different programming languages. Which can depend on whether they are meant for Android or Apple devices. Android apps are often written in:
- Kotlin
- Java (the most popular for Android)
- C++
- C#
- Lua
iOS apps, on the other hand, are often written in:
- Swift (the most common)
- Objective-C
- Flutter
At Chop Dawg, we are big fans of the platform React Native, which allows users to create one set of code to be used for both iOS and Android. However, other languages, like C#, can be used in this capacity as well.
If you want to learn more, check out our recent blog post on React Native!
The App Bundle
Applications are built using one of the languages above. A software package makes the bundle that empowers every one to run.
So, what exactly is within a software bundle?
According to Spiceworks:
The software package compiles code, data, and resource files to create a comprehensive software bundle essential for an app to run, such as Android’s APK file or IPA file for iOS.
The app bundle contains important files and metadata. Metadata is essentially a set of data that contains and gives information about the data which allows applications to work.
The Main App Components
Below, we will start to explore some of the basic application components that act as building blocks of every app that we use every day!
Activities
When developers talk about “an app activity” they are often talking about the entry point of a user. This is shown through a user interface (UI) that allows users to interact with an application in the first place.
For example, Facebook is one of the most used social media apps in the world. Activities it contains include things like:
- Updating your status
- Posting a story
- Showing posts from friends, groups, and ads in your newsfeed
While all of these activities happen at once to give you a cohesive experience as a user, each functions on its own within the context of Facebook.
Services
A service defines all of the features that run in the background. While activities are apparent to users through user interfaces, casual users will not interact with services directly at all.
However, services are critical to the overall user experience and how apps function. For example, they may allow a user to play music in the background while they complete other tasks or use other apps.
Essentially, services allow users to interact with other activities while the service part of the application keeps working smoothly and without drawing any attention to itself.
Broadcast Receivers
This component is what empowers apps to generate responses to a wide range of general system announcements. This system allows an application to send commands to apps that may not even be currently running.
This can be really useful when it comes to setting alarms and reminders. For example, say you need to wake up every weekday for work at 6:45 in the morning. You can set a recurring alarm that goes off every day, from Monday to Friday, at this exact time.
The alarm will go off without having to reset it and check every day. It will also function even if you don’t have the app physically and visibly open on your phone 24 hours a day.
This is because of the broadcast receiver components at work!
Content Providers
This component handles shared app data. It then stores it in a location that is accessible to various apps. Content providers allow an app to query or modify data with the content provider’s permission.
But what do we mean by “query or modify data”? Essentially, the simple answer is that content providers allow apps to make changes to databases. These changes include a number of things, such as:
- Inserting data
- Updating data
- Removing data
- Performing calculations
- Integrating data from other databases
For example, an app can share data with other apps. This happens because the content provider links APIs of several apps to one standard data storage layer.
API stands for Application programming interface. Think of APIs as a certain contract of service between applications, which defines how they communicate through requests and responses.
App Resources
While apps are built with code, at the end of the day they are far more than just code. Think about it, millions of people probably interact with apps every day and have no idea that they are built on code at all.
Apps require a range of resources. This can include audio content, visual content like images and GIFS, and written content.
All of these components allow app creators to make changes to their apps without necessarily changing the source code at all.
This means that apps can change in response to branding shifts or changes in user tastes on a surface level without doing major surgery on the code underneath.
This is also very practical because apps need to be usable across a wide range of devices. Also, something to keep in mind is accessibility, as particularly impaired vision is incredibly common in users as they age.
You want users to be able to change the font size or within your app, for example, without it becoming unusable.
All of the listed components above work together to make apps functional and versatile.
How Do Apps Actually Work?
There is a lot going on in every app that users should never worry about at all. They are only meant to interact with specific user interfaces that are a main part of the app’s front end.
The frontend, what you see as a user, answers your requests and communicates it to the backend to do what you have asked. Both parts of an app are vital. If one doesn’t work properly, an app can basically be rendered useless.
The frontend and backend communicate via APIs (application programming interfaces). Remember, these are how apps communicate requests and responses. On a simple level, think of them as applications communicating questions and answer via text message.
To put this in context, let’s think about a common e-commerce app and website, Amazon. Let’s say a user wants to buy a food processor. They will click ‘add to cart.’ From there, they can check out and pay.
The user only interacts with the frontend, where it appears that they have been able to choose and purchase a food processor with only a few simple clicks.
However, on the backend, their request is being sent to backend servers which allow them to make purchases. The backend is essentially the ‘brain’ of any mobile application.
Final Thoughts
If you are a non-technical entrepreneur, trying to start your journey into the world of apps can be a little frustrating. If you have felt like you just keep running into endless walls of jargon without explanation, you are not alone!
As an app development agency that has been partnering with entrepreneurs for about a decade, we have heard this a lot from our partners in that very first meeting!
This is part of why we have decided to put this series of posts together. Hopefully, they will provide some important context and demystify things a little bit.
If you found this post helpful or have any further questions, feel free to comment below or reach out to us on social media! Also, look out for part 2 of this post, which will be coming soon!
What do you think? Comment below.
Since 2009, we have helped create 350+ next-generation apps for startups, Fortune 500s, growing businesses, and non-profits from around the globe. Think Partner, Not Agency.
Find us on social at #MakeItApp’n®