All Projects → revery-ui → Revery

revery-ui / Revery

Licence: mit
⚡ Native, high-performance, cross-platform desktop apps - built with Reason!

Programming Languages

ocaml
1615 projects
reason
219 projects
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to Revery

Brisk
✨Cross-platform set of tools for building native UIs with Reason/OCaml
Stars: ✭ 518 (-93.37%)
Mutual labels:  cross-platform, app, desktop, native, reasonml
Chirp
🐦 A cross platform twitter application
Stars: ✭ 129 (-98.35%)
Mutual labels:  cross-platform, app, desktop
Robot Js
Native system automation for node.js
Stars: ✭ 169 (-97.84%)
Mutual labels:  cross-platform, desktop, native
Proton Native
A React environment for cross platform desktop apps
Stars: ✭ 10,834 (+38.68%)
Mutual labels:  cross-platform, desktop, native
Robot
Native cross-platform system automation
Stars: ✭ 178 (-97.72%)
Mutual labels:  cross-platform, desktop, native
Kahla.app
Kahla is a cross-platform business messaging app.
Stars: ✭ 370 (-95.26%)
Mutual labels:  cross-platform, desktop
Appify
Create a macOS Application from an executable (like a Go binary)
Stars: ✭ 372 (-95.24%)
Mutual labels:  app, desktop
Flutter kaiyan
[DEPRECATED] 使用Google跨平台框架Flutter仿写一个开眼视频(Eyepetizer )
Stars: ✭ 404 (-94.83%)
Mutual labels:  cross-platform, app
Sketchcachecleaner
💻 Sketch Cache Cleaner - Deletes hidden Sketch history files that can take a lot of space on your hard drive and that you would probably never use.
Stars: ✭ 435 (-94.43%)
Mutual labels:  app, native
Negibox
All in one downloader 全能下载器
Stars: ✭ 335 (-95.71%)
Mutual labels:  cross-platform, desktop
Phaser Ce Npm Webpack Typescript Starter Project
Project to get you started with your Phaser-CE (using the npm module) game using Typescript and Webpack for building! No hassle asset management, Google Web Font loader, live server, development vs distribution build pipeline, Electron packaging for desktop builds, and more...
Stars: ✭ 414 (-94.7%)
Mutual labels:  app, desktop
Activitywatch
The goal of ActivityWatch is simple: Enable the collection of as much valuable lifedata as possible without compromising user privacy.
Stars: ✭ 5,927 (-24.13%)
Mutual labels:  cross-platform, app
Ironahk
Cross platform .NET rewrite of the popular AutoHotkey scripting language for desktop automation.
Stars: ✭ 368 (-95.29%)
Mutual labels:  cross-platform, desktop
Wxwidgets
wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls.
Stars: ✭ 3,994 (-48.87%)
Mutual labels:  cross-platform, desktop
Crypter
🔓✨🔒 An innovative, convenient and secure encryption app
Stars: ✭ 382 (-95.11%)
Mutual labels:  cross-platform, desktop
Rednotebook
RedNotebook is a cross-platform journal
Stars: ✭ 336 (-95.7%)
Mutual labels:  cross-platform, desktop
Qt Nice Frameless Window
Qt Frameless Window for both Windows and OS X, support Aero Snap, drop shadow on Windows, and support Native Style such as round corner, drop shadow on OS X. Based on QMainWindow.
Stars: ✭ 430 (-94.5%)
Mutual labels:  cross-platform, native
Vue Nodegui
Build performant, native and cross-platform desktop applications with native Vue + powerful CSS like styling.🚀
Stars: ✭ 575 (-92.64%)
Mutual labels:  desktop, native
Dearpygui
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
Stars: ✭ 6,631 (-15.12%)
Mutual labels:  cross-platform, native
React Nodegui
Build performant, native and cross-platform desktop applications with native React + powerful CSS like styling.🚀
Stars: ✭ 5,914 (-24.3%)
Mutual labels:  desktop, native

Logo

Build native, high-performance, cross-platform desktop apps with reason!

Build Status npm version Join the chat on discord! Backers


Slider components

🚧 NOTE: Revery is a work-in-progress and in active development! 🚧

To get a taste of Revery, check out our JavaScript + WebGL build on the playground. For the best experience, though, you'll want to try a native build.

Motivation

Today, Electron is one of the most popular tools for building desktop apps - using an HTML, JS, CSS stack. However, it has a heavy footprint in terms of both RAM and CPU - essentially packing an entire browser into the app. Even with that tradeoff, it has a lot of great aspects - it's the quickest way to build a cross-platform app & it provides a great development experience - as can be testified by its usage in popular apps like VSCode, Discord, and Slack.

Revery is kind of like super-fast, native code Electron - with bundled React-like/Redux-like libraries and a fast build system - all ready to go!

Revery is built with reasonml, which is a javascript-like syntax on top of OCaml This means that the language is accessible to JS developers.

Your apps are compiled to native code with the Reason / OCaml toolchain - with instant startup and performance comparable to native C code. Revery features platform-accelerated, GPU-accelerated rendering. The compiler itself is fast, too!

Revery is an experiment - can we provide a great developer experience and help teams be productive, without making sacrifices on performance?

Design Decisions

  • Consistent cross-platform behavior

A major value prop of Electron is that you can build for all platforms at once. You have great confidence as a developer that your app will look and work the same across different platforms. Revery is the same - aside from platform-specific behavior, if your app looks or behaves differently on another platform, that's a bug! As a consequence, Revery is like flutter in that it does not use native widgets. This means more work for us, but also that we have more predictable functionality cross-platform!

NOTE: If you're looking for something that does leverage native widgets, check out briskml. Another alternative is the cuite OCaml binding for Qt.

  • High performance

Performance should be at the forefront, and not a compromise - we need to develop and build benchmarks that help ensure top-notch performance and start-up time.

  • Type-safe, functional code

We might have some dirty mutable objects for performance - but our high-level API should be purely functional. You should be able to follow the React model of modelling your UI as a pure function of application state -> UI.

Getting Started

Contributing

We'd love your help, and welcome PRs and contributions.

Some ideas for getting started:

License

Revery is provided under the MIT License.

Revery bundles several dependencies under their own license terms - please refer to ThirdPartyLicenses.txt.

Contributors

Thanks to everyone who has contributed to Revery!

Backers

Thank you to all our backers! 🙏 [Become a backer]

Built with Revery

Onivim 2

Special Thanks

revery would not be possible without a bunch of cool tech:

revery was inspired by some awesome projects:

Hot reload

We don't have a Hot Reload yet but it is on our roadmap. In the meantime, you can check branch feat/hot-reload to see the progression.

In the meantime @mbernat has done a script that allow to relaunch the APP when the binary changed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].