Online College Courses for Credit

+
Sample iOS Project

Sample iOS Project

Rating:
Rating
(0)
Author: Devmountain Tutorials
Description:

Analyze the steps that the iOS engineer takes to make sure that the mobile app works effectively for the user.

(more)
See More
Fast, Free College Credit

Developing Effective Teams

Let's Ride
*No strings attached. This college course is 100% free and is worth 1 semester credit.

37 Sophia partners guarantee credit transfer.

299 Institutions have accepted or given pre-approval for credit transfer.

* The American Council on Education's College Credit Recommendation Service (ACE Credit®) has evaluated and recommended college credit for 33 of Sophia’s online courses. Many different colleges and universities consider ACE CREDIT recommendations in determining the applicability to their course and degree programs.

Tutorial
what's covered
This section will explore a sample iOS project by discussing:
  1. ADDING OTHER PETS TO THE APP
  2. STRUCTURING THE DATA

1. ADDING OTHER PETS TO THE APP

When Poodle Jumper first launched, we only provided services for dogs, but we are expanding to include services for cats, rabbits, hamsters, gerbils, and mice. Last week I finished the changes to the screens, or views as they are known in iOS. Today, I am working on pulling in the new data structure into the app so customers can add their additional pets. I’m going to show you some of that process.

step by step
I start by looking at:
  • 1. The existing data model I currently have in the app
  • 2. The new data model from Monique, our Software Engineer
  • 3. The updated web service from Ruben, our Web Developer
  • 4. The requirements from Jose, our Product Manager
  • 5. The designs from Mori, our UX Designer

I compare the changes and figure out how to structure it in the app. Do I need to pull data in a certain sequence? If so, how can I write that code efficiently to be as fast as possible and only include the data I need? When I have a plan for how to execute this in the app, I collaborate with Ruben (Web Dev) and Monique (Software Engineer) because they provide parts of the puzzle that I need. Monique creates the data model and the main database where we store information. Ruben creates a web service for the apps to get that data from the database.

term to know

Web service
A type of electronic communication between devices used to send and receive information, or data.

2. STRUCTURING THE DATA

The web service Ruben created has all the pet fields (name, species, breed, size, type of food, attention needed, and special care notes) in the same service as the user’s profile. This means that every time I need to refresh one piece of data for a pet, that I have to get all the information for the user’s profile and all the other pets. This isn’t the most efficient way to structure the data, so I have a quick conversation with Ruben (Web Dev) and Camilla (iOS). We come up with a way to break the one big service into smaller microservices.

big idea
Remember, the more data coming in and out of the app, the more networking and data usage it eats up while draining the device battery.

The image shows a tiny man and a tiny woman sitting on an oversized phone while holding devices in front of their faces. Above them is a Wi-Fi icon and clouds.
Thinking About Web Service

Knowing the structure of the data allows me to plan how and when I make the app send a request to get the data. This comes with its own set of challenges to overcome.

  • What should the app do if the user is offline or doesn’t have a stable internet connection?
  • What data should I save, or cache, to improve the performance?
  • If I cache the data, how often does it need to be refreshed?
  • Should I refresh it when the view loads, or will users pull down on the screen to make it refresh?
  • What do I show the user if the web service sends back an error message?
  • Do I need to wait for the data to return before I show the view?
  • What do I need to do to make sure the data is in sync with all their other devices?
All of these questions are considerations I have while writing the code. My goal is to create an experience that is as smooth as possible. I can't lock up the user's device while it loads, so I leverage the phone’s multitasking abilities to have several things processing at the same time.


Terms to Know
Web service

A type of electronic communication between devices used to send and receive information, or data.