iOS Networking with Swift (Udacity)

Offered by Udacity,
iOS Networking with Swift (Udacity)

Web Services, APIs, and JSON. In this course, you’ll learn how to incorporate networking into your apps, so they can access data from around the world. You’ll learn how to harness the power of APIs to display images and retrieve movie data. At the end of the course, you’ll build the "On the Map" app which allows you to share interesting links, projects, or other information with fellow Udacity students.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

Without networking, mobile apps can only perceive, process, and present the data that is local to the host device. This greatly restricts the scope of problems which apps can solve and limits their overall utility. By incorporating networking, apps truly become "mobile" -- they can interact with interesting data using popular web services, coordinate multi-user activities, and build experiences that bring users together.
This course will cover concepts fundamental to communication over the network like HTTP, JSON, and authentication. These concepts are also highly transferrable to other platforms, languages, and applications. Additionally, it will mold your understanding of app design, especially when networking constraints are involved.

What You Will Learn

Lesson 1
Making a Network Request

  • Learn the basics of the web and using web services.
  • Experiment making requests and seeing their responses.
  • Make a simple request to download an image using a URL.

Lesson 2
Using Web Services and APIs

  • Learn how to parse JSON data and display it to a user.
  • Build your first app that utilizes a web service: “Sleeping in the Library.”
  • Learn how to use the Flickr API to download pictures from a gallery.

Lesson 3
Chaining Asynchronous Requests

  • Use closures to chain multiple web requests together.
  • Demonstrate these new skills by building the “Flick Finder” app.
  • Use the Flickr API to search for images based on a search string or location.

Lesson 4
Authenticating Requests

  • Learn the difference between user and anonymously accessed data.
  • Build the “My Favorite Movies” app that utilizes the Movie Database API.
  • Securely access data using HTTPS and tokens.

Lesson 5
Improving Networking with MVC

  • Improve on your “My Favorite Movies” app to build the “Movie Manager” app.
  • Use good MVC design and learn what this means from a networking perspective.
  • Reduce code duplication and refactor code for more simple network requests.

Lesson 6
Preparing for "On the Map"

  • Start on your final project app “On the Map.”
  • Learn about network reliability.
  • How your app should behave if a network cannot be reached.

Prerequisites and Requirements
This course assumes prior iOS experience. Specifically, you’ve built several apps, know how to use core iOS libraries, and are familiar with MVC design principles. Introduction to iOS App Development with Swift and UIKit Fundamentalsare good courses to take if you need to familiarize yourself with these concepts.
The course also assumes basic familiarity with Git. Specifically, you will need to be able to clone Git repositories and checkout branches specific to each lesson. How to Use Git & GitHub is a great option if you need to brush up on these skills.
You will need access to a Mac computer running OS X 10.10 or later. However, you do not need an iPad or iPhone to complete the activities. All exercises can be completed using the iOS simulator built into Xcode.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

GT - Refresher - Advanced OS (Udacity) Udacity
Georgia Institute of Technology,Udacity

GT - Refresher - Advanced OS (Udacity)

The course covers the basics of Memory Systems, File Systems, Multithreaded Programming, and Networking. Together these form a strong foundation from which the student can understand cutting edge research in the areas of Virtualization, Distributed Systems, and Internet-scale services in the GT Advanced Operating Systems sequence.

Self Paced
Self-Paced
Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will build upon concepts from the prior course, including handling notifications, using multimedia and graphics and incorporating touch and gestures into your apps.

Oct 26th 2026
5-12 Weeks
AWS Cloud Practitioner Essentials (Coursera) Coursera
AWS

AWS Cloud Practitioner Essentials (Coursera)

Welcome to AWS Cloud Practitioner Essentials. If you’re new to the cloud, whether you’re in a technical or non-technical role such as finance, legal, sales, marketing, this course will provide you with an understand of fundamental AWS Cloud concepts to help you gain confidence to contribute to your organization’s cloud initiatives. This course is also the starting point to prepare for your AWS Certified Cloud Practitioner certification whenever it’s convenient for you.

Nov 2nd 2026
5-12 Weeks
Networking Fundamentals (Coursera) Coursera
Akamai Technologies, Inc.

Networking Fundamentals (Coursera)

Students start by learning basic network theory and terminology including network components, node functions, types of networks and network models. Students will gain an understanding of the Open Systems Interconnection (OSI) model and the TCP/IP Model including encapsulation and common network protocols. Students learn about data transmission methods and ethernet including CSMA/CD and CSMA/CA.

Nov 9th 2026
4 Weeks
Foundation to Multi-Cloud (Coursera) Coursera
EDUCBA

Foundation to Multi-Cloud (Coursera)

The "Foundation to Multi-Cloud" course is designed to provide a comprehensive understanding of multi-cloud computing principles, benefits, and challenges. It equips you with the knowledge and skills required to effectively manage and utilize multiple cloud platforms simultaneously. This course introduces the concept of multi-cloud, elucidates its advantages and complexities, and delves into various strategies and technologies for implementing and managing multi-cloud environments.

Nov 2nd 2026
3 Weeks
Fundamentals of Management (Coursera) Coursera
University of California, Irvine

Fundamentals of Management (Coursera)

Are you about to enter the workforce? Are you an emerging professional? Are you new to your role in the organization? All prospective new employees benefit from understanding management principles, roles and responsibilities, regardless of position. Now you can acquire an in-depth understanding of the basic concepts and theories of management while exploring the manager's operational role in all types of organizations. Gain insight into the manager's responsibility in planning, organizing, leading, staffing and controlling within the workplace. It’s never too soon to plan your professional path by learning how the best managers manage for success!

Oct 26th 2026
4 Weeks
Interfacing with the Raspberry Pi (Coursera) Coursera
University of California, Irvine

Interfacing with the Raspberry Pi (Coursera)

The Raspberry Pi uses a variety of input/output devices based on protocols such as HDMI, USB, and Ethernet to communicate with the outside world. In this class you will learn how to use these protocols with other external devices (sensors, motors, GPS, orientation, LCD screens etc.) to get your IoT device to interact with the real world.

Oct 26th 2026
4 Weeks
Ajax Basics (Coursera) Coursera
Board Infinity

Ajax Basics (Coursera)

This Ajax Basics course is designed for beginners who want to learn how to build web applications that dynamically update content without reloading the entire page. In this course, you will learn the fundamentals of Ajax, including its features, advantages, and common usage scenarios.

Nov 2nd 2026
3 Weeks
Intro to AJAX (Udacity) Udacity
Udacity

Intro to AJAX (Udacity)

Making Asynchronous Requests with jQuery. In this course you will learn how to make asynchronous requests with JavaScript (using jQuery’s AJAX functionality), and gain a better understanding of what’s actually happening when you do so. You will also learn how to use data APIs so you can take advantage of freely accessible data in your applications, including photo results, news articles and up-to-date data about the world around us.

Self Paced
Self-Paced
Swift for Developers (Udacity) Udacity
Udacity

Swift for Developers (Udacity)

Your Next Programming Language. This course offers a quick practical introduction to Swift basics, including types, variables, constants, and functions. It combines syntax exercises with hands-on iOS development in Xcode. By the end of the course students will build their first iOS app, an app that creates and displays song lyrics customized to user input.

Self Paced
Self-Paced