- Turborepo là hệ thống build hiệu năng cao dành cho JavaScript / TypeScript
- Cố gắng cải thiện hiệu năng bằng incremental build, thực thi song song và remote cache (sử dụng hạ tầng của Vercel)
- Ban đầu được tạo ra với mục tiêu theo đuổi
esbuild, vốn đã cho thấy hiệu năng rất tốt
- Với gói Turbo, codebase được hợp nhất với Turbopack, vốn được viết bằng Rust
- Họ nhận ra rằng những ưu điểm mà ngôn ngữ Go thể hiện trong phát triển server khác với những yêu cầu khi xây dựng công cụ build
- Go: tập trung vào mô hình goroutine, Context API và thư viện tiêu chuẩn cho hạ tầng server
- Rust: quản lý process, filesystem, các khái niệm OS cấp thấp, và việc phân phối lên máy tính người dùng
- Hệ sinh thái mạnh, đã có sẵn nhiều crate (gói) đa dạng và chất lượng
- Việc tận dụng các thư viện C/C++ đơn giản và nhanh hơn so với Go
- Nếu dùng chung codebase với Turbopack thì có lợi thế về bảo trì, chia sẻ mã nguồn, v.v.
- Rust giúp các lập trình viên cảm thấy hài lòng hơn, từ đó mang lại nhiều hiệu ứng tích cực khác nhau
- Hiện tại đang dùng cấu trúc “Rust-Go-Rust”, nhưng sẽ tiếp tục được migration
4 bình luận
Mình thích Rust
Nhưng đôi khi mình cũng có cảm giác độ khó của nó bị đẩy lên cao một cách không cần thiết
Nhìn vào định hướng sự nghiệp hay mức độ liên kết của stack,
có vẻ như khá nhiều người cuối cùng cũng đi đến Rust.
Còn Go thì có vẻ chuyển nhiều sang mảng hạ tầng hơn...
Tôi cũng thấy lạ là mình không bị cuốn hút bởi Go, mà lại cảm thấy Rust hấp dẫn hơn.. (Node.js hiện là nền tảng chính)
Có phải vì nó do đội Mozilla, những người tạo ra trình duyệt, phát hành không nhỉ..
Quả thật là các đội SRE có vẻ thích Go hơn.