Endeavor Assistant
assisting to meet your goals
Note
- The main purpose of this project is to document, evaluate and benchmark the strong qualities of the
Rust
language by building a real-world FullStackTypeScript
(BE+FE) application from scratch and then reimplementing everything inRust
andWASM
. I'm opensourcing a project that I've made back in 2020 using current (as of October 2022) tech and best practices from scratch because I want it to be scientifically fair for both sides. It might take a while to reimplement everything so stay tuned (:star: star this repo if you like it) and follow me on this huge endeavor.
- The original
TypeScript
repository: endeavor-assistant-ts
-
Rust
takes a "Data First" approach, making you take better decisions upfront while giving your IDE more information about your code (i.e. better integration with code completions) delivering incredible Developer Experience (DX) along the way.1 - There is no inheritance in
Rust
by default. This is another way to avoid complex structures which lead to hard-to-catch bugs in runtime. If you need inheritance you can mimic this behavior by implementingTraits
.2 -
Rust
+WebAssembly
provides faster, more secure, and predictable behavior (at compile-time) applications.3 - Better maintainable codebase in the medium or long term.4
- Front-end and back-end in
Rust
keep high-level abstractions with readable modern functional programming concepts comparable to or better thanTypeScript
.5 - Smaller cross-platform WASM bundles (binaries + dependencies).6
- Super lightweight, secure alternative to Linux containers.7
- Dramatic less memory and CPU usage (environment friendly while saving money and time).8 9
- Faster deployment to production due to the much smaller size of the
WASM
VM
package.10 - First-class Tests, Documentation and Packaging (meaning less third-party dependencies and fragmentation) via Cargo and crates.io.11
- Best-in-class compiler messages with inline manuals integrated with your IDE of choice.12
- Appointments
- Checklist
- Charts
- Finance Tools
- Notes tool (Markdown-like)
- Progressive analysis (AI hints to improve your tasks)
- Full Command Line support (same GUI features but on CLI)
Footnotes
-
Data-first and data-last: a comparison. Javier Chávarri, May 10, 2019. ↩
-
Traits: Defining Shared Behavior. The Official Rust Programming Language Book. ↩
-
Introduction to WebAssembly on the Cloud. Fermyon Blog. ↩
-
placeholder Better maintainable codebase in the medium or long-term. ↩
-
placeholder Front-end and back-end in
Rust
keeps high level abstractions with readable modern functional programming concepts that are comparable or better thanTypeScript
. ↩ -
Rust in WebAssembly. Fermyon Blog. ↩
-
Super lightweight, secure alternative to Linux containers. Nigel Poulton, 8 November, 2022 ↩
-
Sustainability with Rust. AWS Open Source Blog, 11 Feb, 2022. ↩
-
How we built Pingora, the proxy that connects Cloudflare to the Internet. ↩
-
It's time to rethink how we use virtualization in backends. Shuttle Blog, 21 October 2022 ↩
-
The Cargo Book. The Official Cargo Book. ↩
-
IDE Integration Using
rust-analyzer
. The Official Rust Programming Language Book. ↩