CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.
Bài blog 12 Killer Rust Libraries You Should Try này của CFSDN được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm tới bài viết này thì nhớ like nhé.
Tôi vừa vượt mốc 20K LỘC trong một trong những dự án Rust lớn hơn của mình và tôi muốn tạm dừng một chút và chia sẻ một số thư viện Rust tuyệt vời mà tôi đang sử dụng.
Tôi cũng có kế hoạch đề cập đến các chủ đề trong các bài viết trong tương lai như quyết định giữa Rust và Go, hoặc quyết định có nên áp dụng Rust cho nhóm hoặc dự án của bạn hay không và những gì sẽ xảy ra sau khi bạn quyết định sử dụng nó.

Vỗ tay
Việc xây dựng các công cụ CLI bằng Rust là điều đương nhiên - hãy nhìn vào ripgrep và Cargo của chính Rust. Thời gian khởi động cực nhanh, kích thước nhị phân nhỏ, mã an toàn kiểu, mã nhị phân an toàn thời gian chạy, biên dịch chéo sang hầu hết mọi kiến trúc mà bạn muốn.
Để bắt đầu xây dựng các công cụ CLI, clap là một thư viện CLI tuyệt vời, nó tốt đến mức tôi không thấy có lý do gì để có hàng tá lựa chọn thay thế như thường thấy trong các ngôn ngữ khác. Trên thực tế, nếu bạn muốn dùng thử Rust, tôi khuyên bạn nên xem qua Rustup trước, sau đó dùng thử thư viện này và xem nó có thể làm gì cho bạn.

Cốt lõi
Giống như clap, serde là một thư viện tuần tự hóa đa năng có hiệu suất cao, giàu tính năng. Trên thực tế, khi nghĩ về Java và .NET, tôi không nhớ có thư viện tuần tự hóa nào thực hiện tốt điều đó về mọi mặt - công thái học và hiệu suất.
Thay vào đó, đừng cố gắng tự đọc/ghi từ/vào tệp - hãy viết các kiểu dữ liệu của bạn trước và để serde thực hiện tất cả công việc. Là một phần thưởng, bạn có thể trộn và kết hợp các định dạng dữ liệu (YAML, JSON) sau khi mọi thứ hoàn tất.

Yêu cầu
Reqwest tuân theo tiêu chuẩn vàng của các thư viện máy khách HTTP như yêu cầu, siêu tác nhân và yêu cầu, đồng thời áp dụng chúng một cách hoàn hảo cho Rust. Đó là thư viện tôi sử dụng dành cho máy khách HTTP, có nhiều tính năng và đầy đủ.

Huyện
Rayon là một "thư viện song song dữ liệu cho Rust", chỉ cần cung cấp dữ liệu cho nó và nó biết cách chia nó thành các phần độc lập, cho phép tất cả các lõi CPU của bạn hoạt động.
Hoặc đơn giản hơn, cung cấp cho nó một danh sách và nó sẽ song song hóa ánh xạ trên đó, cùng với những thứ khác. Điều này hữu ích cho các công cụ CLI; không phải ngôn ngữ nào cũng có thể song song hóa trên dòng lệnh.

Làm việc quần quật
slog là bộ ghi nhật ký rất đầy đủ cho Rust. Nó là lõi có nhiều plug-in đằng sau nó, chẳng hạn như đầu ra thuật ngữ từ thiết bị đầu cuối, đầu ra json từ JSON, v.v.
Bạn nên biết rằng cũng có nhật ký, nhằm mục đích trở thành một phần của Rust tiêu chuẩn và là một lựa chọn đơn giản hơn. Vì lý do này, cá nhân tôi đã chuyển từ slog sang log.

công cụ iter
Sẽ không có hại gì khi thêm một vài toán tử nữa vào danh sách của bạn, đặc biệt vì nhiều hoặc hầu hết các toán tử đều có chi phí bằng 0. Với itertools bạn sẽ có được điều đó. Điều này thật tuyệt nếu bạn là người yêu thích các thư viện như lodash.

Siêu
hyper là một triển khai HTTP nhanh được viết bằng Rust, cũng được viết cho Rust (trái ngược với những gì được viết bằng C, bao gồm hiệu suất của các ngôn ngữ động). Bạn sẽ tìm thấy siêu hiện diện trong hầu hết mọi thư viện cấp cao mà bạn sử dụng và nếu bạn sử dụng nó trực tiếp, nó có cảm giác hơi giống Netty hoặc Finagle. Tôi thấy mình nghĩ về hyper vừa như một hộp công cụ HTTP (sử dụng các phần của nó) vừa như một tổng thể, xây dựng một máy chủ trên đó.

Đoán xem cái gì không dùng được Hyper? Đó là Actix. Actix cố gắng đơn giản hơn và theo kinh nghiệm của tôi - đúng như vậy. Tôi thường sử dụng Actix thay vì Hyper vì nó tiên tiến hơn và hoàn thiện hơn cho các mục đích mà nó phục vụ. Hôm nay, tôi mặc định sử dụng trực tiếp Actix thay vì Hyper trừ khi tôi cần xây dựng thứ gì đó ở cấp độ thấp hoặc có thư viện yêu cầu trực tiếp Hyper (trong đó có rất nhiều).

PyO3
PyO3 là một trong những thư viện phổ biến hơn để xây dựng thư viện Rust bằng Python (hay là thư viện Python trong Rust?). Nếu bạn muốn xem kết quả của sự kết hợp này, thì đây là hyperjson - một thư viện JSON dành cho Python được cung cấp bởi serde của Rust.
Dựa vào tính bảo mật của Rust và hiệu suất của Serde, bạn sẽ có được một trong những thư viện Python JSON an toàn và nhanh nhất mà hầu như không cần tốn nhiều công sức.
Bạn muốn cải thiện Python trong 3 bước?
- Tìm một thư viện Rust tuyệt vời
- Bọc nó bằng PyO3
- Lưu ý: PyO3 (và có thể cả Rust-cpython) có thể có một số lỗi thiết kế có thể làm mất đi tính bảo mật.

phản ánh
proptest là thư viện thử nghiệm dựa trên thuộc tính dành cho Rust. Kể từ khi tôi sử dụng QuickCheck trong thời gian ngắn làm việc với Haskell, tôi đã tìm kiếm những loại thư viện này trong mọi ngôn ngữ tôi đã sử dụng - những thư viện đề xuất rằng chúng sẽ tự động tìm ra lỗi cho bạn bằng cách suy nghĩ một cách thông minh về một tập hợp các dữ liệu đầu vào.

tải thư viện
Đối với những người muốn kết hợp Go hoặc các thư viện c-lib khác vào giao diện người dùng Rust, việc tải lib sẽ giúp việc này trở nên dễ dàng.
Đã dành cả năm qua để xây dựng các dự án vừa và lớn trong Rust, tôi chấp nhận rằng một số phần của hệ sinh thái Rust vẫn chưa sẵn sàng và không ngần ngại xây dựng các dự án này bằng các ngôn ngữ khác (chủ yếu là Go) - chỉ với libloading Hook mọi thứ trở lại Rust.

hiệu suất
Điều cuối cùng bạn nên biết là Rust đơn giản, gọn gàng theo mặc định rất nhanh. Đây là một cuộc trò chuyện về thời điểm thích hợp.
Ngoài ra còn có một số thư viện mà tôi hầu như luôn thích sử dụng để giúp bạn tăng hiệu suất tốt hơn so với các thư viện mặc định mà Rust đã cung cấp.
- regrec - Thư viện Regex thực sự nhanh, so với các ngôn ngữ lập trình khác.
- jemalloc - Một trong những công cụ cấp phát bộ nhớ nhanh nhất, đã bị loại bỏ trong các phiên bản Rust gần đây để sử dụng các giá trị mặc định của hệ điều hành. Tôi thấy nó nhanh hơn bộ cấp phát mặc định của OSX, nhưng chỉ sử dụng nó nếu bạn biết mình cần, vì nó tăng thêm trọng lượng cho tệp nhị phân của bạn (khoảng 700kb).
bản tóm tắt
Rust, để mô tả nó bằng một từ, là mạnh mẽ.
Nhưng còn nhiều điều để nói. Ví dụ - Rust cũng cực kỳ trẻ so với các ngôn ngữ lập trình khác.
Địa chỉ gốc: https://www.toutiao.com/a7012499999946883597/.
Cuối cùng, bài viết về 12 thư viện Killer Rust bạn nên thử có ở đây. Nếu bạn muốn biết thêm về 12 thư viện Killer Rust bạn nên thử, vui lòng tìm kiếm bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan, tôi hy vọng bạn sẽ ủng hộ blog của tôi. trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!