Web Developers use Socket Runtime
to create apps for any OS, desktop, or mobile. You can use plain old HTML, CSS, and JavaScript, as well as your favorite front-end libraries for example React, Svelte, and Vue.
Socket Runtime
exposes primitives needed for building peer-to-peer and local-first applications, such as Bluetooth, UDP, and robust file system access. Our P2P component can help you connect your app's users, and let them communicate directly, without the cloud or any servers at all.
The Socket Runtime CLI
compiles applications into hybrid-native applications &mbasp; meaning, a combination of web code running in a platform's "WebView" along with platform-native code: Kotlin/Java on Android, Swift/Objective-C on iOS, C++ on Windows or Linux, etc.
- Local First, a full-featured File system API & Bluetooth.
- P2P & Cloud, built to support a new generation of apps that can connect directly to each other by providing a high-performance UDP API.
- Use any backend, business logic can be written in any language, Python, Rust, Node.js, etc. The backend is even completely optional.
- Use any frontend, you can use your favorite frontend framework to create your UIs: React, Svelte, Vue, and more.
- Maintainable, zero dependencies, and a smaller code base than any other competing project.
- Lean & Fast, uses a smaller memory footprint and creates smaller binaries than any other competing project.
Check the FAQs on our Website to learn more.
Create Socket App
is similar to React's Create React App
, we provide a few basic boilerplates and some strong opinions so you can get coding on a production-quality app as quickly as possible.
Please check create-socket-app Repo to get started and to learn more.
You can also check our Examples
in the Examples Repo.
The full documentation can be found on the Socket Runtime website.
The Socket Runtime
documentation covers Socket APIs, includes examples, multiple guides (Apple
, Desktop
, and Mobile
), P2P
documentation, and more.
Socket
provides a built-in test runner
similar to node:test
which outputs the test results in TAP format.
You can also check test/
for the unit and integration test suite.
We welcome contributions from everyone! Please check our Contribution Guide to learn more.
Don't hesitate to stop by Discord and ask the team about your issue and if someone is already working on it.
Please connect with any current project contributors: @heapwolf, @jwerle, and @chicoxyzzy if you want to contribute to the Socket Runtime
project itself.
Thank you for your interest in reporting/fixing issues and contributing to Socket
!