Swift and iOS from scratch: coding like a pro 2

iOS App Development - tables, navigation, good practices, xibs, learn how to write code like a professional.
4.4 (15 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.
933 students enrolled
$30
Take This Course
  • Lectures 31
  • Contents Video: 2 hours
  • Skill Level Intermediate Level
  • 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

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

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

About This Course

Published 12/2014 English

Course Description

A course for developers who want to create their iOS applications using good practices, while avoiding some traditional code smells.

For first time iOS developers, this course will guide you through several parts of the the language and the API, how and why to use them properly. Avoid common iOS and developers mistakes while building a real world application. The number of applications is not the goal here: a good, well written app is what we are looking for.

In this free course you will learn the basics that will allow you to understand what you are building: how and why. You don't really know something until you learn why.

If you already develop for iOS, but are tired of developing applications that are costly to mantain, tired of writing code noone else understands, or even the simplest change requires too much energy, this course will fit your needs: learn how to avoid those mistakes using features both from the language and the API.

You will learn Swift, the iOS API, good practices, design patterns and code smells. You will not just learn how to use, but understand what and why you are using it. As a newcomer, learn storyboards, segues, advanced segues, view components, like a pro learn about why constants matter, why object orientation matter, how and why XIB files are used, how to programatically configure your view and the power that comes with that approach.

Understanding what is going on is the difference between a language and API user and a professional programmer. This is our goal, let's understand Swift and iOS development.

What are the requirements?

  • Download XCode
  • Know how to program in any other programming language
  • NO NO NO NO NO need of objective C knowledge

What am I going to get from this course?

  • Continue your iOS app
  • Code like a professional, know your language and API
  • Use design patterns
  • Identify code smells
  • Use good practices
  • Understand static and dynamic tables, cells, segue, navigation controllers, programmatic configuration, delegates, custom data sources, override keyword, custom (and kinda weird) constructors and so so so much more.

What is the target audience?

  • This course is meant for new iOS developers who want to learn how to write apps using good practices
  • Developers who took the first course should continue with this one. You will continue developing the project you finished on the first course
  • This course is meant for swift developers who do not have experience on good practices, design patterns or code smells.
  • This course is NOT meant for developers who want to write bad code that is hard to maintain on the long term. There will be no global vars or similar shortcuts for bad programming.

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.

Curriculum

Section 1: UI Tables
Tables and Static cells
Preview
04:55
UITableViewController and class inheritance
Preview
07:58
Tables and Dynamic prototypes
07:27
Summing up: the power of programmaticaly creating the UI
01:51
Section 2: Tables and Navigation
A MealsTableViewController and selecting the application entry point
07:36
NavigationViewController, Segue and the view stack
05:18
Navigating programmaticaly
04:14
Summing up
01:46
Section 3: Delegating
The Delegate pattern and advanced segues
08:49
Reloading a table's data
01:21
Good practice: Protocols and loose coupling
03:50
Good practice: domain driven naming
02:44
Summing up
01:53
Section 4: Dealing with tables
Creating an UITableView and setting up a custom data source
05:26
Accessory styles and checking cells
04:35
The override keyword, inheritance and tight coupling
01:44
Allowing the user to deselect multiple items
01:22
Keeping track of selected items in a table
02:25
Equatable protocol, manipulating arrays
04:59
Summing up: manipulating arrays and multiple selectable items in a table
01:51
Section 5: Programmatic UI: we might be young, but we should act as pros
Programmatic API versus the storyboard
03:05
Creating xib files like a pro
03:34
Creating an UI button like a pro
05:03
Instantiating controllers with XIB files and pushing them programatically
02:49
Data conversion using the old API
05:11
Summing up: programmatic configuring an application
01:01
Section 6: Programmatic configuration++
Creating a new delegate protocol and adopting it
04:12
Programmatic configuration x Prepare for Segue
01:10
Implementing initializers for view controllers
06:02
IBOutleting an UITableView
02:50
Summing up: Programmatic configuration
01:33

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Guilherme Silveira, Software development educator at Alura

As a software developer I was tired of "language tutorials" and "bad practices courses". What about you? I want my students to finish a course and become capable of judging what is good and bad for their software, both on the short and long run. They should understand what they are doing, not just make use, but own their language and tools.

I have worked as a software development educator for the past 12 years, with experience in several countries, programming languages and environments. Learning how to program should be done as we learn things in real life: with real examples and a parental guide on what is good and what is bad for us.

My mobile experience started with Java ME in the early 2000's, went through Android and I have finally reached iOS development when Swift was first announced. I was given the task to write our company's main product iOS version using Swift and that experience together with many other language and API experiences can be seen in my courses.

I have closely worked with several user groups and communities in Brazil, where I was lucky to be invited to give talks at many conferences, including QCon, AgileBrazil etc. I am also the co-organizer of a well-known brazilian mobile development conference, MobileConf.

I am the cofounder of the biggest Brazilian web site on software development questions and answers, GUJ, creator of VRaptor, a java community expert on some JSRs and cofounder of Brazilian's tech book publishing company Casa do Código.

You can find more information about my career at my linkedin page.

Finally, as a personal note, I am a language lover, feel free to find me at twitter and chat in portuguese, korean, english, french or german, or follow my korean weekly blog.

Ready to start learning?
Take This Course