graderjs
Servo
Our great sponsors
graderjs | Servo | |
---|---|---|
10 | 133 | |
155 | 25,973 | |
0.0% | 2.0% | |
0.0 | 10.0 | |
over 1 year ago | 7 days ago | |
Shell | Rust | |
GNU General Public License v3.0 or later | 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.
graderjs
-
Use any web browser as GUI, with Zig in the back end and HTML5 in the front end
This is very polished and cool looking. Inspiring. I find this project's level of polish very inspiring.
It's lovely to see someone has captured this idea and expressed it in the right way to make it interesting to many people. I really hope this mode of desktop apps can take off, at least to the level where the community has something to explore for a while to see if it works. I made something like this for Chrome browsers a while ago, nodejs backends, vanilla front-ends, built-in packaging using pkg. It's just a nice approach: https://github.com/dosyago/graderjs
And I made a demo using the venerable MS Paint clone JS Paint^0. The dev experience was great, I literally just dropped in the front-end code to the right folder, compiled it and wham, "desktop JS paint" on 3 platforms, haha.
Using the ubiquitous local browser as the rendering / API engine for desktop just seems smart. And it's technically interesting, because you get to think in terms of how can you step back from the browser, the platform, the front-end and the back-end and come up with a general API that addresses all of it, which is kinda cool.
0: https://github.com/00000o1/jspaint.exe
- Graderjs - Use Chrome as a rendering engine for local apps
- Show HN: Use Chrome as a rendering engine for local apps
-
Ask HN: What is your preferred light weight stack for personal projects?
Client / Server Web App: Node.JS, Bang.html[0], the filesystem
Native downloadable executable desktop GUI application: Node.JS, GraderJS
CLI app: ??? Don't know yet, GraderJS can work but it's focused around GUI
Mobile app: ??? Don't know yet
Embedded: ??? Don't know yet
Graphics: Processing (but surely there are much better options nowadays)
AI: ??? Don't know yet
[0]: https://github.com/crisdosyago/bang.html/
[1]: https://github.com/crisdosyago/graderjs/
-
Ask HN: Why aren't there any real alternatives to Electron?
I'm working on an alternative. It's a slightly different take, but provides similar functionality of Node.js plus front end code in a packaged binary. Instead of using a weird custom fork of chrome and downloading that for every different binary we just use the system Chrome browser (or install it once for all apps). Eventually we can probably expand to use other Chrome browsers or even other web driver supported browsers which Firefox seems to be building that support out. I just like the idea of using something that's already on the system.
Take a look at the wonderful GraderJS, heh :)
https://github.com/crisdosyago/graderjs
- Show HN: A simple cross-platform HTML to native-app builder using Chrome
- Turn your full-stack Node.js application into downloadable cross-platform binary
-
Jspaint.exe: JavaScript Paint –~ as a cross-platform native desktop app
For those who didn't reach the end of the README.md, it seems to use an electron-alternative called grader, from the same author:
https://github.com/i5ik/graderjs
It runs server and downloads Chrome (if not available already) and starts it in app mode.
- GitHub - i5ik/graderjs: Turn your full-stack NodeJS application into a downloadable cross-platform binary. Also works for SPAs, or regular web-sites.
-
Tauri: An Electron alternative written in Rust
It is a good idea but it is not a new idea
the interesting history of these sorts of frameworks is that Google actually created a framework that did this and stopped development on it. the code is still on GitHub. And there's a bunch of other frameworks that use a variety of different languages not just rust as the application language that also have this idea of not bundling chromium but instead using the system webview for rendering HTML and JavaScript.
You can find a bunch of different approaches in lists like "alternatives to electron." There's some on GitHub.
I took a slightly different approach where instead of using the system web view which I thought you know is going to be inconsistent across systems and it's not going to support the latest HTML JavaScript and security features I used the assumption that the user already has chrome installed which works in a high number of cases or can download and install it if that's not the case. predictably I suppose some people express to satisfaction that it was not using Firefox. using Firefox becomes more possible and more likely I suppose as firefox's support for the dev tools protocol achieves parity with chrome support for that.
https://github.com/c9fe/graderjs
Servo
- Bringing Exchange Support to Thunderbird
-
CSS for Printing to Paper
> Is there any easy to use/hack HTML layouting engine where I could experiment with custom CSS attributes and bridge that gap? Would anything from Servo be suitable?
Servo could be used for this. You'd want to add support for parsing the CSS properties themselves to the style crate in https://github.com/servo/stylo and then the layout implementation to the layout2020 crate in https://github.com/servo/servo. You do effectively get a whole browser though.
I'm currently working on building a lighter weight / hackable layout engine based on a combination of https://github.com/servo/stylo (for css parsing and selector resolution), https://github.com/DioxusLabs/taffy (for box-level layout) and https://github.com/pop-os/cosmic-text (for flow/inline layout). I expect to have something decent in around 6 months
Neither of these setups currently have any support for pagination though.
-
The Ladybird Browser Project
Great to see some competition still alive in browser engine development. See also Servo (previously part of Mozilla) https://servo.org/ - that and Ladybird are still very underdeveloped compared to every day browsers.
It's a huge shame that there are no nightly builds of ladybird to try out but I assume that's because they just don't want the bug reports (if everything doesn't work it's pointless getting random bugs filed).
-
Mozilla's Abandoned Web Engine 'Servo' Project Is Getting a Well-Deserved Reboot
I haven't messed with it yet but from looking into it, this should absolutely work.
https://github.com/servo/servo/wiki/Building-on-ARM-desktop-...
-
An open-source browser engine written in Rust
don't know, there was a downtime in 2021 and 22 but since 2023, contributions look back to where it was before .. https://github.com/servo/servo/graphs/contributors
-
Modern Java/JVM Build Practices
The world has moved on though to opinionated tools, and Rust isn't even the furthest in that direction (That would be Go). The equivalent of those two lines in Cargo.toml would be this example of a basic configuration from the jacoco-maven-plugin: https://www.jacoco.org/jacoco/trunk/doc/examples/build/pom.x... - That's 40 lines in the section to do the "defaults".
Yes, you could add a load of config for files to include/exclude from coverage and so on, but the idea that that's a norm is way more common in Java projects than other languages. Like here's some example Cargo.toml files from complicated Rust projects:
Servo: https://github.com/servo/servo/blob/main/Cargo.toml
rust-gdext: https://github.com/godot-rust/gdext/blob/master/godot-core/C...
ripgrep: https://github.com/BurntSushi/ripgrep/blob/master/Cargo.toml
socketio: https://github.com/1c3t3a/rust-socketio/blob/main/socketio/C...
-
Top 10 Rusty Repositories for you to start your Open Source Journey
1. Servo
-
❓ Is Google flagging activity from Firefox and targeting uBlock?
It won't don't worry. There already are forks, for the worst case scenario. And Servo is on its way. Not yet ready, but it will be. Originally, from Mozilla kitchen.
-
Populating the page: how browsers work
To pain broad strokes, the layout phase (~= take the HTML, take the CSS, determine the position and size of boxes) is largely sequential in production browser engine today. Selector matching (~= what CSS applies to what element) is parallel in Firefox today, via the Stylo Rust crate originally developed in the research browser engine Servo. Servo can do parallel layout in some capacity (but doesn't implement everything), https://github.com/servo/servo/wiki/Servo-Layout-Engines-Rep... is an interesting and recent document on the matter.
Parallel layout is generally considered to be a complex engineering problem by domain experts.
https://hacks.mozilla.org/2017/08/inside-a-super-fast-css-en... is a really cool article that is related, that is a few years old but what it says is largely correct today.
-
Rusty revenant Servo returns to render once more
[Article author/submitter here]
I can only tell you that it is not what this is about, inasmuch as I was at the talk and there was not a single mention of Firefox Reality or Wolvic in the talk.
Wolvic might use Servo – but I think if it did they would mention it, right?
The talk didn't and the word "Wolvic" does not occur anywhere on https://servo.org
So I am guessing not, no.
Igalia has -- or rather is because it's a co-op -- about 100 developers. They are not all working on the same thing.
What are some alternatives?
jspaint - 🎨 Classic MS Paint, REVIVED + ✨Extras
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
DeskGap - A cross-platform desktop app framework based on Node.js and the system webview
webview - Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows).
wry - Cross-platform WebView library in Rust for Tauri.
qtwebengine - Qt WebEngine
Godello - Trello inspired kanban board made with the Godot Engine and GDScript, with a real-time collaborative backend (Elixir and Phoenix Channels) and a local backend for offline usage (Godot Custom Resources)
xi-editor - A modern editor with a backend written in Rust.
react-native-desktop-qt - A Desktop port of React Native, driven by Qt, forked from Canonical
xsv - A fast CSV command line toolkit written in Rust.
sciter-js-sdk - Sciter.JS - Sciter but with QuickJS on board instead of my TIScript
Fractalide - Reusable Reproducible Composable Software