初衷
记录分享自己在学习和使用Rust开发前后端的全部过程,想法,以及坑。
方便对Rust有兴趣的朋友一起学习,也欢迎大佬进行指导,志同道合的朋友进行更多的扩展和优化。
很多知识点的介绍都是通过AI帮忙生成,它比我做的更好。
知识点
后端
- Rust
- Axum
- Tower
- SeaORM
- Sqlx
- …
- 数据库
- Mysql
- PostgreSql
- 分布式
- …
- Redis
- 消息队列
- gRPC
- …
前端
- React
- NextJS
- JS/TS
- TailWindCSS
- …
其他
- Git
- 开发习惯
- …
Rust
Rust是一种编程语言,旨在帮助开发人员构建可靠且高效的软件。它具有以下几个关键特点:
-
性能:Rust具有出色的性能和内存效率,适用于性能关键型服务、嵌入式设备以及与其他语言轻松集成等场景,因为它没有运行时或垃圾回收器,使其能够快速运行1.
-
可靠性:Rust通过丰富的类型系统和所有权模型保证内存安全和线程安全,能够在编译时消除许多类别的错误1.
-
生产力:Rust拥有出色的文档、友好的编译器和强大的工具,如集成包管理器和构建工具,智能多编辑器支持等,提供良好的开发体验1.
NextJS
Next.js是一个流行的React框架,用于构建基于React的Web应用程序。它提供了许多功能和优势,包括:
-
服务端渲染:Next.js支持服务器端渲染(SSR),这意味着页面可以在服务器上生成,有助于提高首屏加载性能和搜索引擎优化(SEO)。
-
静态网站生成:Next.js还支持静态网站生成(SSG),可以在构建时生成静态HTML文件,提高网站性能和安全性。
-
路由系统:Next.js具有简单而强大的路由系统,支持动态路由、嵌套路由和客户端路由。
-
自动代码拆分:Next.js能够自动拆分代码,只加载当前页面所需的代码,提高性能。
-
CSS模块:支持CSS模块化,使得样式管理更加简单和可维护。
-
TypeScript支持:Next.js对TypeScript有很好的支持,可以帮助开发人员编写类型安全的代码。
Axum
Axum是一个基于Rust语言的Web应用程序框架,专注于提供人性化和模块化的开发体验。它具有以下主要特点:
-
路由请求到处理程序:Axum使用无宏的API将请求路由到处理程序,使得路由配置简单明了。
-
声明式解析请求:通过提供提取器(extractors),可以声明式地解析请求,从而轻松获取请求的各个部分。
-
简单可预测的错误处理模型:Axum致力于提供简单且可预测的错误处理模型,确保所有错误都能被处理。
-
生成最小化样板的响应:Axum能够生成响应,减少样板代码的编写。
-
充分利用tower和tower-http生态系统:Axum与tower和tower-http生态系统完全兼容,提供中间件、服务和实用工具,使其在中间件方面脱颖而出。
Axum的设计旨在与tokio和hyper等工具协同工作,同时不强制依赖特定的运行时和传输层,使其具有灵活性和可扩展性。Axum的特点之一是使用tower::Service而不是构建自己的中间件系统,这使得Axum能够免费获得超时、跟踪、压缩、授权等功能,并能够与使用hyper或tonic编写的应用程序共享中间件。
其他知识点在使用的时候再进行介绍
该栏目的内容是前后端穿插着进行的,如果你只关心后端或者前端的部分内容也可以有针对性的进行阅读。