
Build a full-function real-time iOS chat app with social login and anonymous sign-in using Firebase and an open API, enabling text, photos, and videos with real-time synchronization.
Lay out the GoChat app interface with storyboard, build a login and a chat view, wire two buttons with placeholder actions, and set the login view as the initial screen.
Set up Firebase for the GoChat app by creating an iOS project, adding the Google service plist, and configuring Firebase in the app delegate to enable authentication and data storage.
Enable anonymous login in Firebase, import FirebaseAuth, install the auth package, and sign in users anonymously with signInAnonymouslyWithCompletion, then verify the user in Firebase.
Display text messages by wiring the chat view to the messages array through JSQMessagesViewController data-source methods, and configure bubbles and avatars for proper rendering in the collection view.
Present an image picker when the accessory button is pressed to let users choose photos, then convert the selection into a JSQ photo message and update the chat view.
Enable video messages in the iOS chat app by presenting an action sheet to choose photo or video, reusing photo chat code, picking media, and sending a media message.
Learn to play video messages in a chat by tapping bubbles, detecting media messages, extracting the video URL from a JSQVideoMediaItem, and presenting an AVPlayerViewController.
Learn to handle real-time data with Firebase by setting up the database, creating root and message references, uploading messages with auto IDs, and observing value events to retrieve data.
Configure the Firebase app and create a messages reference, then push text messages (text, senderID, senderDisplayName, media type text) and observe data to display in the chat view with JSQ.
Learn to retrieve text, photo, and video messages from the database and storage in Firebase, convert them to JSQ messages, and display them in the chat view.
Assign the current Firebase user ID as the JSQ sender-ID, distinguish outgoing and incoming messages, and adjust bubbles and media views accordingly while clearing the input after sending.
Learn to construct a dedicated Firebase user database, map sender IDs to profiles, and display accurate user names and avatars in the chat view.
In this lecture, we'll learn to asynchronously handle heavy tasks in the background to make the app run more smoothly.
Utilize a third-party library, the SD Web image downloader, to fetch photo data asynchronously, with pod installation and built-in caching, then dispatch results to the main thread for display.
Half of this awesome course is FREE
We are happy to offer a half of the course for FREE. We strongly recommend you to go through the free lectures before deciding to join us. :D
This course is about becoming professional
This course teaches you to build a complete messaging app at an industry-standard level, which can be published on the app store right away to serve millions of people. The course spirit is to equips you with good coding practices and intuitive, high-level thinking, which are crucial in becoming a professional developer.
You will build the must-have feature backed by the must-learn framework
In this course, you’ll learn to build a pretty, full-function messaging app which lets users sign in with their social network accounts, and send text, photo, and video messages. During the course, you’ll learn how to use Firebase to handle real-time data and synchronize media data such as photos and videos. The course also helps you to easily integrate chat functionality into your own apps, which is a must in publishing an app these days.
You know the what and why of every single line of code
The course equips you with good coding practices and intuitive, high level thinking, which are crucial in becoming a decent developer. Each module or lecture starts with a clear roadmap to help you see the big picture and how each element fits in. Every step or line of code is well-motivated and followed by intuitive explanations. At anytime during the course, you will be able to fully aware of what you are doing and why you are doing that.
You will master the hottest backend service and messaging library in the hottest programming language
In this course, we'll teach you to build a full-function iOS messaging app using the JSQMessagesViewController library. The app will be written in Swift programming language with the new Firebase backend. We focus on helping you to write clean and extensible code so that you can build your own chat apps with various database and backend services, or integrate the chat functionality into your own apps.
JSQMessagesViewController is a open-source iOS messaging library that becomes increasingly popular recently. It offers ready-to-use messaging features which can be easily integrated into your apps. You'll learn to use JSQMessagesViewController to build complete chat apps that allow users to send media messages such as photos and videos with thumbnails.
Firebase is a mobile-backend-as-a-service that provides several features for building powerful mobile apps. Firebase has three core services: a realtime database, user authentication and hosting. With the Firebase iOS SDK, you can use these services to build powerful apps without writing a single line of server code.
Firebase offers unlimited possibilities to sync your apps data to the cloud for storing and protection. When a Firebase database updates, all connected users receive updates in realtime automatically. With Firebase, power is in your hands - without learning other languages or frameworks.