Cassius
Azul
Our great sponsors
Cassius | Azul | |
---|---|---|
5 | 26 | |
90 | 5,810 | |
- | 0.6% | |
0.0 | 7.1 | |
about 1 year ago | 2 months ago | |
Racket | Rust | |
MIT License | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Cassius
-
The Rules of Margin Collapse
FWIW, while there are unfortunately only very few attempts at formalizing CSS, there's at least an unofficial, unreviewed (?), partial formal semantics for (CSS 2-era) float layout based on z3 SMT and Racket you can take a look at to get a flavor, though it isn't receiving further development.
[1]: https://github.com/uwplse/cassius
[2]: https://pavpanchekha.com/blog/css-floats.html
-
W3C’s transfer from MIT to non-profit going poorly
Do we need W3C anymore? The HTML 5 specification has been created by WHATWG for many years now, with W3C only rubber-stamping historic WHATWG versions until 2017 or so. SVG2 is going nowhere, and so isn't MathML, leaving the CSS working group as W3C's remaining point of influence over the Web. CSS is regarded as so poor and overdone a specification that the only two external projects for a formal specification have failed or remained woefully incomplete (1, 2).
-
Is There Too Much CSS Now?
1. CSS should've been split into app-y styles and doc-y styles a looong time ago; meaning that when you need JavaScript to make use of a feature anyway, there's no point in using CSS and it's better to set styles, layout using JavaScript rather than bloat CSS. The Houdini API was on the right track years ago.
2. The CSS WG at W3C must deliver formal specification rather than the prose they're writing up now. For an idea how a (partial) formal spec for CSS rendering looks like, see eg. [1], [2] (with limitations).
The one way complexity that both W3C and WHATWG have delivered over the past 15 years with complete lack of mental discipline due to financial dependency/job security will be a major source of confusion for generations to cone, and will not be looked at favorably.
[1]: https://github.com/uwplse/cassius
[2]: https://github.com/lmeyerov/sc
-
Verifying GCC optimizations using an SMT solver
There's this cool project using z3 (and racket) for formalizing CSS rendering [1] I never came around to lift for anything. Maybe someone else interested in leading the web out of the dark ages and give W3C's CSS WG an idea what we expect from them will.
[1]: https://github.com/uwplse/cassius
-
Ladybird: A new cross-platform browser project
FWIW, I know two (partial, kinda) formal specifications of CSS normal flow and float layout, both of which are finished ie dead projects:
[1]: https://lmeyerov.github.io/projects/pbrowser/pubfiles/paper....
[2]: https://github.com/uwplse/cassius
(not counting the 1990s constraint CSS effort).
The first was merely part of a parallel compiler project and also covers table layout, whereas the second is a Racket (Scheme) program to formulate the HTML doc and CSS rules as a theory for submitting to z3 SMT to solve all kinds of decision problems (it can also produce a rendering).
Not sure that's very helpful; it would be cool if W3C can invest some time into better specs (not just prose).
Azul
-
AvaloniaUI: Create Multi-Platform Apps with .NET
Not sure what you mean but WebRender powers Firefox which definitely works on the desktop.
You can use it to build desktop UI frameworks - see for example https://azul.rs/
-
Servo, the parallel browser engine written in Rust
I'd been wanting to see this, preferably with JS being optional, and just allowing direct DOM access.
I initially thought this was what Azul was, but it's only just using Servo's WebRender compositor, and rolls its own CSS parser, DOM, and layout engine, so it doesn't benefit from most of the work done on Servo, and supports less CSS features.
https://github.com/fschutt/azul
-
Is RUST a good choice for building web browsers?
Both Servo and Fifefox make use of webrender, which is an awesome piece of tech and is well suited to render a web page. Some GUI projects attempted to use webrender directly as well, like Azul and moxie-native
-
Digital Audio Workstation Front End Development Struggles
> But no one is saying, "Hey I have a CSS 2.1 compliant rasterizer and compositor that you can use in your C++ or Rust environment!" are they?
There’s actually quite a lot of interesting work going on in that general space, has been in various forms for some years. A couple that immediately spring to mind:
• Azul <https://azul.rs/> builds on WebRender, as used in Firefox. I haven’t looked at it for a few years, but it looks to have grown quite interesting now.
• Blitz <https://github.com/DioxusLabs/blitz> is based on from-scratch implementations of CSS layout and rendering, and wgpu rendering. It’s not usable yet, but is a very interesting concept. If one happens to be familiar with React Native: it’s kinda like that, or React Native Web.
-
XUL Layout has been removed from Firefox
Azul[1] was my solution for that, it was based on WebRender. I didn't get around to finish it in 2019, but I will work on it this year, maybe I'll get it to be mature enough to post it here.
> wide portability (at least Windoze, Linux, MacOS, iOS, Android, embedded: Azul is Windows-Linux-Mac only, don't underestimate the effort to properly port something to a new platform
> "though a Vulkan-based renderer can be made to run pretty much anywhere": WebRender is OpenGL + using software rendering as a fallback
> a permissive open source license: MPL-2.0
> a C interface/wrap to allow a wide programming language binding support: yes
> and an easily extensible and themable set of basic widgets: also yes
[1] https://azul.rs/
-
Rust GUI framework
There is Iced which is used by system76 in Pop!_OS, Druid [DISCONTINUED], GTK-rs, Relm, Azul and Tauri. Personally I would use Tauri for its speed using the OS's native web render, documentation of use with things such as Sveltekit and the ability to make UI's using JS, CSS and HTML. Tauri similarly to Electron whilst being far faster. But its up to personal preference really. There aren't any solid "go to" options at the moment.
-
Servo 2023 Roadmap
Sounds like you may be interested in azul not exactly servo based but on projects that originate from servo. Also this is not a typical WebView, for example it does not use HTML but uses DOM to define it's UI, and there is no JS engine in there.
-
Help with webrender.
Azul uses webrender. But your "glue" program is like half the web browser. You also need a vector graphics library to render websites. Webrender only does boxes, but not complex SVG paths. Once the plan was to use pathfinder, but mozilla fired the dev and they still using an old version of chromium's skia for that.
-
Rust: State of GUI, December 2022 – KAS blog
One day I'll get around to finish my library Azul [1]. Hopefully.
[1] https://azul.rs/
-
Pure Rust GUI Landscape
azul
What are some alternatives?
Radpath - Path library for Elixir inspired by Python's pathlib
conrod - An easy-to-use, 2D GUI library written entirely in Rust.
ex_guard - ExGuard is a mix command to handle events on file system modifications
wxRust - A Rust binding of the wxWidgets cross platform toolkit.
sizeable - An Elixir library to make File Sizes human-readable
gtk - DEPRECATED, use https://github.com/gtk-rs/gtk3-rs repository instead!
servo-embedding-example - Examples of embedding Servo inside non-browser GL applications.
orbtk - The Rust UI-Toolkit.
alive2 - Automatic verification of LLVM optimizations
Native Windows GUI - A light windows GUI toolkit for rust
wpt - Test suites for Web platform specs — including WHATWG, W3C, and others
relm - Idiomatic, GTK+-based, GUI library, inspired by Elm, written in Rust