分类: 后端

113 篇文章

PHP 生态与框架选型
PHP 生态其实分三层:运行时(FPM / FrankenPHP / Swoole)、网络进程库(Workerman)、框架层(Laravel / Symfony / ThinkPHP / Hyperf / Webman)。把层次拆开后,「Laravel 和 Swoole 哪个好」这类问题就不成立了——它们是叠加使用的关系。本文给出七个框架的实测状态、按场景的选择建议,以及判断一个框架是否还活着的几个信号。
Go 生态与框架选型
Go 的框架生态和前几年不一样了:net/http 在 1.22 之后支持了路径参数与方法匹配,很多原来必须上框架的场景现在不必了。本文先分清 HTTP 路由框架、微服务框架与标准库三类东西,再逐个说明 Gin、Echo、Fiber、Chi、go-zero、Kratos 的定位与代价,最后给出不确定时直接选 Gin 的兜底建议。
Actix Web 入门
Actix Web 长期占据 Rust Web 框架性能榜前列。历史上有过 Actor 模型的设计,现在是常规异步框架,但保留了不少遗留概念。
Axum 入门
Axum 是 Tokio 官方维护的 Web 框架,建在 hyper 和 tower 之上。它是当前 Rust 后端的默认答案,核心原因是能直接用整个 tower 生态的中间件。
Tauri 2 架构入门
Tauri 架构:Web 前端与 Rust 命令通过 IPC 交换可序列化消息。前端发出命令不代表已获得任意系统权限,边界还需要能力与输入约束。
Cargo 与测试
Cargo 把源码、依赖、测试与构建配置组织起来。单测靠近内部逻辑,集成测试从公开 API 使用 crate,两者观察边界不同。
Rust 并发与异步
线程与异步任务都可表达并发,但资源成本、阻塞影响与调度不同。共享值是否能跨线程由 Send/Sync 等约束检查。
Rust 智能指针
Box 提供堆上的唯一所有权,Rc/Arc 共享所有权,RefCell/Mutex 提供不同的内部可变机制。共享所有权不自动使内容可安全修改。
Rust 生命周期
生命周期标注描述引用之间的约束,不创造存储空间。返回引用必须能追到在调用方使用期间仍有效的数据。