TypeScript
JavaScript
Tipos
Desenvolvimento
React Native
Mobile

TypeScript pour les applications : guide de développement typé

TypeScript ajoute des types à JavaScript. Pour les applications, cela signifie moins de bugs, un meilleur DX et un code plus maintenable. Ce guide présente comment utiliser TypeScript dans le développement mobile.

Qu'est-ce que TypeScript

Définition

Surensemble JavaScript avec types statiques.

Relation avec JS

Tout JS valide est un TS valide.

###Compilation

Compile en JavaScript.

Adoption

Croissance massive. Standard pour les projets sérieux.

Pourquoi TypeScript

Détection précoce des erreurs

Erreurs au moment de la compilation, pas au moment de l'exécution.

Auto-complétion

IDE sait ce qui est possible.

Refactorisation

Modifications sécurisées à grande échelle.

###Documentations

Les types sont une documentation vivante.

Échelle d'équipe

Plusieurs développeurs alignés.

Types de base

Primitives

chaîne, nombre, booléen, nul, non défini.

Tableaux

nombre[], Tableau.

Objets

{ nom : chaîne ; âge : numéro }.

###Tout

Désinscription des types. Éviter.

Inconnu

Comme en sécurité quand on ne sait pas.

Interfaces et types

###Interface

Définit la forme des objets.

Tapez l'alias

Nom pour n’importe quel type.

###Différence

L'interface s'étend, tapez pour les syndicats.

Quand l'utiliser

Interface pour les objets, tapez pour la composition.

Types avancés

###Syndicat

chaîne | nombre.

Intersection

TypeA et TypeB.

Génériques

Array, fonction qui fonctionne avec n'importe quel type.

Types littéraux

"succès" | "erreur".

###Types d'utilitaires

Partiel, Obligatoire, Choisir, Omettre.

TypeScript dans React Native

###Configuration

Modèle TypeScript disponible.

###Composants

Accessoires et état tapés.

Navigation

Réagissez à la navigation avec les types.

État

Redux/Zustand avec types.

###API

Réponses dactylographiées.

Composants de saisie

Interface des accessoires

accessoires d'interface { titre : chaîne ; onPress : () => vide ; }

Accessoires facultatifs

titre ? : chaîne.

Accessoires par défaut

Valeurs par défaut avec déstructuration.

###Enfants

React.ReactNode.

API de saisie

Types de réponses

interface Utilisateur { identifiant : chaîne ; nom : chaîne ; }

Génériques

fonction asynchrone fetch(url : string) : Promise

Zod/Ouais

Validation d'exécution + types.

Gestion de l'état

Redux

createSlice avec des types.

Zustand

Interface du magasin.

Contexte

Type de valeur de contexte.

##Types de navigation

Réagir à la navigation

StackParamList pour les itinéraires typés.

Paramètres d'itinéraire

Paramètres saisis entre les écrans.

utiliser la navigation

Crochet typé.

##Configuration

tsconfig.json

Options de construction.

Mode strict

Sécurité maximale. Utilisez toujours.

Alias de chemin

@/components pour des importations propres.

Migration de JS vers TS

Progressive

Renommez .js en .ts progressivement.

autoriser les Js

Autorisez JS lors de la migration.

tout Temporaire

Utilisez pour migrer rapidement, supprimez plus tard.

Strict plus tard

Activez strict après la migration.

Modèles

Syndicats discriminés

tapez State = {statut : 'chargement' } | { statut : 'succès' ; date : Date }.

Vérifications exhaustives

Switch qui garantit tous les cas.

Assertions Const

comme const pour les littéraux.

Erreurs courantes

n'importe où, partout

Perd les avantages de type.

Ignorer les erreurs

// @ts-ignore inutilement.

Sur-dactylographie

Des types trop complexes.

Ne pas utiliser Strict

Manque des validations importantes.

Outils

VSCode

Excellent support natif.

ESLint

@typescript-eslint pour le peluchage.

Plus joli

Formatage cohérent.

##Performances

Temps de compilation

Peut être lent sur les grands projets.

Durée d'exécution

Zéro frais généraux. Les types sont supprimés.

Taille du paquet

Identique à JavaScript.

Conclusion

TypeScript est un investissement qui rapporte en qualité et en productivité. Pour les applications, cela signifie moins de bugs en production, une refactorisation sécurisée et une intégration plus facile des nouveaux développeurs.

##FAQ

1) TypeScript est-il plus lent ? Compilation oui. Lors de l'exécution, il n'y a aucune différence.

2) Dois-je tout saisir ? TypeScript en déduit beaucoup. Tapez si nécessaire.

3) Est-ce valable pour un petit projet ? Oui. Des avantages dès le début.

4) Comment démarrer avec un projet existant ? Petit à petit. Fichier par fichier.

5) TypeScript fonctionne-t-il avec React Native ? Parfaitement. Modèle officiel disponible.

A lire aussi