在 2020 年用 Rust 写前端什么体验
Rust 语言是一门有趣的语言,在学习 Rust 后我想找点东西实践下,然后就发现了由 Rust 编写可以用 Rust 编写网页的 Yew 框架。由于对 Rust 相关工具链的不熟悉,我感觉自己回到了刚刚接触 React + Webpack 的时候,一脸懵逼,什么都没有头绪的样子。那个时候,我写了个 Todo 应用来帮助自己熟悉工具链,现在当然是继续重复作为菜鸟时做的事情,写一个 Todo 应用来熟悉工具链!
介绍
什么是 Yew?
Yew 是一个设计先进的 Rust 框架,目的是使用 WebAssembly 来创建多线程的前端 web 应用。
- 基于组件的框架,可以轻松的创建交互式 UI。拥有 React 或 Elm等框架经验的开发人员在使用 Yew 时会感到得心应手。
- 高性能 ,前端开发者可以轻易的将工作分流至后端来减少 DOM API 的调用,从而达到异常出色的性能。
- 支持与 JavaScript 交互 ,允许开发者使用 NPM 包,并与现有的 JavaScript 应用程序结合。
应用外观
我们先来看下应用外观,为了能专注于 使用 Rust 写前端 这一目的,我直接复用了了《 I created the exact same app in React and Vue. Here are the differences 》 的样式代码
- 应用演示地址: https://iheyunfei.github.io/yew-todo-demo/
- Github 地址: https://github.com/iheyunfei/yew-todo-demo
目录结构
├── Cargo.lock
├── Cargo.toml
├── README.md
├── docs // 编译后后的文件
| ├── README.md
| ├── assets
| | ├── rust.svg
| | ├── style // 应用 css
| | └── yew.svg
| ├── index.html
| ├── package.json // 编译产物
| ├── wasm.d.ts // 编译产