Coder Social home page Coder Social logo

areweguiyet's Introduction

Are We GUI Yet?

CI GitHub Pages Deployment

Want to find crates for GUI in Rust? Then you've come to the right place!

This is a companion website to arewegameyet, arewewebyet, and arewelearningyet.

Status

The site is maintained as best as possible. If you know of a new blog post or crate related to GUI development in Rust, please see CONTRIBUTING.md for how to add it.

Data from external sources are updated weekly.

TODO

Major undertakings remaining:

  • Crate search based on the tags and an optional query
  • tag commands
  • tag normalization
  • markdown sanitization, better sanitization in .raw.html files
  • Pull missing data from github and possibly other sites (bitbucket/gitlab?) if they have nice APIs!
    • The original author has no intention of implementing this but if you want a challenge this could be a fun project!
  • Do we want to support
    • listing Pros/Cons in addition to crate descriptions?
    • Screenshots?
  • Live badges for crate cards

And less major:

  • Move tag descriptions from title attribute into hover tooltip.

areweguiyet's People

Contributors

aledomu avatar boringcactus avatar dependabot[bot] avatar dhardy avatar dxenonb avatar fzyzcjy avatar gagath avatar hkennyv avatar karthikgh07 avatar madsmtm avatar marc2332 avatar marek-g avatar maxjlevien avatar mmertama avatar moalyousef avatar musikid avatar ogoffart avatar oooutlk avatar pieterdd avatar pythoneer avatar ratijas avatar riateche avatar rodrigocfd avatar ryanmcgrath avatar shivshank avatar simonsan avatar temeddix avatar tronical avatar virtualritz avatar wtholliday avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

areweguiyet's Issues

Consider adding "Seed" framework

https://github.com/seed-rs/seed is an Elm-inspired web frontend framework, written in Rust and compiled to WebAssembly.

I would really like to see this framework be mentioned on the areweguiyet.com page, and it is already fairly developed and shows great efforts. Here are some example sites written using this framework:

https://seed-rs.org/
https://realworld.seed-rs.org/

https://github.com/seed-rs/awesome-seed-rs#examples

I would like to add this to this website, so if there is anything next to the README of this repo, that I should know, or any objections, please let me know :)

Page should not require the browser to fill the entire screen in order to be readable

So the page apparently uses flexbox for a pleasant resolution independent layout. Nice. Ironically the main body of the page has a fixed width of 1200px, defeating the point of using flexbox in the first place and causing the text to get cut off on my laptop. Unless I effectively fullscreen my browser, that is. I get that modern web design is meant to "encourage" people to interact more with their browsers, but for people stuck in their windowed ways this is quite bothersome.






/s, but the rant still applies

Potential Upcoming Improvements

I want to flesh out V2 plans for the site more, but here are some good ideas courtesy of @mardab we should consider doing ASAP.

  • Store all crate JSON TOML as separate files
  • Flag crates that should be delisted (initial criteria: no active branch and no crate publication within last year)
  • Highlight examples - link to examples directory if one exists in crate repo, and add support for listing other demos
  • Add some sort of checking if a listed example is too far out of date
  • Develop some system for metal ratings - a possible alternative is alpha | beta | prod and version badges - we'd define some sort of standard where crate developers can include some dot file in their repo to specify what they wanted to be shown as. TODO: Research prior art.
  • Add pipeline to check if someone is a contributor to a crate they're adding (this is less relevant if we start indexing crates.io directly)

How should Approaches section work?

The original plan for this repo in May 2018 was to simply collect notes on how one might approach a GUI in Rust, and then catalog the benefits and drawbacks of each approach.

Should we still attempt to do this? Or should it be relegated to blog/news posts?

It may be beneficial to have a central community hub for recording developments in a chapter by chapter "book" form. The "book" would describe different approaches without "choosing" one.

The book would evolve over the coming months and years as people learn what works, what doesn't, what's fun, and what's not. It would ideally contain lots of working code and reference a lot of active projects as examples.

Add a screen reader support category

If we're going to consider rust ready for use with guis, we would have to support screen readers, and if your site helped filter by that it would be very helpful. Thanks!

Context: I wanted to use rust to make a simple gui app but I wanted one that actually supports screen readers well. From my investigations this is a very limited subset of the gui libraries. Only Qt and Gtk as far as I can tell are fully screen reader accessible which is a shame because I started my search to avoid those two engines.

Tag suggestions

Please let us know if you have any suggestions for tags! We should do a pass on all the crates currently listed.

My quick thoughts:

  • Soft real time suitable
  • Flexbox-like layout
  • Functional UI
  • DSL (these libraries use a custom DSL for layout or formatting)
  • Backend agnostic
  • Backend
  • Native

This repository needs new maintainers!

It's ok to discontinue projects, but this should never happen silently.

Yet, this repository has been more or less unmaintained for over a year now.

This means stale links and an outdated representation of what's the actual state of GUI development in Rust.
And to fork is not an option, as the domain is important, too, and a lot of resources already link here.

@pythoneer and @dxenonb what are your thoughts on this situation? If you are not willing to maintain this repository, please ask for others to help instead of letting this project become stale silently.

Site is pretty outdated

In Approaches section, it doesnt talk about azul.rs and other GUI frameworks, and doesnt haves a section for existing Rust graphical apps.

Document where we are so far.

A number of potential approaches to GUI, potential problems and potential solutions have been raised in discussion. Those need to be documented for reference.

Can I contribute my library to areweguiyet?

I am currently working on a library to improve GTK app development with rust here. I'd like to place it here to make others aware of it if thats possible.

If you think my library is of any interes I would like to contribute it as stated in the Contribution section in the readme.

Add 'mobile' category

Some libraries gonna support Android/IOS in the future (OrbTK, Slint, Tauri...).

upd:
OrbTK is dead
SixtyFPS is now Slint

List of crates not loaded

The list of crates is not loaded, and this error seems to be caused by the version returned by the CDN. It returns the version 3.2 instead of the version 2.6 before.

Error

Uncaught TypeError: Vue.component is not a function
    <anonymous> https://www.areweguiyet.com/main.js:5

Publish command contains a panic; cache not written

The CLI logs errors when it finds an issue with any of the source files.

The publish command currently panics if there are errors.

The problem with panicking is that the cache is not written when there are errors! This should be fixed.

chat/forum

Do we want something like an official forum and/or chat? What other options do we have to bring people(users/developers/potential contributors) together to show of the current stage of their lib, app and to contact us. Making issues has a high barrier if you don't want plan to participate in a serious manner and just want to say hello and hang around.

Add github stars next to each crate

This looks like something that @shivshank proposed in #1 but I don't see any other mentions of it. I think this would be helpful to see which GUI crates are actually being used. I suppose a crates.io download count could proxy for this as well.

If others want this, I'd be happy to try to contribute to push it forward as well.

Thoughts?

areweguiyet https cert errors

I'm not sure who best to report this to, so filing as an issue here. Feel free to route and close.

If I open https://areweguiyet.com/ I get a cert error, saying it's a *.github.com cert (and also including *.github.io). This is probably a very simple misconfiguration.

The http still works, but I always try to prefer https.

No automatic redirect to HTTPS

I was using the site recently and I noticed the webserver doesn't automatically redirect HTTP requests to HTTPS. Might be a good security feature to implement.

Sketch examples of use case code.

Without regards to implementation, we can sketch versions of what we'd like the API surface to look like, or just plain simply the available possibilities. This can guide initial investigation into both ergonomics and feasibility of implementation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.