5 ms·
I want to link to Revery - a native, cross-platform GUI library written in Reason/OCaml. It brings React's view=function(state) model to native applications, a
by jasim 7y ago
I want to link to Revery - a native, cross-platform GUI library written in Reason/OCaml.
It brings React's view=function(state) model to native applications, along with CSS box model and Flexbox. It has the developer ergonomics of Electron, but without the need for its heavy runtime.
It is still under development and I'm looking forward to playing with it next time I try writing a GUI app.
https://github.com/revery-ui/revery https://github.com/revery-ui/revery
- frou_dh 7y agoAll these projects are trashing the accepted meaning of "native" GUIs. If it's not using, for example, Cocoa controls on macOS, then how is it native GUI?
- deleted 7y ago[deleted]
- s_y_n_t_a_x 7y agoIf Revery makes use of react-native-macos like ReactXP does, it does infact use Cocoa controls, unlike Flutter.
- frou_dh 7y ago> 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!
- richardwhiuk 7y agoThat's a bad thing. Your apps are more predictable to developers between platforms, but less predictable to users. A user expects all apps on their computer to behave the same. If you bring your own widgets, you violate that convention.
- bryanphe 7y ago"Native" is actually overloaded in the era of hybrid web apps - there are two pivots: - Native code - does the GUI framework compile to machine code? - Native widgets - does the GUI framework use platform widgets, or a platform agnostic layer? In the context of Revery, we used "native" to mean "native code", ie, "compiles to machine code" - and further clarify in the README. It's important for us to make this differentiation - because often people look at the framework and assume its JavaScript. Do you have a suggestion on how to clarify this? Note that, if you're interested in using the platform UI - there's a project called Brisk (https://github.com/briskml/brisk https://github.com/briskml/brisk) that is very similar to Revery, but uses platform UI frameworks (Cocoa/Win32/etc).
- frou_dh 7y agoI dunno. Compiled -vs- Interpreted, and Desktop -vs- Browser seem like classic terms that gives 4 quadrants. It's probably just Mac-heads that are particularly bothered by this topic, given that MS seems to create and sunset their native GUI frameworks fairly regular, and Linux has no single officially blessed one that everyone is attached to.
- satvikpendem 7y agoFor native, there is Brisk[0], "A cross-platform set of tools for building native UIs with Reason/OCaml. The goal of the project is to allow developers efficiently create fast, native apps for all major platforms. It's the best of both worlds: speed and portability, simplicity and great APIs." [0] https://github.com/briskml/brisk https://github.com/briskml/brisk