-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
160 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,3 +22,6 @@ | |
[submodule "apps/main"] | ||
path = apps/main | ||
url = [email protected]:najamelan/ekke_main | ||
[submodule "ekke_core_frontend"] | ||
path = ekke_core_frontend | ||
url = [email protected]:ekke-rs/ekke_core_frontend.git |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
#! /usr/bin/fish | ||
|
||
|
||
set --global libs \ | ||
\ | ||
ekke_config \ | ||
ekke_io \ | ||
ekke_merge \ | ||
ekke_merge_derive \ | ||
|
||
|
||
set --global back_execs \ | ||
\ | ||
ekke_core \ | ||
|
||
|
||
set --global wasm_execs \ | ||
\ | ||
ekke_core_frontend \ | ||
|
||
|
||
set --global all_execs $back_execs $wasm_execs | ||
set --global crates $back_execs $wasm_execs $libs | ||
|
||
set --global server ekke_core | ||
|
||
|
||
|
||
function build | ||
|
||
for crate in $wasm_execs | ||
|
||
pushd $crate | ||
|
||
echo "wasm-pack build $argv[1] $crate" | ||
|
||
wasm-pack build $argv[1] --target no-modules; or exit 1 | ||
|
||
popd | ||
|
||
end | ||
|
||
for crate in $back_execs | ||
|
||
pushd $crate | ||
|
||
echo "Build $argv[1] $crate" | ||
|
||
cargo build $argv[1] ; or exit 1 | ||
|
||
popd | ||
|
||
end | ||
|
||
end | ||
|
||
|
||
function check | ||
|
||
for crate in $all_execs | ||
|
||
pushd $crate | ||
|
||
echo "Check $crate" | ||
|
||
cargo check; or exit 1 | ||
|
||
popd | ||
|
||
end | ||
|
||
end | ||
|
||
|
||
function run | ||
|
||
build; or exit 1 | ||
|
||
pushd $server | ||
|
||
echo "Run $argv[1] Ekke Server" | ||
cargo run $argv[1] | ||
|
||
popd | ||
|
||
end | ||
|
||
|
||
# When running cargo commands on an executable, cargo yaml won't be called on it's | ||
# dependencies. We have a custom wrapper for cargo that calls it wherever cargo is | ||
# called, but the cargo command won't be called in the shell to build dependencies... | ||
# | ||
for crate in $crates | ||
|
||
pushd $crate | ||
|
||
cargo > /dev/null | ||
|
||
popd | ||
|
||
end | ||
|
||
if test (count $argv) -eq 0 ; check; exit ; end | ||
if test $argv[1] = "check" ; check ; end | ||
if test $argv[1] = "build" ; build ; end | ||
if test $argv[1] = "run" ; run ; end | ||
if test $argv[1] = "buildrel" ; build --release ; end | ||
if test $argv[1] = "runrel" ; run --release ; end |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,42 @@ | ||
# ekke | ||
Application framework in Rust | ||
|
||
EKKE IS CURRENTLY WIP AND NOT PRODUCTION READY (this readme serves me for taking notes for later...) | ||
|
||
Ekke is an application framework for building cross platform GUI apps that run both locally and on the web. The general purpose is to allow for each application to be developed by writing stricly its actual functionality. Ekke will take care of all annoying chores for you: installation, deployment, configuration, logging, user auth, reusable frontend components like powerful fuzzy search/command bar, ... Write nothing but your actual functionality. | ||
|
||
If all you want to do is write a CLI application, you probably don't want to bother using the ekke framework. If you want cross platform GUI and deploy to phone, desktop and web at once, Ekke should save you alot of time. | ||
|
||
When writing an application with ekke, you are locked in: | ||
|
||
- writing a frontend with web technologies: | ||
1. structure: html | ||
2. styling : css/scss/less/sass... | ||
3. logic : webassembly/javascript/typescript/elm/purescript... | ||
|
||
- Separating your frontend and backend in 2 components | ||
- Components in ekke must communicate in ekkespeak (CBOR encoded messages) | ||
- Require the ekke server to run alongside your application | ||
|
||
Ekke will provide you with the following advantages: | ||
|
||
- all your backend has to do is connect to a socket and understand ekkespeak. You need not worry about any low level stuff like setting up http etc... | ||
- you can use any programming language for your backend. You can choose any database for your backend. | ||
- ekke can be compiled into your program as a library, or you can deploy your program for people already running ekke through package management. | ||
- reusable frontend components for consistent user experience (powerful instant search bar that can also send commands to your backend,...) | ||
- ekke will take care of repetitive chores like installation/deployment/configuration/logging/user auth/... | ||
- if you develop in rust you have additional benefits, you can compile agains the ekke libs to have acces to all structs and traits directly, so you don't have to implement ekkespeak, nor socket connection. All | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- reusblility of functionality (do as little as possible in apps) | ||
- be careful not to lock apps in xxx | ||
- | ||
|
Submodule main
updated
from a085a2 to 0c028e
Submodule ekke_config
updated
from 409c45 to 01ed96
Submodule ekke_core
updated
from 4e5050 to b4f692
Submodule ekke_core_frontend
added at
37d4ff
Submodule ekke_io
updated
from 4f8c49 to 2d2f9f
Submodule ekke_merge
updated
from 246b6b to 339b29
Submodule ekke_merge_derive
updated
from 224c53 to 3dc8b7