Stream Loves Open Source: Aug 2022

...

We cannot overstate the value of open source. Open source lies at the foundation of the internet and many technical innovations since the birth of computers. By using, sharing, and supporting open source, we hope to play a part in the technological renaissance we are living in.

Stream Open Source Sponsorships

At Stream, we rely on open source to build our products and SDKs. In this article, we want to take the time to highlight some of our favorite projects and maintainers ❤️.

The key takeaway of this article is to support open source projects you rely on in any way you can. We can all play a part in our collective technological future by showing our appreciation and support for open source.

Open Source At Stream

A large part of the engineering work we do at Stream lives in the open. Our Chat and Feed SDKs are open source, and our clients and users are free to explore the code, submit pull requests and issues, or fork our SDKs and build something custom. We also encourage external contribution.

At Stream, we rely on the great work done by the community, and whenever possible, we try to give back - here are a few ways that we do this:

  • Sponsorships
  • Contributions to OSS projects in the form of pull requests, issues, and reviews
  • Extracting features from our SDKs into isolated packages and repositories
  • Curating learning resources and code samples
  • Sharing our knowledge through events and supporting local developer communities.

In February 2021, we posted a similar article to this one. Since then, the projects we’ve sponsored have continued to grow.

We’ve also evolved our community efforts as a company. We've had the privilege to sponsor more community events and conferences, OSS packages and maintainers, and to encourage our developers to build their own projects. We’ve even created a dedicated developer YouTube channel where we talk about our SDKs and share our engineering knowledge.

Here are some of the open source projects that Stream is actively maintaining.

Android

Android-Developer-Roadmap (3,943 ⭐️)

The 2022 Android Developer Roadmap suggests learning paths to understanding Android development.

🔗 https://github.com/skydoves/android-developer-roadmap

AvatarView (367 ⭐️)

Supports loading profile images with fractional styles, shapes, borders, indicators, and initials for Android.

🔗 https://github.com/getStream/avatarview-android

Butterfly (194 ⭐️)

Butterfly helps you to build adaptive and responsive UIs for Android with Jetpack WindowManager.

🔗 https://github.com/GetStream/butterfly

Sketchbook-Compose (314 ⭐️)

Jetpack Compose canvas library that helps you draw paths, images on canvas with color pickers and palettes.

🔗 https://github.com/getStream/sketchbook-compose


iOS

MotionScape (⭐️112)

MotionScape is your animation playground as a developer. You can see all animations and their parameters in effect with beautifully designed and handcrafted animation examples.

🔗 https://github.com/GetStream/motionscape-app

Effects Library (⭐️115)

The Effects Library allows developers to create sophisticated and realistic particle systems such as snow, fire, rain, confetti, fireworks, and smoke with minimal effort.

🔗 https://github.com/GetStream/effects-library

Spring Animations Cheat Sheet (⭐️260)

This repository is your reference and complete guide for SwiftUI Spring Animations. It demonstrates use cases for the various types of spring animations and spring parameters. No more guessing the values of the parameters for spring animations you create for your next iOS app.

🔗 https://github.com/GetStream/swiftui-spring-animations

Stream SwiftUI animations (⭐️53)

Fine-grained iOS Animations Built With SwiftUI. This repository serves as a SwiftUI animation inspiration for your next app project. Each animation has the SwiftUI code accompanied. Contact @amos_gyamfi on Twitter for any issues or missing animation files.

🔗 https://github.com/GetStream/stream-swiftui-animations

Purposeful iOS Animations (⭐️7)

Examples of animations we found meaningful and useful on iOS. Each of the animations here was cloned with SwiftUI.

🔗 https://github.com/GetStream/purposeful-ios-animations


Projects Our Developers Maintain

Many of our engineers maintain or contribute to open-source libraries and packages. This section highlights some of the work done by people at Stream.

React

virtuoso (2.7k ⭐️) - by Petyo Ivanov

The most powerful virtual list/table component for React

🔗 https://github.com/petyosi/react-virtuoso


React-Native

React Native Testing (327 ⭐️) - by Steve Galili

This is how you should test your react-native components with Jest and React Native Testing Library

🔗 https://github.com/vanGalilea/react-native-testing


Flutter

Flutter Confetti (305 ⭐️, 736 👍) - by Gordon Hayes

A Flutter widget that shoots confetti all over the screen.

🔗 https://github.com/funwithflutter/flutter_confetti

🔗 https://pub.dev/packages/confetti

Awesome Flutter Snippets (135 ⭐️, 1mil downloads 💾) - by Neevash Ramdial

Awesome Flutter Snippets is a collection of snippets and shortcuts for commonly used Flutter functions and classes

🔗 https://github.com/Nash0x7E2/awesome-flutter-snippets

🔗 https://marketplace.visualstudio.com/items?itemName=Nash.awesome-flutter-snippets


Android

Balloon (2,640 ⭐️) - by Jaewoong Eum

Modernized and sophisticated tooltips, fully customizable with an arrow and animations for Android.

🔗 https://github.com/skydoves/Balloon

Used by: Paypal, Wikipedia, Wikimedia, WazirX, MyJio, PeduliLiundugi, and others.

400,000 downloads per month.

Landscapist (1,089 ⭐️) - by Jaewoong Eum

Jetpack Compose image loading library that fetches and displays network images with Glide, Coil, and Fresco

🔗 https://github.com/skydoves/landscapist

Used by: Twitter, Azar, Notion, Faire, and others.

150,000 downloads per month.

Pokedex (5,520 ⭐️) - by Jaewoong Eum

Pokedex demonstrates modern Android development with Hilt, Material Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.

🔗 https://github.com/skydoves/Pokedex


iOS

SwiftUI Animation Challenges (⭐️ 20 combined) - by Amos Gyamfi and Stefan Blos

Welcome to the SwiftUI Animation Challenge, where we hand out animation challenges that everyone can participate in and solve.

🔗 https://github.com/SwiftUI-Animation-Challenges


Clones and Samples

List of sample applications with tutorials, created and maintained by Stream.

Android

AvengersChat (266 ⭐️)

🔗 https://github.com/getStream/avengerschat

Stream-Draw-Android (271 ⭐️)

🔗 https://github.com/getStream/stream-draw-android

Stream-Slack-Clone-Android (327 ⭐️)

🔗 https://github.com/GetStream/stream-slack-clone-android


Flutter

Instagram Clone (47 ⭐️)

🔗 https://github.com/GetStream/flutter-instagram-clone

Chatter - Chat Application (48 ⭐️)

🔗 https://github.com/HayesGordon/chatter

Frame Clone (1 ⭐️)

🔗 https://github.com/GetStream/stream-frame


iOS

SwiftUI iMessage Clone (⭐️ 4)

🔗 https://github.com/GetStream/swiftui-iMessage-clone

SwiftUI iMessage UI Clone (⭐️ 12)

🔗 https://github.com/GetStream/SwiftUIMessagesUIClone


Projects We Sponsor

In our products, we rely on many open-source components. Whenever possible, we sponsor these projects and maintainers financially. Here are just a few of the people and projects we sponsor directly.


Rust

WebRTC.rs

A pure Rust implementation of WebRTC stack. Rewrite Pion WebRTC stack in Rust

🔗 https://webrtc.rs/


Flutter

Bloc

A predictable state management library that helps implement the BLoC design pattern.

🔗 https://github.com/Felangel/bloc

Flutter WebRTC

WebRTC plugin for Flutter Mobile/Desktop/Web

🔗 https://github.com/flutter-webrtc/flutter-webrtc

Drift

Drift is a reactive persistence library for Flutter and Dart, built on top of SQLite.

🔗 https://github.com/simolus3/drift

Flutter Slidable

A Flutter implementation of slidable list item with directional slide actions that users can dismiss.

🔗 https://github.com/letsar/flutter_slidable

Awesome Flutter

An awesome list that curates the best Flutter libraries, tools, tutorials, articles, and more.

🔗 https://github.com/Solido/awesome-flutter


React Native

GiftedChat

The most complete chat UI for React Native.

🔗 https://github.com/FaridSafi/react-native-gifted-chat

React Native MMKV

MMKV is an efficient, small mobile key-value storage framework developed by WeChat. See Tencent/MMKV for more information. A library that allows you to use MMKV inside your React Native applications easily. It provides fast and direct bindings to the native C++ library, which are accessible through a simple JS API.

🔗 https://github.com/mrousavy/react-native-mmkv


Android

RTMP-RTSP Stream Client for Java

Library for stream in RTMP and RTSP. All code in Java.

🔗 https://github.com/pedroSG94/rtmp-rtsp-stream-client-java

Pluck

Pluck is an image-picker for your jetpack compose project. You can select from Gallery/Camera. This uses Material you and will be getting support for it in the future as well.

🔗 https://github.com/hi-manshu/Pluck

Koin

A smart Kotlin injection library to keep you focused on your app, not on your tools

🔗 https://insert-koin.io/


iOS

HaishinKit.swift

Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.

🔗 https://github.com/shogo4405/HaishinKit.swift

Swift Package Index

The Swift Package Index helps you make better decisions about the dependencies you use in your apps. The Swift Package Index is a search engine for packages that are compatible with the Swift Package Manager. The project is open-source and written in Swift using Vapor.

🔗 https://github.com/SwiftPackageIndex/SwiftPackageIndex-Server

Tuist

Tuist is a command line tool that helps you generate, maintain and interact with Xcode projects. It's open source and written in Swift.

🔗 https://tuist.io/


Python

Django Rest Framework

Django REST framework is a powerful and flexible toolkit for building Web APIs.

🔗 https://www.django-rest-framework.org/


Other Projects and People

This section includes other projects and people that we directly sponsor.

Lottie

Lottie is a library for Android, iOS, Web, and Windows that parses Adobe After Effects animations exported as JSON with Bodymovin and renders them natively on mobile and on the web!

🔗 https://airbnb.io/lottie/#/

Rene Floor
🔗 https://github.com/renefloor

Sindre Sorhus
🔗 https://github.com/sindresorhus