Hello developers, especially beginners! As you know, at WWDC 2019, Apple launched a new awesome feature called SwiftUI, which will be a new breakthrough in UI programming, enabling developers to have more time to develop ideas instead of focusing on technical stuff.
Since then, it has become easier for beginners to learn iOS development. After we learning the basics, everyone should try to make an application to apply the knowledge and see the gaps between theory and practice for themselves. However, it’s hard to come up with an app idea that is suitable for everyone’s level. So this article is for you. In addition to giving iOS app ideas, we will help you get different perspectives on what you can learn from each of them.
1. Expense Tracker
The idea of this app is to manage your money & finances, allow you to see your spending by category, set up bill payments, keep track of your incomes, and plan for savings.
The required features of the app are:
- Display and compare total cost by day, month, year.
- Show your invoices during the day.
- Add a new invoice.
- Show categories (including food, water bills, etc).
- Show categories with used invoices (for collecting purpose).
This expense management app works in the following way:
First, in the ‘Home’ screen, you will see comparative charts which will help keep track and make comparisons of the current day’s expenses. Below the charts, a list will display all invoices you have paid that day.
Next, as you click the ‘Add New’ button, catalogs will appear. Clicking on each specific catalog will lead to the next screen where you can input the amount of money and give a description for that invoice.
When things are done, the app will automatically return to its home screen. By utilizing the Tabbar navigation, you can create 3 items: Home, Activities, and Setting. Activities screen displays recorded bills in categories (for example, Food: 3 bills, Drink: 4 bills, etc). Clicking on a specific item to see the details.
‘Setting’ enables users to edit their information and images.
Here is the link of the above design.
So what can you apply?
1. Chart View, Table View, Collection View: With the infinite creativity of designers, you can apply knowledge of views to create impressive screens.
2. Tabbar Navigation and View Controller Navigation.
Basically, this app does not need to apply to the server because it is used to track your own costs. However, you can still apply this by using firebase. We will mention this feature in the next parts.
2. Books App
If with the Expense Tracker application, you don’t need to communicate with the server. In this app, let’s take that one step further by calling the available APIs like this link, or this. The iOS app idea is to help users read online books. Sounds simple, right? But, it is not as easy as you think.
The required features of the app are:
- Get books from free sources.
- Allow users to read books, even each chapter of any books.
- Bookmark the reading process.
The app will be as follows:
First, the application will retrieve the books from free sources and save them to the local database of the app. Then users select the book they’re interested in.
In addition, users can also save the reading process and continue reading afterward. The page flipping effect is the highlight of this app. It makes any type of books more engaging for readers.
Since this app will not have too many features, you can focus more on the UI. Making an attractive and friendly user interface has never been easier to attain.
Check out this link if you want to learn more.
So what can you apply?
1. Networking, Alamofire, Moya: In this section, you can apply knowledge about communicating networks such as URLSession, Alamofire, or even Moya.
Just a small note: If you’re completely new, it’s really important to learn more about native functions like URLSession to understand deeply the way they work. Using convenient libraries might be reducing your time but when the errors come up, you don’t know how to fix it.
2. Local Database: You can use the Realm or Core Data to save data in minutes in order to build mobile apps in a fraction of the time.
3. Collection View: As we said, the page-flipping effect is the place for you to show your creativity to make it truly stand out among other applications.
3. Recipes App
The idea of Recipes app is to help users have a collection of dishes and recipes they’d like to try. In addition, the app can also add the ingredients into their shopping cart. This is a very simple iOS app idea, extremely suitable for an iOS beginner.
The required features of the app are:
- Show all dishes and recipes which the app has.
- Show details of each dish, each recipe.
- Add ingredients into the shopping cart enabling users to make quick payments.
- Allow users to perform the payments.
- Optional features: list of saved dishes, tracking your last payments, etc.
The business logic:
I guess after you read the 3 apps above, you can also imagine how this app works. You can use tabBar navigation controller or side-menu to help users navigate to the screen they wish. In general, we will have four sections:
In the ‘Dashboard’ screen (or Home, whatever), this will show the top trending recipes. This is where you can unleash your creativity. You can use either a collection view or a table view or combine them as shown below. Of course, users can see the details of each recipe by tapping on that item.
The ‘Detail‘ page will show all the ingredients which users need to make their dishes. In this feature, this part can be updated by integrating to payment allowing them to be able to buy these ingredients. But this task needs a lot of things since you need to link/ co-operate with supermarkets or agents.
Tapping on the ‘Add New’ button will lead users to the screen where they can add a new favorite recipe. ‘Setting’ enables users to edit their information and avatars.
This image is referred from this link.
What you can apply:
1. Firebase/ GCD: In this section, you can create your own server. Use firebase might be a little bit different from the Restful API but the flow you communicate to the server is the same. You send requests and receive responses. The main thing is the way you handle them in the proper threads, avoid blocking UI or some weird behaviors.
2. Local Database: Nothing new but save data in your app.
3. (Optional) Payment: Integrate some payment methods might be a difficult task. But let’s challenge yourself. And we are going to introduce it in the next parts.
4. The chat app
One of the most successful mobile applications is Messenger from Facebook. Creating a chat app is extremely convenient, since it’s a popular feature. It is also a great practice opportunity for developers who want to improve their skills. All these make it a perfect iOS app idea to be built by a starting developer.
The features you must have:
- Login/ Register with popular social platforms such as Facebook, Google, and Twitter.
- Show the list of conversations.
- Real-time text transmission.
- Push notification.
- Optional and advanced features: chatbots, AR/ VR.
The business logic:
The business logic of this app is not complicated at all. All of the things Messenger can do, your app should also be capable of. You send a message, your friends or groups will receive it. Make sure everything is real-time and when you are out of app, you can receive push notifications whenever the conversations have something new.
The hardest part belongs to the models and their relationships. So please do not think about Chatbots or VR/ AR if you haven’t still met the basic requirements.
Please refer to this link for more details.
You can also leverage a chat app clone in order to learn from more experienced developers.
Are there anythings new?:
1. Firebase & Push notifications: As we said above, let’s use Firebase as your own server to save your time and money. Besides that, you can also integrate push notifications with this platform. In theory, it will inform users whenever new messages come up.
2. Real-time text transmission. Does it seem too difficult of a task? Don’t worry, since Firebase is a type of real-time database, the only thing you need to do is to observe the signal from the server and update in your app.
5. The social network App
Yes, you didn’t hear wrong. Create your own social network might sound like a joke but it’s not. The social network has become a popular application in today’s world. The key value of it is to connect people together. We think we don’t need to talk too much about the features the app needs. You know better than anyone else. Social networks are one of the most popular iOS app ideas of the decade.
Let’s refer to what we have done with our social network template. It got everything that Facebook has.
We highly recommend you to visit this page to dive deeply into all essential features. They have been described in great detail. The backend we use is Firebase including Firebase Auth, Firebase Storage, and Firebase Firestore.
6. To-do list – Tracking task
After going through these big ideas above, if you feel you’re still not good enough to do them. Don’t get discouraged. Let’s get inspiration back by this one – (To-do list – Tracking task). Although, apps like this are filled on AppStore but it never gets old for new developers. The main purpose is to keep track of what you’re doing by days, by weeks, months and years.
The must-have features:
- Keep track of tasks by days, weeks, months and years.
- Calendars, for sure.
- Local push notification.
The business logic:
From the key idea of this app, you can develop it into many versions to make differences. It could be tracking by process of the tasks, by group, by categories, by people.
After you have the percent, you can show, display these parameters in a various way. Let’s take a look at this following image (or from this), for instance. With the calendar, it will enable users to navigate to any dates to re-check or update tasks.
Which knowledge we can apply here:
- Calendar: Instead of using an existing library, why don’t you create your own calendar? Try it and you will find out it’s not easy.
- Retain cycle and life cycle of the view controller: Since this kind of app doesn’t need to use servers (actually it could), you can focus on the performance of the app. Whether it gets memory leaks, whether it has a bunch of view controllers having not been removed yet after every pushing.
- Local push notification: it could be used for telling users updates.
7. The News App
Usually, we need this kind of app once we have already contents or a website as WordPress. Then we can integrate with any WordPress website, regardless of its purpose (magazines, blogs, news, etc). All you need to do is specify the address of your WordPress site.
- Automatic WordPress integration
- Real-time updates
What you can learn
Again, you can refer to our template to see how we embed a WordPress into an iOS application in action. In theory, regarding building a new reader, you can learn more WKWebView, UIWebView. But recently, UIWebView has been deprecated by Apple since iOS 12, so you should pay attention to this in order to avoid getting rejected when submitting your app into AppStore.
8. The E-commerce App
Since online shopping on native e-commerce apps has exploded in recent years, it has brought a deep connection between businesses and their customers. The business logic and must-have features are quite similar to the Recipes App. And from now on, there will be a lot of applications having the same features, with similar business flow.
We wrote an article about Best Features Any Ecommerce Mobile App Must Have, it is extremely detailed.
The new skills you can learn here
- Login with Touch ID (a.k.a fingerprint) or Face ID for frictionless user onboarding process.
- Stripe payment with clouds: It instantly enables users to use their mobile phones for online payments. This task takes a lot of time and effort and it’s really worth learning because you have to dive into back-end/ servers part deeper.
9. The Around me App
One of the popular applications on iPhones is AroundMe application. It allows you to quickly find out what you’re searching around you. The app will show you a table view containing categories such as Coffee shops, Gas Stations, Restaurants, etc. Tapping on each item will lead you a list of requested places. Continue to tap on each place will show the detail page with necessary information. Think about this as a Yelp
You can also give users a map to make it more visual. This is also the main feature you need to know when implementing this kind of app. Here is the example on AppStore
Check out our article about MapKit to have a better understanding of this library.
10. The Music/ Radio App
The last idea is streaming music collection and control music on iOS like Spotify. Yes, you can guess how it looks like. A table view with a bunch of songs and users can select any one of them and enjoy it! This is a fun iOS app idea!
With these free APIs, you can retrieve and save them in your database then show them in your UI. The way and the flow are the same as the ideas above. The only new thing is MediaPlayer library where you can play, next/ previous or stop songs.
Next, you can let users “like” or “share onto the social networks”. It is also a new thing you can learn. Let’s try it. You could be the next Spotify, like this
In general, ideas are just ideas. All the above applications need servers, need to be saved to the local database, need to be checked for memory leaks/retain cycle issues, etc. They could use either tabBar navigation or side menu. The important thing is you should know how to compose all of them from communicating to servers to save down to your local database and update UI in runtime without blocking UIs and provide users the best experience.
Besides that, during the development process, you will also learn the way to create and organize models and manage their relationships. The bigger your app is, the more complicated your business logic is. But you must absolutely consider one of these iOS app ideas in order to learn iOS development more quickly.
Where do we go from here?
There will be a lot of things you need to learn. That’s architecture and writing tests. When you’re good at Swift, you have to think about how to organize your code to make it easy to test, flexible, maintainable and scalable. Hopefully these iOS app ideas will help you get started with a real world mobile project, and will help you take your programming skills to the next level. And who knows? Maybe one of these iOS app ideas will end up making you millions.
You should always consider starting a project with a fully functional app template, in order to save time and learn from other people, who maybe know more about iOS development. Great artists steal. Check out our awesome iOS app templates.
Thanks for reading to this article. And if you got here, you must love it. Why not share it with your friends?