This section highlights the realtime resources available for iOS developers.


Quick Chat for iOS: Real time chat app written in Swift 3 using Firebase – Quick Chat for iOS is a real time chat app based on Firebase developed by Haik Aslanyan and written in Swift 3. Quick Chat allows to send and receive text messages, photos & location.

Applozic-iOS-SDK: iOS Real Time Chat & Messaging SDK – Open source iOS Chat and Messaging SDK that lets you add real time messaging in your mobile (android, iOS) applications and website. Signup at https://www.applozic.com/signup.html to get the application key. Works for both Objective-C and Swift. It is a light weight Objective-C Chat and Messenger SDK. Applozic One to One and Group Chat SDK.

EZAudio – An iOS and macOS audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. EZAudio has recently been deprecated in favor of AudioKit. However, since some people are still forking and using EZAudio I’ve decided to restore the README as it was. Check out the note below.

Traits – Modify your native iOS app properties in real time – Traits allows you to modify the design and behavior of native iOS apps without having to restart them, even across the globe. Wouldn’t it be great if we could adjust designs of our native apps without having to sit back to Xcode, change code, recompile and navigate back to the screen we were at? Traits is a library that provides you the ability to change many properties of your apps (not only design) without having to recompile the application, even via network across the globe.

Snsrlog: An iOS app to view, record and stream sensor data in real-time – During the recording of movements, one can label the data so that it’s easy to distinguish the different parts of a signal at a later point. Furthermore, the sensor data can be streamed (via WiFi or Bluetooth) to another device running snsrlog, so that labeling can be performed remotely.

Realtidsinfo – Displays time left to SL departures for a bus stop, in realtime.

Messaging Swift 3 Chat: The Swift 3 chat example + iOS rich push notifications – This sample app built using the Swift 3 language uses the Realtime® Framework Messaging service to send and receive chat messages organized into groups (includes iOS 10+ Rich Push Notifications support).


Real-Time Communication with Streams Tutorial for iOS

Specs

  • Author: Luke Parham
  • Date: July 2017

Resources

Synopsis

But what about when you want the server to be able to tell your app about something? Doing so doesn’t really map to HTTP very well. Of course, you can make it work by continually pinging the server and seeing if it has updates, aka polling, or you can get a little more crafty and use a technique like long-polling, but these techniques can feel a little unnatural and each has its own pitfalls. At the end of the day, why limit yourself to this request-response paradigm if it’s not the right tool for the job?
In this streams tutorial, you’ll learn how you can drop down a level of abstraction and use sockets directly to create a real-time chatroom application.


RealmContent: Add Real-time Updates to your iOS App in 5 Min

Specs

  • Author: Marin Todorov
  • Date: July 2017

Resources: 

Synopsis:

The best aspect of using RealmContent is that you can modify the displayed content at any time – all changes will be synchronized in real-time to all connected users. (And upon connecting for all users who aren’t connected in this very moment of course.) You can easily use the Realm Browser app to add or remove new pages, add, re-arrange, and otherwise modify blocks of content, and more. You can even change the accent color of your headings and links.


Build A Real-Time Chat App With Firebase And Swift

Specs

  • Author: Reinder de Vries
  • Date: June 2017

Resources

Synopsis

In this guide, you’re going to build a chat app for iOS with Xcode 9, Swift 4 and Firebase. When you’re done, you can chat real-time with multiple users! Firebase is perfect for a chat app. It’s easy to use, can store a ton of data, and you can observe data changes in real-time! This app can serve as the foundation for your own messaging app, like iMessage, or you can follow along as a learning project. Ready to get started? Here’s a quick overview of the steps:


Realtime Infrastructure Services

  • Realtime API Infrastructure – Realtime API infrastructure specifically allows developers to build realtime data push into their existing APIs.  Typically, you would not need to modify your existing API contracts, as the streaming server would serve as a proxy. The proxy design allows these services to fit nicely within an API stack. This means it can inherit other facilities from your REST API, such as authentication, logging, throttling, etc. It can be combined with an API management system.  In the case of WebSocket messages being proxied out as HTTP requests, the messages may be handled statelessly by the backend. Messages from a single connection can even be load balanced across a set of backend instances.
    • Fanout/Pushpin – Fanout is a real-time API development kit that helps you push data to connected devices easily. Fanout is a cross between a reverse proxy and a message broker. Pushpin is the open source version.
    • Streamdata.io – Streamdata.io a SaaS API proxy tool that converts standard API requests into a streaming API. In other words, it provides a proxy as a service for any HTTP API by polling and acting as a streaming API.
    • LiveResource – LiveResource is a protocol specification and JavaScript reference library for receiving live updates of web resources. It has the following principles:
  • Realtime Application Infrastructure – Realtime app infrastructure sends data to browsers and clients. It typically uses pub/sub messaging, webhooks, and/or websockets — and is separate from an application or service’s main API.
    • Firebase – Firebase is a BaaS (Backend-as-a-Service) that allows developers to create web applications with no server-side programming required.
    • Pubnub – PubNub is a programmable Data Stream Network (DSN) and realtime infrastructure-as-a-service (IaaS) company. Primarily, they are a messaging solution hosted on a cloud service that allows developers to publish data instantly to one or multiple devices.
    • Pusher – Pusher is a hosted service that allows developers to add realtime bi-directional functionality via WebSockets (with HTTP-based fallbacks) to the web and mobile apps.
    • Ably – Ably is a realtime data delivery platform that provides creators the tools to create, deliver, and manage projects. Their main realtime functionality consists of pub/sub, presence, authentication, encryption, and connection state recovery.