web2 0.1.0

web2, the web re-imagined
Documentation
pub mod ui;

#[macro_export]
macro_rules! export {
    () => {
        #[unsafe(no_mangle)]
        fn init_ui(open: fn(), close: fn()) {
            $crate::ui::init(open, close);
        }
    };
}

// Ok, so the main crate needs to expose the app "interface". Then
// eventually there needs to a web2 version that you patch. The
// web2 version has the same app "interface", but it uses wit
// bindings so that the app can be compiled as a wasm component
// instead of a native app.

// For native apps, you will include the app as a dependency and
// define the app in the app crate, but the main crate will be
// what is actually compiled to an executable. The reason for this
// is hot reloading in development. Because when building for
// release you can simply just use the app crate directly, but
// in development you use it indirectly via the libapp.so file.