Edition 2022 - Adrien Gras
Cette présentation se déroule dans le cadre du DevFest organisé par Developers Group Dijon le 2 Décembre 2022.
La présentation a pour but de présenter rapidement le langage Rust, ainsi que ses utilisations possibles, ses pours et ses contres, et un panel d'ouverture sur ce que pourrait devenir le langage dans les 10 prochaines années.
- Présentation personnelle
- Présentation de Rust
- Installation, premier programme
- Déploiement, packaging
- Rust, on en fait quoi ?
- Les performances
- En résumé
- 🎁
Et voici les slides : Lien vers la présentation
Vous pourrez trouver dans cette section quelques ressources utiles pour commencer Rust ou appronfondir vos connaissances.
Installation Rust sur toutes plateformes
Après avoir utilisé plusieurs IDE pour créer du code Rust, il s'avère que VSCode est le plus adapté et dispose du meilleur pack d'outils pour écrire efficacement du Rust.
Je vous recommande les extensions VS suivantes pour être efficace :
- Rust Analyzer - Code completion, imports, goto, références, documentation au survol, etc.
- Crates - Auto-complétion des fichiers Cargo depuis la base de paquets crates.io.
- Code LLDB - Breakpoints avancés, intégration du débugger au code, etc.
- Better TOML - Synthax highlight et auto-complétion des fichiers TOML.
- Error lens (optionnel) - Permet d'avoir les erreurs de compilation en bout de ligne de code en place des simples sous-lignages jaunes et rouges.
Vous trouverez l'installation de ces extensions et leurs configurations dans cette vidéo de Let's Get Rusty - IDE Setup For Rust Development
Voici un petit parcours pour apprendre à votre rythme à utiliser Rust et créer des applications :
- Le cookbook - Le cookbook pour commencer à apprendre et utiliser Rust 📙.
- Rust by examples - Des exemples concrêts pour comprendre Rust 🚀.
- Rustlings - Des exercices intéractifs pour apprendre Rust ⏩.
- Learn rust - Un plugin JetBrains vous permettrant d'apprendre Rust de manière dynamique 🎮.
Alternativement, Google vient de sotir un programme en 4 jours pour maitriser les bases de Rust, vous pouvez le trouver ici : Comprehensive Rust 🦀
- Let's Get Rusty - The rust lang book - playlist qui suit et explique le Rust cookbook.
- No Boilerplate - Rust makes you feel like a GENIUS - vidéo qui permet de comprendre facilement le concept de "borrow"
- Code to the moon - Rust Demystified 🪄 Simplifying The Toughest Parts - vidéo d'explication sur les concepts complexes à aborder pour un nouveau développeur
- Code to the moon - Rust's Alien Data Types 👽 Box, Rc, Arc - explication des types de smart-pointers
- Clap pour créer des CLI facilement.
- Serde pour la manipulation de JSON.
- Rocket comme framework web. (équivalent Symfony/Laravel, Django, etc.)
- Actix pour créer un serveur web rapidement. (Equivalent expressJS)
- Diesel comme ORM SQL. (Equivalent Doctrine, Sequelize, etc.)
- sqlx pour intéragir plus simplement avec une base de données.
- Rettle L'ETL simple et performant.
- yew pour un frontend moderne en Rust (Equivalent React)
- Rust + WASM ou WASM pour intégrer simplement Rust et Javascript.
- TauRi pour construire des apps hybrides (Equivalent Electron)
- Iced.rs pour construire des app types "client lourd".
- Bevy comme moteur de jeu-vidéo.
Vous pourrez trouver mes conteneurs docker prêt à l'emploi dans le dossier samples.
- Fireship - Rust in 100 seconds
- NoBoilerplate - Rust talks
- Fireship - Tauri in 100 seconds
- Fireship - WASM in 100 seconds
- kostya - benchmarks
- Vercel - benchmarks
Les sources de ce repository sont sous licence MIT.
La présentation et son contenu peuvent être utilisés de manière libre, à la seule condition de citer la source et l'auteur original.