Layer provides developers with APIs, SDKs, and UI toolkits to integrate realtime messaging into your products. They aim to provide developers with the proper tools that matches the rapid development and user experience of leading consumer messengers such as iMessage.
Layer is 100% managed infrastructure so developers can easily integrate messaging into their applications. In other words, they handle servers, scaling, performance, and encryption as well. They are HIPPA-complaint, designed for asynchronous, person-to-person messaging or business-to consumer uses cases as well. Here are the many services they offer:
- Direct Messaging and Group Conversations with up to 25 participants
- Multi-part Messages combining text, rich media content (up to 2GB per part), and application data
- Granular delivery and read receipts for each Conversation participant
- Typing Indicators
- Integrated support for mobile push notifications via APNS and FCM
- User and Bot Identity profile management
- A flexible querying interface for searching and retrieving data
- Blocking and suspension of users
- Robust connection management and offline support
- Rich server-side integrations via the Server API and Webhooks
- An elegant, high-level client programming environment
- Rapid development of consumer class user experiences via the UI toolkits on mobile and web
Layer’s UI library
Citing Layer, “Layer provides UI libraries to help build apps that work with Layer data. These libraries assume that you are using Layer’s SDKs directly, rather than using your own data-models, or directly using Layer’s Client API (REST API). UI Libraries serve the following goals:
- Provide a Message List that manages a list of Messages in a Conversation, mark Messages as readwhen they become visible, page Query data as the user scrolls, and managing the scroll position, especially keeping the view pinned to the bottom to continously view new messages as they arrive.
- Provide Conversation Lists that let you scroll through and select existing Conversations
- Provide Lists of users that you can create Conversations with
Layer Core Components
Citing Layer, “The Layer UI Libraries ship with a number of widgets to simplify application development. This section explores those widgets in more detail.
Widgets in the Layer UI for Web Library can be broken up into two groups: Main Components which will be discussed here, and documented in depth in the API Reference, and Subcomponents which will only be documented in the API Reference.
- Conversation Panel: Shows messages and lets the user send their own.
- Conversations List: Manages a Conversation List and allows the user to select a Conversation
- Identities List: Manages a list of users that can be selected
- Notifier: Creates desktop and toast notifications for new messages
- Presence: Shows current user status
- Send Button: A button for sending the message that can be added to your Message Composer
- File Upload Button: A button for selecting and sending a file that can be used to the Message Composer”