Intro and Background
Info on how the clients were coded, what features they have, how to contribute, and more.
All clients are coded in Flutter and Dart. Our first stable release was published June 15th, 2021, after extensive closed alpha and public beta testing since October of 2020. Along this journey we have learned quite a bit about development in Flutter, and we'd like to share that, along with other things, in the form of this documentation.
We were choosing between Flutter and React Native to be our framework for the project. Initially, we ended up going with React Native because most of the developers were familiar with JavaScript and React development.
However, React proved to be difficult for us when creating the UI. We wanted our app to look like iMessage, but with a bit of our own twist - this meant a lot of blur, opacity, and bouncy scrolling. At the time, React did not have great support for these types of things, while with Flutter, it was as simple as providing decoration to a Container, or different ScrollPhysics to a scrollable widget.
We did not consider native development because we figured that development would be slow and clunky, even if the app might be more performant and memory efficient - the tradeoff would not be worth it.
Send & receive texts, media, and location
View tapbacks/reactions, stickers, and replies
Create new chats (macOS 11+ has limited support while macOS 10 has full support)
Private API Features
Send and receive typing indicators
Mark chats read on the host macOS device
Supported Devices and Platforms
Android 5.0+
Android Auto (GitHub build required at this time)
WearOS (currently in alpha)
Windows 10 / 11 & Linux
Any modern browser
Chat List
Message View
Private API Features
Main Developers
Other Contributors
We appreciate y'all!