Apprendre les fondamentaux de Scala
- Comprendre la syntaxe de base et la structure du langage
- Maîtriser les types de données et l'inférence de types
- Utiliser les variables, les constantes et l'immutabilité
- Appliquer les opérations et les expressions
- Créer des fonctions et des lambdas
- Gérer les erreurs avec les exceptions
Explorer la programmation orientée objet en Scala
- Aborder les concepts fondamentaux de la programmation orientée objet (POO)
- Créer des classes et des objets en Scala
- Maîtriser l'héritage et le polymorphisme
- Comprendre les traits et leur rôle dans la composition de comportements
- Gérer l'encapsulation et la visibilité des éléments
- Utiliser les méthodes, les constructeurs et les destructeurs
Découvrir la programmation fonctionnelle en Scala
- Faire une introduction à la programmation fonctionnelle
- Manipuler les fonctions de première classe et les fonctions d'ordre supérieur
- Mettre en œuvre l'immutabilité et gérer les données de manière fonctionnelle
- Explorer la récursivité et la récursion terminale
- Maîtriser la manipulation de collections fonctionnelles
- Comprendre les monades et gérer les effets
Maîtriser la concurrence et le parallélisme
- Comprendre les concepts de concurrence et de parallélisme
- Gérer la concurrence en utilisant les fonctionnalités de Scala
- Utiliser les threads, les acteurs et le framework Akka
- Appliquer la programmation asynchrone et réactive
- Manipuler les collections parallèles
- Gérer les verrous et les ressources partagées
Approfondir la programmation avancée en Scala
- Appliquer le pattern matching et la décomposition
- Utiliser les implicites et les conversions implicites
- Explorer la méta-programmation et la réflexion
- Manipuler de manière avancée les types de données
- Effectuer la manipulation de fichiers et d'entrées/sorties
- Assurer une intégration fluide avec Java et interagir entre les deux langages
Réaliser le développement d'applications Scala
- Faire une introduction au développement d'applications en Scala
- Utiliser des frameworks web tels que Play Framework
- Mettre en place l'accès aux bases de données et la persistance des données
- Mettre en œuvre les tests unitaires et les tests d'intégration
- Gérer le déploiement et la gestion des applications Scala
- Appliquer les bonnes pratiques de développement et d'architecture