Let’s #BuildAnAppIn1Week

Day 2 to 6 — Let’s code the app (and not the server!)

This post is the third part of a global story that relates how we #BuildAnAppIn1Week. If you haven’t done it yet, please read the first posts HERE.

Image for post

Standard architecture of an application

When you build an application you not only build the app you will see and use on your smartphone, there is also these other components that are not visible for the user but which will do lots of jobs in order to provide the app with the necessary informations : server, database, file storage, external APIs (link to API definition), push notification.
Here is a chart that will give you an idea of how the overall system is organized.

Image for post

The server part

A server would normally be developed with a language like Python, Ruby or Java. A language different from the Objective-C you’re going to use for your iPhone application. It’s a big part in a project and can take lots of time in order to have something reliable (that never stops because if it does your app can no more communicate with other applications or save documents), and scalable in order to be able to accept more and more users from the first 10 beta testers to the millions of fans your app is going to have!
And that’s not it! You’ll have to design and build a database with the right model, to maintain this database, to build your push notification system, to find a way to store files like pictures.
It is a lot of work which need you to have lots of different skills.

Image for post
  • Push notification
  • File storage
  • User authentification
  • And even give you analytics tools!
Image for post
Parse is a great solution to only take car of your final app. It provide data storage, push notifications and even analytics tools.
Image for post

Client Side

Tools your need to develop an iPhone app

Developping for iOS is not as easy as developing for the web, I mean in terms of tools requirements. There are several tools that you need before you start coding and building your app. Here are the compulsory ones:

  • Create (and pay for) a Developer account (you can start coding without paying for a developer account, but as soon as you want to start testing you app on your device you will need it)
  • Download Xcode. Xcode is the only IDE that can be used to develop for iOS. You can download it for free in the Mac App Store.
  • And finally, but not least you’ll have to learn Objective-C language. But fortunately there are good sites that provide great tutorials to learn. One that we could recommend is Ray Wenderlich website where you’ll find lots of great tutorials for beginner, indermediate and advanced iOS developers!

Make some choice

When you build an app you’ll have to take decisions regarding your product that will then impact the public you’re going to reach. These decisions really depend on your targeted audience and on the kind of product you want to build.

Image for post
Image for post
Chart from www.ryanwenderlich.comrepresenting the MVC architecture
  • View : It is the visual side of you application. It is the interface that you’ll expose to your user and on which he is going to interact.
  • Controller : The controller makes the link between your model and your view. It will update the view depeding on your model. In our case if a group has a new member it will say to the view to update and add this member. And it will also listen to the user actions the view will receive in order to update the model. For example if the user post a new photo, the controller will update the group class in order to change its photo.
Image for post

Test your app

The goal here is to provide the best app possible to your users. One of your goal in order to deliver a great app is to avoid bugs. In order to avoid bugs you have to test your app as much as you can!

Image for post

What’s Next ?

Now that you have developed your app, test it with beta testers, you must be ready to release it to the world! But before that you still have some steps to achieve in order to be able to get some analytics, track bugs, or even prepare the release of your app on the App Store. We’re going to talk about all these important steps in our next article.

Pikichat is a fun photo group, messaging app ! Drop us an email : founders@pikichat.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store