The Swift Arcade Professional iOS Development Course UIKit
What you’ll learn
How to build professional looking iOS apps programatically using UIKit
Version control with Git
High-level understanding of Agile
Essential software engineering skills like unit testing and refactoring
How to land your first professional iOS job
Requirements
Mac computer
Basic iOS programming knowledge
Description
Joining a company and starting work as an iOS engineer can initially feel overwhelming. Techniques we used for introductory iOS app aren’t there. People seem to expect you to know everything about core Apple frameworks like UIKit.And there are just certain key practices everyone is going to expect you to be able to apply, which initially can seem really confusing, and everything can just feel overwhelming.Not any more.This course was created to help you make the transition from iOS hobbyist to working professionally.Working professionally as an iOS engineer means:Knowing how to build apps programmatically without storyboardsUnderstanding the fundamentals of Auto Layout and UIKitBeing able to use version control and create pull requests using tools such as gitUnderstand the basics of AgileBeing comfortable modern software engineering practices like unit testing and refactoringKnowing the design patterns and idioms professional iOS developers use when writing professional codeThis course will not only equip you with these essential skills, you will get to apply them on real life work examples and problems, all pulled from my experiences working as a professional iOS engineer on real world jobs.By the end of this course you will:Be able to work professionally as an iOS engineerHave the confidence to join any teamPossess the skills and tools necessary to hit the ground running when you land your first professional iOS jobAnd who am I? My name is Jonathan Rasmusson. I am a professional ex-Spotify iOS engineer who built the Spotify iMessaging app. I have authored several books on software delivery, and produce the YouTube channel The Swift Arcade. I will be your instructor for the course.What are you waiting for? Come on in, and let’s begin your journey to a high paying, rewarding career as an iOS professional today.What others are saying about this course:One of the best courses on Udemy, you will learn a lot even if you are an experienced iOS developer, I really recommend it.The best iOS course out there. The stuff he teaches is super relevant and to make everything from scratch, literally without even storyboards was amazing. There were so many concepts with which I used to struggle with and he taught them with ease. I am really glad I took this course. Keep making amazing videos Jonathan. You have a follower here :)If you wanna get things right? get this course. Getting things right is a huge part of your job as a professional iOS developer. There are many courses out there that teach you how develop iOS apps but they also teach you bad habits that you will need to correct in the future. So if you wanna save time and learn correctly from the start I would recommend this course to the moon and back.I really enjoy how the instructor has attitude to a student. Listening and watching it is just the honey on my heart. Additional the knowledge of instructor is amazing which it’s multiply the experience :)I’ve purchased dozens of courses on Udemy, and Jon truly stands out as an instructor. He makes the content engaging and skillfully explains the nuances and subtle details of the implementation. His enthusiasm for the material distinguishes him as someone who is not only competent in the subject matter but also adept at teaching.Excellent lessons! I have fairly extensive Swift experience, but I’m learning so much to improve the quality and professionalism of my code.I found this course through the Swift Arcade YouTube channel. For the longest time I had been looking for a course to really show me how to develop an iOS app similarly to how you would working for a software company. Jonathan goes over things such as consistently using git to save and host your work, using vi for editing, etc. all while building a variety of features for an iOS app. While I am not a beginner at iOS development, I had some knowledge gaps to fill and I am 100% satisfied with how this course helped in filling those gaps. I am now feeling much more confident moving forward in obtaining that first iOS developer job. Big thank you to Jonathan for this iOS professional course. I’d love to see more content like this in the future.I’m still studying for my first iOS job and this course was great to give me a broader view of what to expect to work more professionally. Jonathan has an amazing methodology, many times throughout the course I had a question or was wondering about something he came with the explanation soon after, like he could read my mind xD Now I will try to apply all this knowledge to my personal projects, Thanks !John’s explanations are great; he gives a practical approach to iOS development. Git, programmatic UIKit, practical use of several common elements and also his professional insight from years of experience in the field are all appreciated here.
Overview
Section 1: Introduction
Lecture 1 Course overview
Lecture 2 Source code
Section 2: Professional iOS setup
Lecture 3 How to download Xcode like a pro
Lecture 4 How to support multiple versions of Xcode
Lecture 5 How to setup your own GitHub repository
Lecture 6 GitHub Text Setup
Lecture 7 Getting your personal token
Lecture 8 How to download and setup the GitHubCLI
Lecture 9 Setting up Oh My Zsh
Lecture 10 What we’ve learned
Lecture 11 My number one tip for becoming a better iOS developer
Section 3: Agile
Lecture 12 What is Agile software delivery and how does it work
Section 4: Bankey – Login
Lecture 13 What you are going to build
Lecture 14 How to create a new iOS project without storyboards
Lecture 15 Creating the LoginView
Lecture 16 Boosting productivity with Code Snippets
Lecture 17 Adding the text field
Lecture 18 Enter the stack view
Lecture 19 Adding the divider
Lecture 20 Adding the sign-in button
Lecture 21 Adding the error message label
Lecture 22 Handling login
Lecture 23 Missing title labels
Lecture 24 Saving our work
Lecture 25 What we’ve learned
Lecture 26 Professional Tip #2
Section 5: Onboarding – Part I
Lecture 27 What you are going to build
Lecture 28 The Agile storyboard
Lecture 29 What is onboarding and how does it work?
Lecture 30 Creating the container view controller
Lecture 31 Not all art is created equal
Lecture 32 How to import and configure vector based graphics
Lecture 33 Boss Challenge!!!
Lecture 34 Adding the close button
Lecture 35 Houston we have a problem
Section 6: Onboarding – Part II
Lecture 36 Setting the stage
Lecture 37 What is the protocol-delegate pattern and how does it work?
Lecture 38 Protocol-delegate in action
Lecture 39 How to transition between view controllers like a pro
Lecture 40 Logging out
Lecture 41 Onboarding once in memory
Lecture 42 Onboarding once with UserDefaults
Lecture 43 Synchronized no longer required
Lecture 44 What we’ve learned
Lecture 45 Professional Tip #3
Lecture 46 iOS New Feature Checklist
Section 7: Container View Controllers
Lecture 47 Introduction
Lecture 48 What are container view controllers?
Lecture 49 How do UINavigationControllers work?
Lecture 50 How do UITabBarControllers work?
Lecture 51 How does a UIPageViewController work?
Lecture 52 Adding the tab bar
Lecture 53 Fixing the deprecation
Lecture 54 Professional Tip #4
Section 8: Scrollable View Controllers
Lecture 55 Making things scrollable
Lecture 56 The UIScrollView
Lecture 57 The UICollectionView
Lecture 58 The UITableView
Lecture 59 Which to choose and when
Lecture 60 Learn more
Section 9: Account Summary Header
Lecture 61 How to create a git branch
Lecture 62 Creating the view controller
Lecture 63 Adding the table view
Lecture 64 Adding the table view header
Lecture 65 Styling the header with stack views
Lecture 66 Content-Hugging-Compression-Resistance (CHCR)
Section 10: Account Summary Cell
Lecture 67 Adding the table view cell
Lecture 68 Doing the cell design
Lecture 69 Doing the the layout
Lecture 70 How to make things pretty with NSAtrributedString
Lecture 71 How to save your work incrementally
Lecture 72 Meet the View Model
Lecture 73 How to leverage enums
Lecture 74 Dealing with the decimal
Lecture 75 Why isn’t my currency matching yours?
Lecture 76 Setting the tab bar background color
Lecture 77 What we’ve learned
Lecture 78 Professional Tip #5
Section 11: Introduction to Unit Testing
Lecture 79 What are unit tests?
Lecture 80 How to add unit tests to an existing project
Lecture 81 Testing the CurrencyFormatter
Lecture 82 How unit testing affects your code
Lecture 83 How to squash and rebase in git
Lecture 84 Getting back into our flow
Section 12: Communication over long distances with NotificationCenter
Lecture 85 What is notification center and how does it work?
Lecture 86 Adding the logout button
Lecture 87 Hooking up NotificationCenter
Lecture 88 Showing the password
Lecture 89 How to dynamically adjusting the font to fit the view
Lecture 90 What we’ve learned
Section 13: Animating with Auto Layout Constraints
Lecture 91 What you are going to build
Lecture 92 Overview of UIKit animation
Lecture 93 Animating constraints demo
Lecture 94 Animating constraints in action
Lecture 95 How to string multiple animations together
Lecture 96 How to animate the transparency of a view
Section 14: Animating with Core Animation
Lecture 97 Introduction to Core Animation
Lecture 98 Animating the sign-in button
Lecture 99 Shakey bell animation setup
Lecture 100 Animating in a test rig
Lecture 101 Animation mechanics
Lecture 102 Shaking the bell
Lecture 103 Adding the badge
Lecture 104 What we’ve learned
Section 15: Networking
Lecture 105 What you are going to learn
Lecture 106 How does networking work?
Lecture 107 Networking in playgrounds
Lecture 108 The power of Codable
Lecture 109 URLSession explained
Lecture 110 The beauty of Result
Lecture 111 Fetch account challenge
Lecture 112 Making the header configurable
Lecture 113 Fetching profile data
Lecture 114 Getting back onto the main thread
Lecture 115 Functional programming with accounts
Lecture 116 Adding unit tests
Lecture 117 What we’ve learned
Section 16: Affordances
Lecture 118 How to make your apps look professional and easy to use
Lecture 119 How to group network calls together
Lecture 120 Adding DispatchGroup to Bankey
Lecture 121 What is pull-to-refresh?
Lecture 122 How does pull-to-refresh work?
Lecture 123 Adding pull-to-refresh to Bankey
Lecture 124 What are skeleton loaders?
Lecture 125 How do skeleton loaders work?
Lecture 126 Adding skeleton loaders to Bankey
Lecture 127 Adding skeleton loaders to table view
Lecture 128 Adding skeleton loaders to pull-to-refresh
Lecture 129 What we’ve learned
Section 17: Error handling
Lecture 130 What you are going to learn
Lecture 131 The problem
Lecture 132 How to force a network failures in your app
Lecture 133 Adding the alert controller
Lecture 134 How to make your code a joy to read
Lecture 135 How to unit test network failures
Lecture 136 What exactly is dependency-injection?
Lecture 137 Adding the protocol
Lecture 138 Adding the protocol with the implementation
Lecture 139 Adding a view controller unit test
Lecture 140 How to unit test a view controller?
Lecture 141 Unit testing the alert controller
Lecture 142 Unit testing take-aways
Section 18: Essential Git
Lecture 143 How to create a branch
Lecture 144 Essential Vi commands
Lecture 145 How to write a good commit message
Lecture 146 How to reset your branch
Lecture 147 How to squash and rebase
Lecture 148 What’s the difference between git merge and rebase?
Lecture 149 What is a merge or pull request?
Section 19: Things worth knowing
Lecture 150 Stack vs Heap
Section 20: How to land your first professional job
Lecture 151 What you are going to learn
Lecture 152 How to advertise yourself
Lecture 153 What to put on your resume
Lecture 154 No experience? No problem.
Lecture 155 Types of questions you may be asked
Section 21: NEW – Password Reset Component
Lecture 156 What you are going to learn
Lecture 157 New project – no storyboards
Lecture 158 How should we do this layout?
Lecture 159 Creating the view
Lecture 160 Adding the lock image
Lecture 161 Adding the text field
Lecture 162 Adding the eye button
Lecture 163 Fixing the CHCR
Lecture 164 Adding the divider
Lecture 165 How to choose the right iOS color
Lecture 166 Adding the error label
Lecture 167 How to deal with long text
Lecture 168 Embedding the stack view
Lecture 169 Reveal
Section 22: Building the PasswordCriteriaView
Lecture 170 What you are going to build
Lecture 171 How would you build this component?
Lecture 172 Creating the criteria view
Lecture 173 Challenge: Adding the stack view
Lecture 174 Adding the image
Lecture 175 Adding the label
Lecture 176 Professional Tip #6
Section 23: Build the PasswordStatusView
Lecture 177 Creating the status view
Lecture 178 Adding the stack view
Lecture 179 Keeping things real by checking the criteria
Lecture 180 Four different ways of dealing with ambiguity in stack views
Lecture 181 Adding the label
Lecture 182 Final touches
Section 24: Inline interactions
Lecture 183 What you are going to learn in this section
Lecture 184 Demo of the component you are going to build
Lecture 185 How to text interactions work?
Lecture 186 Setting up our sandbox
Lecture 187 Meet the UITextField
Lecture 188 Enter the Responder Chain
Lecture 189 Receiving the text just-in-time
Lecture 190 How to talk back to the view controller
Lecture 191 Updating the status view
Lecture 192 To reset or to not reset
Lecture 193 Handling uppercase
Lecture 194 Challenge: Handling lowercase and digits
Lecture 195 Boss Challenge: Special characters
Lecture 196 Let’s save our work
Lecture 197 Wrapping up this section
Section 25: Loss of focus interactions
Lecture 198 What you are going to learn in this section
Lecture 199 Demo of how loss of interactions work
Lecture 200 How to detect a loss of focus
Lecture 201 How to dismiss the keyboard with a tap gesture
Lecture 202 Talking back via the protocol-delegate
Lecture 203 How the custom validation is going to work
Lecture 204 Swift functions as types
Lecture 205 Challenge: Swift functions
Lecture 206 Adding the typealias
Lecture 207 Checking for empty text
Lecture 208 Checking for valid characters
Lecture 209 How to make sure all the criteria have been met
Lecture 210 Hitting pause
Lecture 211 Adding the confirm password validation
Lecture 212 Saving your work
Lecture 213 Professional Tip #7
Section 26: Dealing with keyboards
Lecture 214 What you are going to learn in this section
Lecture 215 The problem with keyboards
Lecture 216 How to detect the keyboards presense
Lecture 217 How to update your view like a pro
Lecture 218 How to detect which elements are hidden
Lecture 219 How to determine if our text hidden is hidden
Lecture 220 How to convert from one coordinate system to another
Lecture 221 How to elegantly shift everything up
Lecture 222 Hooking up the reset button
Section 27: Advanced unit testing with Password Reset
Lecture 223 What you are going to learn in this section
Lecture 224 Practice adding unit tests to your existing project
Lecture 225 Where to begin when writing unit tests
Lecture 226 How to group tests logically
Lecture 227 How to group tests by context
Lecture 228 Boss Challenge: Unit testing three of four
Lecture 229 Unit testing view controllers
Lecture 230 Changing the context
Lecture 231 How to unit test alerts
Lecture 232 Discussion: The pros and cons of coupling
Lecture 233 Wrapping up this section
Lecture 234 Professional Tip #8
Section 28: Additional resources
Lecture 235 Additional resource #1
Lecture 236 Additional resource #2
Lecture 237 Additional resource #3
Lecture 238 Until next time
Intermediate iOS developers looking for the skills necessary to work professionally as an iOS engineer
Course Information:
Udemy | English | 17h 11m | 18.81 GB
Created by: Jonathan Rasmusson
You Can See More Courses in the Developer >> Greetings from CourseDown.com