Développer avec Rust

Introduction au développement Rust

Objectifs

  • Penser comme un « rustacé »
  • Écrire du code Rust idiomatique
  • Compiler et tester le code
  • Choisir la structure de données appropriée
  • Utiliser la documentation et les bibliothèques les plus courantes
  • Comprendre les forces et les faiblesses de Rust
  • Concevoir et mettre en œuvre leur première application dans Rust

Programme de la formation

Introduction

  • En quoi Rust est-il différent ?
    • Temps d’exécution
    • Gestion des erreurs
    • Sécurité
    • Multithreading
  • Paradigmes de programmation

Bases

  • Types primitifs
  • Les fonctions
  • Variables et mutabilité
  • Flux de contrôle
  • Types de données structurées
  • Énumérations (enum, match, Option)

Comprendre la propriété et les références

  • La possession
  • Références et emprunts
  • Tranches
  • Durée de vie
  • Types contenant des références

Types avancés

  • Collections (chaîne, Vec, HashMap)
  • Itérateurs
  • Gestion des erreurs (Résultat, propagation, panique)
  • Fermetures

Génériques

  • Types génériques
  • Limites des traits
  • Caractéristiques standards
    • Surcharge de l’opérateur

Environnement de développement

  • Installation et configuration de Rust (rustup, packages système)
  • Utilisation du compilateur et du système de construction (rustc, cargo)
  • Le gestionnaire de colis Cargo (cargo et crates.io)
  • Tests unitaires
  • Documentation : rustdoc
  • Environnements et IDE

Multithreading

  • Communication inter-thread
  • Partage de données
  • Envoi et synchronisation des traits

Rouille avancée

  • Macros
  • Utilisation du code C/C++ dans Rust
  • Utilisation du code Rust dans C/C++
  • Rouille dangereuse

Bibliothèques et écosystème standard

  • std ::*
    • Sérialisation à l’aide de serde
    • E/S non bloquantes utilisant tokio
    • Interrogation des bases de données
    • serveur Web
Please login to get access to the quiz
(Next Lesson) Rust, Développement avancé
Back to Développer avec Rust
Public

Développeurs

Pré-requis

Connaissance basique en programmation et de Linux/unix

Sur le même thème