Rust ma bardzo żywy i szybki ekosystem open source, z mnóstwem współpracowników pracujących nad mnóstwem niesamowitych projektów.
A jeśli pytasz – co mogę zbudować w Rust? Odpowiedź brzmi prawie wszystko.
Ten artykuł będzie zawierał niektóre otwarte biblioteki, frameworki i repozytoria Rust, które mogą być przydatne do studiowania lub wykorzystania we własnym projekcie.
Dla Twojej wygody podzieliłem je na takie dziedziny, jak tworzenie stron internetowych, tworzenie gier, blockchain i inne. Zagłębmy się!
Frameworki do tworzenia stron internetowych dla Rusta
Czy możesz zbudować aplikację internetową za pomocą Rusta? Zdecydowanie!
Rust ma wiele niezwykle szybkich frameworków internetowych – Rocket, Actix Web i Yew – i możesz użyć tego, który odpowiada Twoim potrzebom i preferencjom.
Rakieta
Rakietajest najbardziej dostępną platformą internetową w ekosystemie Rust dla początkujących. Jest wysoce konfigurowalny i pomaga szybko uruchomić nową aplikację. Jednocześnie pozwala uniknąć wielu niepotrzebnych szablonów. Rocket zawiera również wiele funkcji, co oznacza, że nie będziesz musiał odchodzić daleko od frameworka, aby zbudować wszystko, czego potrzebujesz.
W przeciwieństwie do Actix Web, framework działa na nightly Rust – „eksperymentalnej” wersji języka.
Webix
Webixjest zwykle uważany za bardziej wydajny i stabilny niż Rocket. Pod spodem działa z modelem aktora używanym wErlangIJak.
W przeciwieństwie do Rocket, jest mniej "baterii w zestawie", co oznacza, że najprawdopodobniej będziesz musiał użyć bibliotek innych firm, aby uzyskać dodatkową funkcjonalność.
Cis
Cisto framework Rust do tworzenia aplikacji internetowych za pomocą WebAssembly. Wśród swoich głównych zalet wymienia platformę opartą na komponentach, taką jak React i Elm, wyjątkową wydajność dzięki obsłudze wielu wątków i interoperacyjność JavaScript.
W tej chwili nie jest gotowy do produkcji, ale powinien być doskonałym wyborem do projektów pobocznych i narzędzi wewnętrznych, zwłaszcza jeśli chcesz pracować z WASM.
Zola
Jeśli potrzebujesz czegoś szybkiego i prostego do obsługi statycznej strony internetowej,Zolato fantastyczne narzędzie do tworzenia szybkich i skalowalnych stron internetowych bez żadnych innych zależności i wzdęć JS.
Osnowa
Osnowato framework serwera WWW napisany w języku Rust. W porównaniu do Rocket i Actix jest raczej szczupły jak na platformę internetową i zapewnia tylko podstawową funkcjonalność po wyjęciu z pudełka.
Produkcja gier
Rust jest wyjątkowy w tworzeniu gier z tego samego powodu, co C++: jest przewidywalny. Oto kilka silników, których możesz użyć do zbudowania własnej gry Rust.
Grono
Dwa główne silniki gry Rust to Bevy i Amethyst. Pomiędzy nimi,Gronojest nowszy i fajniejszy. Jest to prosty silnik oparty na danych i zasadniczo można go nazwać Amethyst 2.0, ponieważ jest nim mocno inspirowany.
Aby uzyskać więcej informacji na temat Bevy, możesz sprawdzićKsiążka Bevy'ego.
Ametyst
Ametystjest bardziej dojrzałym z tych dwóch iz tego powodu ma więcej funkcji, których możesz potrzebować w projektach na dużą skalę i lepszą integrację z bibliotekami innych firm. Ale Bevy szybko nadrabia zaległości. Jeśli szukasz silnika do swojego nowego projektu, polecam przyjrzeć się im obu i zobaczyć, który z nich bardziej Ci odpowiada.
Musimy jednak ostrzec, że Amethyst nie jest już aktywnie rozwijany.
Jezu
Jeśli szukasz czegoś prostego na początek,Jezuto lekka, wieloplatformowa platforma do tworzenia gier 2D przy minimalnym tarciu.
Jeśli chcesz przeczytać więcej o tworzeniu gier w Rust, sprawdźCzy już gramy?
System operacyjny
Rust jest doskonałą alternatywą dla C w rozwoju systemów operacyjnych, ponieważ oferuje ten sam poziom wydajności przy jednoczesnym dbaniu o bezpieczeństwo pamięci. Właściwie deweloperzyprowadzą śledztwomożliwość dodania Rust do jądra Linuksa oraz Microsofteksperymentuje z tymrównież.
Oto kilka systemów operacyjnych typu open source, które są napisane wyłącznie w języku Rust:
redoks
redoksto system operacyjny napisany w języku Rust, który wykorzystuje innowacje Rusta do budowy nowoczesnego mikrojądra.
intermezzOS
intermezzOSto system operacyjny do nauki, szczególnie skoncentrowany na wprowadzaniu koncepcji programowania systemów dla doświadczonych programistów z innych dziedzin programowania.
Tezeusz
Tezeuszto nowy system operacyjny napisany w języku Rust, który przedstawia nowatorską strukturę systemu operacyjnego i twierdzi, że unika zjawiska rozlewania się stanów, co ma miejsce, gdy stan jednej jednostki jest trwale zmieniany w wyniku interakcji z inną.
Jest o czym czytać – oto apapiernad projektem.
Rozwój GUI
Chociaż Rust nie jest dobrze znany ze swoich możliwości tworzenia wciągających interfejsów użytkownika, wciąż istnieje wiele dobrych bibliotek do tworzenia GUI.
druid
druidto eksperymentalny zestaw narzędzi interfejsu użytkownika w języku Rust, który koncentruje się na budowaniu prostych, dopracowanych doświadczeń użytkownika. Jest zorientowany na dane i inspirowany nowoczesnymi frameworkami, takimi jak Flutter, SwiftUI i inne.
Aby dowiedzieć się więcej na ten temat, możesz sprawdzićKsiążka druidów.
Mrożony
Mrożonyto wieloplatformowa biblioteka GUI z naciskiem na prostotę i bezpieczeństwo typów. Jest mocno inspirowany Elmem. Chociaż obecnie jest to wciąż eksperymentalne rozwiązanie, jest doskonałą opcją do tworzenia GUI bezpośrednio w Rust dla twojego pobocznego projektu.
Zestaw narzędzi Orbital Widget
Zestaw narzędzi Orbital Widgetto wieloplatformowy zestaw narzędzi do budowania skalowalnych interfejsów użytkownika z Rust. Koncentruje się na szybkości, łatwości użytkowania i kompatybilności między platformami.
Trudność
Trudnośćto platforma do tworzenia aplikacji komputerowych dla systemów Windows, Linux i macOS. Dzięki niemu możesz używać dowolnego frameworka front-end, który kompiluje się do HTML/CSS/JS do budowania interfejsów użytkownika, a Rust jako backend.
Jeśli chcesz dowiedzieć się więcej o możliwościach rozwoju GUI w Rust,oto duży postobejmuje większość bibliotek.
Łańcuch bloków
Otwórz Ethereum
Głównym celemOtwórz Ethereumma być najszybszym, najlżejszym i najbezpieczniejszym klientem Ethereum. Został opracowany z Rust i twierdzi, że zapewnia podstawową infrastrukturę, która jest niezbędna do szybkich i niezawodnych usług.
Latarnia morska
Latarnia morskato klient Ethereum 2.0 typu open source, napisany w Rust i utrzymywany przez Sigma Prime.
Technologie parzystości: Polkadot i Substrate
Parity Technologies pracuje nad budową infrastruktury blockchain dla zdecentralizowanej sieci.
Wśród jego projektów sąpodłoże, modułową platformę do rozwoju łańcucha bloków orazkropki, sieć łańcuchów bloków. Oba te projekty mocno wykorzystują Rust w swoich implementacjach.
Inne projekty
Oto niektóre projekty, które nie pasują do żadnej kategorii. Mam nadzieję, że znajdziesz coś niesamowitego w tej kolekcji „rzeczy”. :)
Serwo
Serwoto prototyp silnika WWW napisany w języku Rust. Jest to efekt prac Mozilli nad stworzeniem nowego silnika przeglądarki o otwartym kodzie źródłowym. W 2020 roku Servo przeniósł się z Mozilli do hostowania przez Linux Foundation.
Servo ma być bezpieczniejsze niż przeglądarki napisane w C++ ze względu na gwarancje bezpieczeństwa pamięci Rust, które zmniejszają liczbę podatności.
swc
swcto superszybki kompilator JavaScript/TypeScript. W porównaniu do Babel został porównany, aby zwiększyć prędkość kompilacji co najmniej 18 razy.
Wzburzyć
Chcesz uruchomić wszystkie fajne gry Flash, dla których Adobe niedawno wyłączył obsługę? Możesz użyćWzburzyć, emulator odtwarzacza Flash napisany w języku Rust.
Możesz go wypróbowaćruffle.rs.
Wariat
Wariatto eksperymentalna platforma, która wykorzystuje instancje WASM jako aktorów do wykonywania struktur. Jest mocno inspirowanyErlang.
Ma łączyć dobre strony WASM i Erlanga, umożliwiając budowanie systemów opartych na aktorach, które są zarówno odporne na błędy, jak i niesamowicie szybkie.
Możesz posłuchać naszegoodcinek podcastuz Lunatic, aby dowiedzieć się więcej o projekcie.
Statek kosmiczny
Statek kosmicznyto szybka, konfigurowalna i inteligentna zachęta dla tych, którzy chcą schłodzić swoją skorupę.
MeiliSearch
MeiliSearchto potężna, szybka, łatwa w użyciu i konfigurowalna wyszukiwarka, która jest również odporna na literówki. Teraz jest dużo przymiotników! Możesz skonfigurować go pod własny projekt zamiast niestandardowego i prawdopodobnie gorzej działającego rozwiązania.
Przeczytaj naszewywiadz MeiliSearch, aby dowiedzieć się więcej o projekcie.
Masz coś do dodania?
Jak widać, ekosystem jest ogromny i jest wiele do odkrycia. Na pewno nie byłem w stanie omówić wszystkiego. Jeśli znasz projekt, który zasługuje na to, by się tu znaleźć, nie bój się nas o tym powiadomićŚwiergot!
Jeśli chcesz dowiedzieć się więcej o Rust, polecam zajrzeć na naszego blogaSekcja rdzy.
Jeśli potrzebujeszUsługi rozwoju rdzy, skontaktuj się z naszym zespołem, aby omówić Twoje potrzeby i cele. Zaproponujemy Ci w pełni spersonalizowane rozwiązanie.
FAQs
Is it easy to learn Rust? ›
Rust itself is kind of easy
Well, sort of. Yes, it's complex and takes a lot of work to learn. Yes, most people that learn Rust have frustrating days (sometimes unbearably frustrating days) where they just want their code to compile and don't understand what to do.
If you haven't already, install Rust on your computer (it should only take a few minutes). After that, open a terminal and navigate to the directory you want to put your application code into. Start by running cargo new grrs in the directory you store your programming projects in.
Is Rust free and open source? ›Rust is a programming language implemented as a set of open source projects. It combines the performance and resource efficiency of systems programming languages like C with the memory safety of languages like Java.
What projects are written in Rust? ›- Rust implementation of cd command.
- Safe alternative to rm command in Rust.
- ls command in Rust with high performance through caching.
- Chat server in Rust.
- Operating System designed in Rust.
- Web Server in Rust to host static one-page website or portfolio.
- Tic Tac Toe in Rust.
- Snake game in Rust.
C++ vs.
There is no question that Rust is far easier to use than C++. It also has a significantly lower learning curve, along with extensive community support, libraries, tools, documentation, and additional resources that newcomers to Rust can take advantage of when they are first learning how to use the language.
Most people who use both Rust and C++ say that Rust is easier to use due to its well-defined semantics and its ability to prevent unwanted/undefined behavior. Similarly, C++ has so many features that it can be challenging to keep track.
Is Rust better than Python? ›However, although Rust is a new language, it is better than Python when you consider error handling, garbage collection, memory management, performance, scalability, security, and speed.
Is Rust high level or low-level? ›Rust is a low-level programming language with direct access to hardware and memory, which makes it a great solution for embedded and bare-metal development. You can use Rust to write operation systems or microcontroller applications.
What kind of programming language is Rust? ›Rust is a multi-paradigm, general-purpose programming language that emphasizes performance, type safety, and concurrency. It enforces memory safety—ensuring that all references point to valid memory—without requiring the use of a garbage collector or reference counting present in other memory-safe languages.
Is Rust like C or C++? ›Rust, developed by Mozilla in 2010, is a programming language built to focus on safety and performance, especially safe concurrency. Rust programming language is similar to C++, but it provides memory safety without using garbage collection. It aims to achieve higher performance and better safety than C++.
Is Rust really better than C++? ›
Rust can be written faster than C++ due largely to its elaborated semantics and system for preventing undesired behaviors. One of the significant issues with C++ is that avoiding undefined behaviors can be difficult. As a result, it can take longer to write C++ code.
Why is Rust called Rust? ›But Hoare decided to do something about it. He opened his laptop and began designing a new computer language, one that he hoped would make it possible to write small, fast code without memory bugs. He named it Rust, after a group of remarkably hardy fungi that are, he says, “over-engineered for survival.”
Is Python written in Rust? ›RustPython is a Python interpreter written in Rust. RustPython can be embedded into Rust programs to use Python as a scripting language for your application, or it can be compiled to WebAssembly in order to run Python in the browser. RustPython is free and open-source under the MIT license.
How much do Rust developers make? ›How Much Does a Rust Developer Make? According to Indeed, the average Rust dev salary is $93,000 annually in the US. That's about $47 per hour.
Is programming in Rust fun? ›Of the respondents using Rust at work, 89% said their teams found it enjoyable and fun to program.
How long does it take to learn Rust? ›First Google asked how long it took to learn Rust properly. Figure 1 shows that the majority (around 2/3rds) took just under two months to learn, and only 9% took more than four months. It must be said that most of the developers had experience of C/C++, Python, Java, Go, or Dart, before learning Rust.
Why is Rust difficult to learn? ›The Rust language is admired for its high performance along with safety guarantees that other system languages such as C and C++ lack, but it is common to hear complaints that it is hard to learn because of unfamiliar concepts like ownership and borrowing.
Can you learn Rust in a week? ›Rust is a vast language that you won't be able to master in a few weeks. And that's totally fine. You don't have to know everything to get started. I've spent a lot of time reading about all the computer science behind Rust before even writing my first program.
Is Rust easier than Python? ›Regarding ease of use and learning, Python is ahead of the Rust language. As mentioned earlier, Python has become one of the top programming languages used worldwide because of its ease of learning. If someone is learning to code for the first time, they should pick up Python than Rust.