TypeScript
JavaScript
Tipos
Desenvolvimento
React Native
Mobile

TypeScript per applicazioni: guida allo sviluppo digitato

TypeScript aggiunge tipi a JavaScript. Per le applicazioni, ciò significa meno bug, migliore DX e codice più gestibile. Questa guida presenta come utilizzare TypeScript nello sviluppo mobile.

Cos'è TypeScript

Definizione

Superset JavaScript con tipi statici.

Rapporto con JS

Tutti i JS validi sono TS validi.

Compilazione

Compila in JavaScript.

Adozione

Crescita massiccia. Standard per progetti seri.

Perché TypeScript

Rileva tempestivamente gli errori

Errori in fase di compilazione, non in fase di esecuzione.

Completamento automatico

L'IDE sa cosa è possibile.

Refactoring

Cambiamenti sicuri su larga scala.

Documentazione

I tipi sono documentazione vivente.

Scala di squadra

Più sviluppatori allineati.

Tipi di base

Primitivi

stringa, numero, booleano, null, non definito.

Array

numero[], Array.

Oggetti

{ nome: stringa; età: numero }.

###Qualsiasi

Disattivazione dei tipi. Evitare.

Sconosciuto

Come al sicuro quando non lo sai.

Interfacce e tipi

Interfaccia

Definisce la forma degli oggetti.

Digita Alias

Nome per qualsiasi tipo.

###Differenza

L'interfaccia si estende, digita per i sindacati.

Quando usarlo

Interfaccia per oggetti, tipo per composizione.

Tipi avanzati

###Unione

stringa | numero.

Intersezione

Tipo A e Tipo B.

Generici

Array, funzione che funziona con qualsiasi tipo.

Tipi letterali

"successo" | "errore".

Tipi di utilità

Parziale, Obbligatorio, Scegli, Ometti.

TypeScript in React Native

###Configurazione

Modello TypeScript disponibile.

###Componenti

Oggetti di scena e stato digitati.

Navigazione

Reagire alla navigazione con i tipi.

Stato

Redux/Zustand con tipi.

###API

Risposte digitate.

Componenti di digitazione

Interfaccia degli oggetti di scena

Props interfaccia {titolo: stringa; onPress: () => vuoto; }

Oggetti di scena opzionali

titolo?: stringa.

Oggetti di scena predefiniti

Valori di default con destrutturazione.

###Bambini

React.ReactNode.

API di digitazione

Tipi di risposta

interfaccia Utente { id: stringa; nome: stringa; }

Generici

funzione asincrona fetch(url: stringa): Promise

Zod/Sì

Convalida runtime + tipi.

Gestione statale

Riduzione

createSlice con i tipi.

Zustand

Interfaccia del negozio.

Contesto

Tipo di valore di contesto.

Tipi di navigazione

Reagisci alla navigazione

StackParamList per percorsi tipizzati.

Parametri percorso

Parametri digitati tra le schermate.

usaNavigazione

Gancio digitato.

##Configurazione

tsconfig.json

Opzioni di creazione.

Modalità rigorosa

Massima sicurezza. Usalo sempre.

Alias del percorso

@/components per importazioni pulite.

Migrazione da JS a TS

Graduale

Rinominare .js in .ts in modo incrementale.

consentiJs

Consenti JS durante la migrazione.

qualsiasi Temporaneo

Utilizzare per migrare rapidamente, rimuovere in seguito.

Rigoroso più tardi

Abilita rigoroso dopo la migrazione.

Modelli

Sindacati discriminati

tipo Stato = { stato: 'caricamento in corso' } | {stato: 'successo'; data: Data }.

Controlli approfonditi

Switch che garantisce tutti i casi.

Affermazioni costanti

come const per i letterali.

Errori comuni

qualsiasi Ovunque

Perde i benefici del tipo.

Ignorare gli errori

// @ts-ignore inutilmente.

Sovrascrittura

Tipi troppo complessi.

Non utilizzare Strict

Manca convalide importanti.

Strumenti

Codice VS

Ottimo supporto nativo.

ESLint

@typescript-eslint per lanugine.

Più carino

Formattazione coerente.

##Prestazioni

Tempo di compilazione

Può essere lento nei progetti di grandi dimensioni.

Tempo di esecuzione

Zero spese generali. I tipi vengono rimossi.

Dimensioni del pacchetto

Uguale a JavaScript.

Conclusione

TypeScript è un investimento che ripaga in qualità e produttività. Per le app, ciò significa meno bug in produzione, refactoring sicuro e onboarding più semplice di nuovi sviluppatori.

##Domande frequenti

1) TypeScript è più lento? Compilazione sì. In termini di runtime non c'è differenza.

2) Devo digitare tutto? TypeScript deduce molto. Digitare secondo necessità.

3) È valido per un piccolo progetto? Sì. Vantaggi fin dall'inizio.

4) Come iniziare con un progetto esistente? A poco a poco. File per file.

5) TypeScript funziona con React Native? Perfettamente. Modello ufficiale disponibile.

Leggi anche