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!

Sign Up Now!

Practical Screencasts

Learn what every bit of code is for, and why you code it like that. The course explains why you’re doing what you’re doing, and most iOS tutorials don’t do that.

Swift 4 & iOS 11

The course is always kept up-to-date with the latest Swift version. You get lifetime updates for free. Don't waste time with outdated iOS tutorials!

Get Help & Support

Got stuck with a coding problem? Our support team is here to help you back on your feet in no time. We go the extra mile to help you move forward and learn more.

Meet Your Instructor

Reinder de Vries is a professional iOS developer and entrepreneur.

Since 2009 he has built 25+ for iOS, for companies including Tommy Hilfiger and Philips, and lead development at a bunch of crazy startups.

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

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

When you sign up for Zero to App Store, you get access to this video course, including all resources, templates, source code and challenges.

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

Master iOS development with Zero to App Store. You'll learn step-by-step how to build your own iOS 11 apps from scratch with Swift 4.

Learn More Start for Free