What are we building?
In this course, you will learn how to build a real time chat application using Firestore and Swift, ready to be published on the App Store. Throughout the process, you will develop high level programming, app design and app development skills. We will be building this without the use of storyboards, fully programmatically.
Why take this course?
Learning advanced development skills should be taught using real world examples. This course will teach you how to build a fully functional messaging app, that's completely ready to integrate into any one of your iOS Applications. You will be learning advanced front and backend development skills, from a real life professional developer. You will learn how to code like a pro, writing clean, scalable and maintainable code. This also makes for a great project to add to your portfolio, which you can use to show off to potential employers if you're trying to become a pro.
Prior Experience?
Some programming and basic Xcode experience is preferred. The course will move a little fast if you're a complete beginner, but you will pick things up along the way.
What will you learn?
How to build a fully functioning messaging interface
Comprehensive knowledge and understanding of Swift 5 & Xcode 11
How to Implement Model View ViewModel (MVVM) architecture
Advanced level programming and app development skills
Advanced level User Interface Design
Advanced level back end engineering
How to authenticate and register users with Firebase
How to communicate with a database (read/write)
How to monitor events in a database
How to upload images to Firebase
How to structure data for optimum performance
How to programmatically construct views and controllers
How to parse incoming JSON data from database
How to use CocoaTouch classes, UIKit, UserNotifications and more
How to use CocoaPods and custom third party APIs
How to implement/use protocols
How to implement custom subclasses for clean and reusable code
How to dynamically size collection view cells
How to create extensions and functions for clean and reusable code