Are you interested in taking your iOS skills to the next level?
Does your view controller consists of hundreds or thousands of lines of code?
The answer to your headaches is "Lean Controllers". And now you can learn it from the comfort of your home.. in your own time.. without having to attend class.
My name is Mohammad Azam, creator of many popular online courses including Mastering MapKit in iOS Using Swift, Creating Stickers and iMessages Applications in iOS 10 Using Swift 3 and Mastering Sever Side Swift Using Vapor.
I have created over 2 dozens apps and some of my apps were even featured by Apple on the App Store. I have worked with fortune 500 companies as a lead iOS developer and helped them grow their business ten folds. At present I am a full time iOS Instructor at The Iron Yard where I teach users how to create amazing iOS applications.
What’s stopping you from signing up to today?
Here are some of the reviews from our previous courses:
"His course is AWESOME very detail instructions."
"Mohammad Azam has an excellent teaching style which makes it easy & fun to comprehend these Swift features in such a short course & he explains the concepts in more detail & clarity than most instructors. Plus, his videos are well prepared & he's very articulate. I hope he will create more courses."
"Excellent teaching. Just perfect!!!"
This course explains everything I wanted to know about Server Swift Development. It is really a benefit to my skills, that are now improved. Thank you very much.
It's a great course, especially if you are an beginner and don't know where to start from. It gives you the start to build your own backend in Swift rather than learning a new language just to save some data in DB. Many thanks to the author and hope many others will start using Vapor and Swift on server :D It's amazing!!!
Buy this course today and this is what you’ll get.
Firstly, I am using Xcode 8.2 with Swift 3.0 with this course. I will show you how to build real apps that uses the principles of lean development. You will learn the techniques on how to write cleaner, leaner code by separating the concerns into multiple classes and components.
The course is accompanied with all the code sample files.
You will also receive a UNLIMITED support on Udemy forums. I am very active on forums and make sure that every questions is answered.
Can you believe you get all this (and more) for just $195?
"Awesome class for really learning how to setup and implement MapKit in your iOS apps using swift. Def. one of the best classes I've taken on Udemy. Looking forward to more classes offered by Mohammad Azam. A++ class"
t's a great course, especially if you are an beginner and don't know where to start from. It gives you the start to build your own backend in Swift rather than learning a new language just to save some data in DB. Many thanks to the author and hope many others will start using Vapor and Swift on server :D It's amazing!!!
Why Lean Controllers?
Who is this for?
This course is for anyone who wants to take their skills to the next level. Lean controllers enforces best practices in iOS development and make your code easy to maintain for future iterations. Tired of writing thousands of lines of code in your view controllers. Tired of copy and pasting code all over the place in your application.
Implementing your code using the best practices of Lean Controllers helps you deal with the above problems. You will learn to create reusable custom controls. You will implement generic data providers capable of fetching and persisting models of any type. You will create generic data sources which can be plugged with any UITableViewController.
Is this course right for me?
Look: if you are still not convinced then I urge you to check out my 5 star reviews in other courses. I am a well known developer in the iOS community with a large following. I do a lot of speaking engagements in which I spread knowledge and education.
If you are not satisfied with the course then I offer a 100% REFUND. I am confident that you will enjoy the course and you will utilize the knowledge you learned in this course in your future applications.
In this lecture Mohammad Azam is going to explain the agenda for the complete course.
In this lecture students are going to learn what exactly is "Massive Controller". We are going to see some basic principles of programming which massive controllers break.
In this lecture students will learn the concepts behind "Lean Controllers". Through the use of diagrams students will learn how to structure their application to utilize the concepts of lean controllers.
Before diving into Xcode we will create a very simple prototype of our application using Keynote. You can use any prototyping tool for this lecture.
In this lecture we will use our prototype to create the interface in Xcode using Storyboards.
In this lecture we will integrate our view controller with Core Data. We will write all of our code write inside the view controller to represent the massive view controller. Later we will use the principles of lean controllers to rearrange our code and break it into smaller components.
In this lecture students will learn how to create the custom view for the table view header. This view will not be reusable. We will later learn how to create a reusable view which can be easily used in many different applications.
In this lecture students are going to learn how to save data into SQLite database using Core Data.
In this lecture students are going to learn how to fetch records from the SQLite database using NSFetchedResultsController class.
In this lecture students are going to learn how to delete records from the SQLite database using the NSManagedObjectContext.
In this lecture we will look at the mess we have created in our view controller. This is known as massive view controller and it is not pretty to look at.
In this lecture students are going to learn how to move all the Core Data initializer code into a separate Core Data Manager class. Core Data Manager class will encapsulate all the different methods and properties associated with Core Data.
In this lecture students are going to learn how to separate the UITableViewDataSource from the UITableViewControllers. This lecture is going to dive into creating a concrete data source which can be used by the ShoppingList model.
In this lecture we will expose protocols from our data providers which will be consumed by the data source. This will allow data to flow from data providers to data sources.
In this lecture students will learn not only how to delete the data from the database using the providers but also how to remove the row from the table view control.
This lecture explains what is wrong with the current approach of creating the user control right inside our table view controller.
Students are going to learn how to create a custom add new item control which can be utilized by any view controller.
In this lecture we will configure the custom control so it can be used to display any place holder text.
The AddNewItemView control is useless if it cannot communicate with the view controller. In this lecture we will learn how our custom control can communicate with the view controller through the use of Delegates and Protocols.
In this lecture students will learn a second way of passing data from the user control to the view controller in the form of closures.
In this lecture student will learn what is wrong with our approach of implementing concrete data providers and data sources.
In this lecture students are going to start building a generic data provider class which can be used for any type of model.
In this lecture students will learn how to get started with creating a generic data source which can be used to work for any table view controller, table view cell and entity model.
We will continue working on our custom generic data source class for table view.
In this lecture students are going to learn how to persist records and delete records using generic providers and data source classes.
In this lecture, Mohammad Azam will explain the scenario of creating a separate layer for web service actions.
In this lecture, Mohammad Azam will demonstrate how to create a Webservice class which is responsible for all networking operations.
In this lecture, Mohammad Azam will refactor the existing Webservice and Model classes to make it more seamless.
My name is Mohammad Azam and I have been programming in iOS for the last 6+ years. Currently, I am teaching iOS at The Iron Yard academy, which is the world's largest coding bootcamp. Before joining The Iron Yard I have worked as a lead mobile developer for many large companies including Schlumberger, Baker Hughes, AIG and Valic. Currently, I am a senior developer at Blinds Dot Com, a Home Depot company. Before iPhone development I was leading projects in Microsoft ASP technology. I was also awarded the Microsoft MVP award five years in a row due to my contributions in the community.
I have also published several of my personal apps to the App Store including Vegetable Tree which was featured by Apple as the most beautiful gardening app on the App Store. I am a frequent speaker at local and national conferences and have authored many articles for many different development magazines.