Building a Chat App with Firebase

Building a Chat App with Firebase Duration: 00:56:21 Developer Bundle Intermediate

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!

Hands-On Screencasts

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.

Best Practices

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.

Developer Community

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.

Meet Your Instructor

Reinder de Vries is a professional app developer and entrepreneur. Since 2009 he has built a few dozen apps for iOS. His code is used by millions of smartphone users around the globe.

In 2014 he started LearnAppMaking to teach app development and marketing to indie app developers, and to help them create better, more profitable apps.

Reinder's video courses explain foundational and advanced development topics in a fun, easy-to-follow and engaging way.

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.

Course Chapters

  1. 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
  2. Creating The Project In Xcode As always, let's first get your app project set up correctly. 04:52
  3. 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
  4. 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
  5. 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
  6. 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
  7. Storing Messages In The 'messages' Property You need a messages collection to save message data. Here's how you create it. 01:55
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. Conclusion Complete this course with a few challenges and practices you can apply to your own apps.

Build your own iOS apps from scratch

Learn iOS 11 development and Swift 4 with our Zero to App Store course, and get more: app templates, lifetime updates and helpful support.

Learn More Start for Free