Build Cross Platform Apps Faster

— Written by heapwolf

Today we're announcing big milestones on the path to helping web developers build cross-platform apps faster and better.

If you're new to Socket runtime and want a quick intro, read this.

Here's what's new

Removed the Beta label

You can expect the APIs you're using to "just work". There won't be any breaking changes going forward and just like a Web browser you can expect backward compatibility. Also if you compare this project to the open Github issues on projects like Electron, Tauri, Capacitor, it's just as stable if not more so.

Tiny Web Servers

Socket apps load your files into the UI just like a local Web server, but with all the features of a secure context. This makes your job even easier, because in most cases you can turn your existing Web app into a Socket app without making any changes at all.

Live Reload!

One of the most asked for features has landed. Now you can just change your code and see your changes reflected immediately in the UI. Here's a separate blog post on how it works.

P2P Networking

This is a powerful new capability that can dramatically reduce server cost and workload. Check out this post that goes into more detail.

Feature Permissions

Socket now supports fullscreen, microphone, camera, geolocation, notification, sensors, clipboard, and bluetooth out of the box, no fiddling with plug-ins or add-ons.

Native apps, on every platform, should ask for the user's permission to use these things. We made it easy to correctly configure and permission features across all platforms.

Native Add-ons

Native add-on API is ready. We're about to ship some very interesting tools for distributing parallel AI workloads over our p2p protocol, so this was needed internally.

Built-in testing

Testing is pretty personal, you should be able to use your own test framework. But sometimes you just need the minimal thing. It's what we use internally to test the runtime and here's a post about it.

i18n

We now have full support for internationalization and localization.

File System API

Our filesystem module is now at parity with nodejs.

Thank you!

A massive thank you goes out to our new contributors and all the people who have been helping test. For a complete list of bug fixes and individual commits check out the release page.


Support the project and Star It On Github


FAQ

How can Socket runtime compete with the Flutter or React Native ecosystems?

Socket's ecosystem and community is the Web, which is much larger than Flutter and React Native combined — with the exception of Service Workers and Web Push API (in some conditions), only Socket is fully compatible with the Web.

But isn't it limited somehow in what it can do compared to a real web page?

Nope. 100% of the browser APIs you need are all there, ready to rock-and-roll. It's a secure context. A real origin. Served locally with a web server routing algorithm. Web features browsers give you because we implemented them.

But isn't the webview inconsistent across operating systems?

Nope. We normalize it. Especially the major differences between wkwebview and WebView2.

I heard the Web less smooth and slick than native?

Nope. In the early days this was true. But now everything is GPU accelerated. Check out this post.

Didn't Tauri already do this?

Nope. Tauri is a library for building Web-based UIs with the Rust programming language. Socket is not a library, it's a runtime, made specifically for Web developers.

(A library is something you use from a program; a runtime is something that encapsulates and runs your entire program allowing for much greater security). With Socket there are no new languages to learn and as of this writing its the only one of the two that fully supports all major mobile platforms).