Building a Chat App with Firebase
In this course you’ll learn how to build a realtime chat app, like iMessage, in Swift. You’ll use the popular NoSQL back-end service Firebase, which is pretty awesome to work with.
Build a complete chat app and learn about tons of iOS development topics in the process!Enroll Now!
Follow along with our hands-on video courses, that show you what to do, how to do it, and why it's done like that. Members get access to our entire course catalog.
App architecture is crucial to build a high-quality app. In this course you learn best practices, fundamental topics and app architecture, so you can code better apps.
Building things is more fun if you share. Join our members-only community to get help, challenge each other, share a laugh, and learn more together.
Get All 15 Chapters
Let's build a chat app! In this course, you're going to build a chat app for iOS with Xcode, Swift and Firebase.
Watch this course and learn
- Build a complete chat app from scratch
- Learn how to use the Firebase back-end framework
- Build a challenging app and learn advanced iOS development
LearnAppMaking members get full access to this video course and all resources, templates, source code and assignments.
- Introduction Let's build a chat app! In this course you'll learn how to create a peer-to-peer realtime chat app, like iMessage, with Firebase. 01:06
- Creating The Project In Xcode As always, let's first get your app project set up correctly. 04:52
- Installing And Integrating CocoaPods CocoaPods is your weapon of choice when it comes to managing project dependencies. You'll integrate your projects with libraries like JSQMessagesViewController and Firebase. 05:07
- Configuring Your Firebase Database Firebase is a cloud-based flat database framework. You can configure it with an easy-to-use web interface. In this chapter you'll set up the data, learn it's structure, and why it's done like that. 08:17
- Setting Up The Messages View Controller The messages view controller is at the heart of this app. It contains all the message data and user information. Here's how you set it up. 02:25
- Customizing JSQMessagesViewController JSQMessagesViewController, or JSQMVC, is the class that you subclass to create your own messages view controller. How, is explained in this chapter. 00:30
- Storing Messages In The 'messages' Property You need a messages collection to save message data. Here's how you create it. 01:55
- Providing JSQMVC With The Message Data The message data moves from the collection into JSQMVC, so the messages views can be shown on screen. Here's how. 03:13
- Create Message Bubbles In The Right Colors Messages that are sent by you should have a different color from the ones you receive. Here's how you make that change in the app. 04:32
- Hide Avatars For Message Bubbles You won't be using message avatars in this app, so here's how you remove them. Easy-peasy! 01:45
- Set The Name Label For Message Bubbles So how do you know who sent which message? In this chapter, you'll learn how to set name labels for messages, so users know who's who. 04:07
- Sending A Chat Message With didPressSend() This is where it gets interesting. In this chapter you learn how to send messages and store them in Firebase. 04:27
- Observing Firebase For New Chat Messages The other interesting part: listening for incoming messages. You'll learn how to observe for Firebase data, which is a crucial aspect of this app. 06:38
- Setting A User's Display Name With A Dialog One missing piece of the app is being able to set your own username, as you use the app. Here's how you do that. 07:27
- Conclusion Complete this course with a few challenges and practices you can apply to your own apps.