jtomschroeder / cedar Goto Github PK
View Code? Open in Web Editor NEWRust framework for building visual/interactive applications
License: MIT License
Rust framework for building visual/interactive applications
License: MIT License
Many elements in a GUI will appear in the form of lists, such as tabs in a browser, bookmarks, messages in a chat client, icons in a launcher, etc.
cedar’s view system should have a way to map a Vec
from the model into a list of GUI elements.
Use the last cedar that cloned from github.
rustc 1.28.0-nightly (e3bf634e0 2018-06-28)
openSUSE_Tumbleweed 20180618(x86_64 Linux 4.17.1-1-default)
GNOME 3.28.2
libwebkit2gtk-4_0-37-2.20.3-1.1.x86_64
thread 'main' panicked at 'internal error: entered unreachable code', /home/mxo/.cargo/registry/src/github.com-1ecc6299db9ec823/web-view-0.2.1/src/lib.rs:198:3
stack backtrace:
0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
1: std::sys_common::backtrace::print
at libstd/sys_common/backtrace.rs:71
at libstd/sys_common/backtrace.rs:59
2: std::panicking::default_hook::{{closure}}
at libstd/panicking.rs:211
3: std::panicking::default_hook
at libstd/panicking.rs:227
4: std::panicking::rust_panic_with_hook
at libstd/panicking.rs:511
5: std::panicking::begin_panic
at /checkout/src/libstd/panicking.rs:445
6: web_view::handler_dispatch
at ./<panic macros>:3
7: webview_dispatch_wrapper
at webview/webview.h:457
8: <unknown>
9: g_main_context_dispatch
10: <unknown>
11: g_main_context_iteration
12: gtk_main_iteration_do
13: webview_loop
at webview/webview.h:351
14: web_view::run
at /home/mxo/.cargo/registry/src/github.com-1ecc6299db9ec823/web-view-0.2.1/src/lib.rs:90
15: <cedar::application::Program<M, S>>::run
at /home/mxo/Downloads/cache/cedar/src/application.rs:127
16: <cedar::application::Application<M, S>>::run
at /home/mxo/Downloads/cache/cedar/src/application.rs:42
17: todo::main
at src/main.rs:263
18: std::rt::lang_start::{{closure}}
at /checkout/src/libstd/rt.rs:74
19: std::panicking::try::do_call
at libstd/rt.rs:59
at libstd/panicking.rs:310
20: __rust_maybe_catch_panic
at libpanic_unwind/lib.rs:105
21: std::rt::lang_start_internal
at libstd/panicking.rs:289
at libstd/panic.rs:392
at libstd/rt.rs:58
22: std::rt::lang_start
at /checkout/src/libstd/rt.rs:74
23: main
24: __libc_start_main
25: _start
at ../sysdeps/x86_64/start.S:120
Please make cross-platform. Prioritising UNIX first.
I was playing with this for a bit, but there is no function for changing the text for the text field. I am hoping I could contribute on this project as much as I can.
It would be nice to be able to pull only the required/desired graphics libraries. Looking at the code it's already almost this way so thumbs up.
This prevents cedar from running on 10.9
GTK+ is now a native toolkit on OS X, since 3.something, it would make sense from a testing point of view to allow that.
Cocoa should also be made a feature, to be more consistent with other backends.
It would seem more idiomatic to use a trait to define the relationship between model, update, view, and message. I expect that this would make it possible to explain the API more simply. Not that Program
it's particularly hard, but I'm accustomed to seeing similar concepts expressed as traits in rust.
It is currently almost identical between the Cocoa backend and the GTK+ one, and as it is the main entrypoint of the library it makes no sense to have it implemented by each backend.
I would like to be able to hook things on the model, that could do other things, whatever they want. I have a logger in mind, or something that would allow me to play with the state (rewind/forward), analyse it etc.
I don't think these things should be in cedar itself, but in other crates, only the middleware interface would be required.
To be a bit more specific, see how redux does it. I don't have a particular implementation in mind though, that's just one I know of.
Elm has support for subscriptions and commands, which used to be effects in the last version. Choo also has this. Should cedar have something similar?
EDIT: just saw this on the project board. I'd still love to discuss how we approach this issue.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.