Using Swift to Build an IMDb Search App

A guide to using Apple's new programming language with the JSON web service to pull real results from IMDb.
4.3 (51 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
1,034 students enrolled
50% off
Take This Course
  • Lectures 29
  • Length 3 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 7/2014 English

Course Description

Building an app is an exciting process, but connecting your app to the web opens up a world of possibilities and gives your users access to the content of their choice while keeping them in your app. This provides a clean and enjoyable user experience, which is what software should really be all about in the first place.

In this course, you can not only expect to learn how to use Swift and Xcode 6 to build an application, but also how to leverage web services like JSON so your users can perform in-app searches for real IMDb content.

Using Swift to Build an IMDb Search App should only take a few hours of your time, but will establish best practices that will make app development in Swift not only easier, but more enjoyable for you - and your users.

If you're tired of taking the same old "To-Do List App" tutorial and want to learn how to open your application up to the web, then this is the course for you. We'll walk through each step of the process together and I will be available through the Udemy forums for any support you may require or questions you may have along the way.

Hope to see you inside!

What are the requirements?

  • An iOS Developer Account (now FREE to download Xcode 6 w/ Swift)
  • Access to of Xcode 6 (as mentioned above - now free, no more $99 annual cost)
  • A basic understanding of the Swift Programming Language

What am I going to get from this course?

  • A working knowledge of how to combine Swift and UIKit to develop and design a working iOS app
  • Connect your app(s) to the web through a service called JSON to give your users a rich in-app experience.
  • A solid understanding of best and functional practices in developing applications in Swift
  • Lifetime access to over 3 hours of detailed content

Who is the target audience?

  • New and experienced programmers who have a basic understanding of the Swift Programming Language. Expert knowledge is absolutely not necessary here, but if you've browsed through the Swift documentation and have at least a bit of experience with object oriented programming, you're all set.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction - Apple Developer Program and Downloading Xcode 6
Downloading Xcode 6
Section 2: Getting Ready
Installing Xcode
Getting to Know the IDE
Section 3: Swift and UIKit
The Storyboard
Hooking Up Storyboard Elements with Swift Code

Udemy reformats the picture title to "kong-poster.jpeg". You should use that in your project.

5 questions

A quick recap of what we've learned so far.

Section 4: Choosing an API
Start at the Source
Testing Speed and Understanding Request Syntax / Results
Section 5: Making an API Request with Swift
The Functional Approach
Speeding Things Up
5 questions

An overview of the key requirements for making a URL connection in Swift.

Section 6: Building Your Own API Controller Class
Creating a New Class in Xcode
Separation Anxiety - Why Separating Code is a Good Thing
Optional Binding and Its Role in Safe Programming
Conforming to Protocols / Becoming a Delegate
Lazy Stored Properties
Formatting an Image from a URL
4 questions

Optional binding and protocol adherence in Swift.

Section 7: Searching and Tapping
Putting It All Together
Section 8: UI / UX - Why Not Both?
Identifying Potential Problems in Your App's Design
UI - Sources of Inspiration
The Advantages of Predesign
UIBlurEffect and UIVisualEffectView

A quick look at extending Swift's String type. This is not intended to be a "fix all" and may not be appropriate for EVERY movie title, but it IS a handy solution for being able to parse a title from a subtitle as long as they are separated by a colon. It's also great practice for Swift extensions.

Using the String Extension to Parse Your Movie Title
Customizing Label Fonts
Adding Rotten Tomatoes Data
Finishing Touches
Section 9: Next Steps
Where Should We Go From Here?

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Jake Johnson, Software Developer and Designer

I've been involved in the desktop and mobile software industries since 2010, when I worked for Apple and built software that helped internal B2B teams across a range of international markets stay coordinated and focused on sales and customer interaction / retention. My experience in breaking down internal processes into dynamic and easy-to-understand software workflows is backed by a drive to always put user experience first.

Today I work for one of the best custom software development firms in Los Angeles and am lucky enough to have the opportunity to build great apps for great customers on a daily basis that cover a wide range of technologies and languages / platforms. Our clients range from small to medium trade-specialized companies to media giants such as the Walt Disney Company, Warner Brothers, Dreamworks, and Paramount. I recently completed an asset management system optimized for iPad that is in the process of being implemented by a leader in the entertainment hospitality industry to manage a network of over 75,000 assets across all of their locations.

I am the lead mobile developer at our firm and have a strong passion for not only clean, useful design - but the data behind the scenes that makes that design mean something. Over the last several years, I have accumulated experience in building user-friendly front end solutions that hook up to massive database backend systems. I strive to make every tap or click count and firmly believe that to the user, the interface is the application. By leveraging the skills and best practices that I have learned, I want to help you bring powerfully simple applications to your users and clients.

I absolutely love my job and can't wait to share what I do with you.

Ready to start learning?
Take This Course