headway
vgtk
headway | vgtk | |
---|---|---|
41 | 14 | |
2,263 | 1,038 | |
- | - | |
9.1 | 0.0 | |
over 1 year ago | about 2 years ago | |
Vue | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
headway
-
Serverless maps at 1/700 the cost of Google Maps API
You might want to peek at https://github.com/headwaymaps/headway . I have never used it myself, but it at least shows how to integrate the different pieces.
The individual software components often have alternative with a similar scope. So if you don't like a choice headwaymaps made, browse around.
The data sources are mostly "unique", i.e. everybody downloads from the pages (Geofabrik, Who's On First, etc), so not much to gain here.
Editing styles has some alternatives, but the OpenSource editors are far away from the quality of the Mapbox editor. Maputnik or editing the 1000+ SLOC JSON by hand are the way to go, imo.
Personally I use GeoFabrik to download OSM extracts → osmconvert to extract the smaller bounding box I am interested in → tilemaker to render vector tiles to individual .pbf files I can serve like it's 1999. The bounding box extract is not necessary, but it's much faster if you need to tweak things in tilemaker. Both tilemaker and osmconvert are packaged for at least Debian out of the box, so setup is easy enough. Rendering a decently sized metro area takes < 30mins with this from scratch of compute, < 5min with the bounding box extract.
Note that adding icons (sprites) or fonts is extra work that comes on top. And while the tools themselves are great, there's still a lot of gluing/plumbing/fitting things together that you'll need to do. If headwaymaps works for you, it's probably the easiest choice.
- Google Location History-type program, but on a private server for anyone to run?
-
Self Hosting a Google Maps Alternative with OpenStreetMap
In a similar vain, there is maps.earth / headway:
https://github.com/headwaymaps/headway
https://about.maps.earth/
https://news.ycombinator.com/item?id=32551273
Another self hostable OSM stack that seems promising is headway
-
maps.earth: Open-source maps for everyone, powered by Headway and OpenStreetMap
About: https://about.maps.earth/
-
What is the easiest way to deploy OSM on the premise? like nominatim.openstreetmap.org, but offline version.
Something like this? https://github.com/headwaymaps/headway
- Self-hostable maps stack, powered by OpenStreetMap
- Headway is a self-hosted alternative to Google Maps which supports 200+ cities across the globe
vgtk
-
Rust: State of GUI, December 2022 – KAS blog
A pretty fun Rust GUI experienc is vgtk[0], which is doing a bunch of macro magic to give a "we're coding in React" vibe to GTK+. I don't really have a specific thing I want to code in a native GUI at the moment but if I did I think this would be the most tempting for me.
[0]: https://github.com/bodil/vgtk/
-
Code bloat has become astronomical
a stateful GUI markup language is react. it is not yet the case that react-like code works for desktop, though there are cool examples like vgtk https://github.com/bodil/vgtk
- Vgtk - A declarative desktop ui framework for rust built on gtk and gtk-rs
-
A declarative desktop UI framework for Rust built on GTK and GTK-rs
from what i gather from https://github.com/bodil/vgtk/issues/78, you're better off using realm
I'm always curious to see these projects, because I've been experimenting with a React renderer for the GJS bindings for a while. It's frustrating because GTK "feels like" it's so close to being able to support a vdom/declarative paradigm, but the devil is in the details.
The simple use-cases like "Window > Box > Label" are easy to get going. The more complex widgets like Stack/Grid/TreeView ... aren't.
This project seems to have the same issue: https://github.com/bodil/vgtk/issues/40
This is made more difficult now GTK4 has removed the Container base class, so there's no longer a unified interface for adding children (although it had caveats in the first place).
I totally get the GTK view that (presumably) specific widgets are more intuitive with specific add/remove APIs (like the grid - one doesn't really "appendChild" to a grid).
It just feels like: if there was a consistent container API comparable to the web's appendChild approach, a vdom/declarative approach would require only a very light wrapper. Without it, I keep coming back to the idea of implementing wrapper widgets that expose that consistent API instead. And that's just not something I want to maintain - effectively duplicating each GTK widget for the purpose of making it fit into a tree model.
It's also a problem of trying to wrap richer functionality (pack_start and pack_end) into a simpler set (append only) of course.
So I don't know exactly what my point is :) Perhaps cautioning the reader that the simplicity of the approach comes with a catch.
-
Hacker News top posts: May 28, 2022
A declarative desktop UI framework for Rust built on GTK and GTK-rs\ (23 comments)
-
Newbie here. Just finished reading the book. What now?
Build your own To-do List Application in Rust: https://bodil.lol/vgtk/
What are some alternatives?
openstreetmap-tile-server - Docker file for a minimal effort OpenStreetMap tile server
neon - Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, branching, and bottomless storage.
planetiler - Flexible tool to build planet-scale vector tilesets from OpenStreetMap data fast
orbtk - The Rust UI-Toolkit.
inspiral-web - The web version of the Inspiral app.
areweguiyet - A website built for the Rust community
mod_mbtiles - Serve tiles with Apache directly from an .mbtiles file
piet - An abstraction for 2D graphics.
maplibre-gl-js - MapLibre GL JS - Interactive vector tile maps in WebGL2
Relm4 - Build truly native applications with ease!
Openstreetmap - The Rails application that powers OpenStreetMap
libui - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.