In questo corso di 5 giorni, gli sviluppatori web professionisti impareranno a sviluppare applicazioni ASP.NET Core avanzate utilizzando strumenti e tecnologie .NET. L'attenzione si concentrerà sulle attività di codifica che migliorano le prestazioni e la scalabilità dell'applicazione del sito Web.
Questo corso è destinato agli sviluppatori Web professionisti che utilizzano Microsoft Visual Studio in un ambiente di sviluppo individuale o in team, di piccole e grandi dimensioni. I candidati a questo corso sono interessati allo sviluppo di applicazioni Web avanzate e desiderano gestire l'HTML renderizzato in modo completo. Vogliono creare siti Web che separino l'interfaccia utente, l'accesso ai dati e la logica dell'applicazione. Lo sviluppo lato server utilizzerà il linguaggio C# ed è un eccellente corso successivo al nostro corso Programmazione in C#. Lo sviluppo lato client utilizzerà JavaScript, CSS e HTML5, per i quali è disponibile anche un corso introduttivo corrispondente.
Le tecnologie Web Microsoft ASP.NET Core possono aiutarti a creare e ospitare applicazioni Web dinamiche, potenti ed estensibili. ASP.NET Core è un framework open source e multipiattaforma basato su .NET, che consente di creare applicazioni Web. È possibile sviluppare ed eseguire applicazioni Web ASP.NET Core su Windows, macOS, Linux o qualsiasi altra piattaforma che le supporti. ASP.NET Core supporta un ciclo di sviluppo agile e basato su test. Consente inoltre di utilizzare gli standard HTML e i framework front-end più recenti come Angular, React e altri.
Laboratorio 1: Esplorazione di ASP.NET Core
Dopo aver completato questo modulo, gli studenti saranno in grado di:
Microsoft ASP.NET Core è un modello di programmazione che puoi utilizzare per creare applicazioni Web potenti e complesse. Tuttavia, tutti i progetti di sviluppo complessi, e in particolare i progetti di grandi dimensioni, possono essere difficili e complessi da comprendere appieno. Senza una comprensione completa degli scopi di un progetto, non è possibile sviluppare una soluzione efficace al problema del cliente. È necessario sapere come identificare una serie di esigenze aziendali, quindi effettuare scelte tecnologiche e pianificare l'applicazione Web in modo da soddisfare tali esigenze. La fase di pianificazione garantisce alle parti interessate la comprensione dei loro requisiti e comunica agli sviluppatori la funzionalità dell'applicazione web, la sua interfaccia utente, la struttura e l'archiviazione dei dati.
Laboratorio 1: Progettazione di applicazioni Web ASP.NET Core MVC
Dopo aver completato questo modulo, gli studenti saranno in grado di:
ASP.NET Core è un framework che ci permette di creare molti tipi di applicazioni. In questo modulo esamineremo innanzitutto più in dettaglio ASP.NET Razor Pages, un modo rapido per creare un'applicazione web che non richieda la complessità del modello MVC. Quindi esamineremo il middleware, che ha un significato particolare nel contesto della pipeline di richieste ASP.NET Core e potenzialmente consente di gestire più richieste separate in un modo completamente diverso e ricevere risposte separate. Imparerai come sfruttare il framework ASP.NET Core per gestire richieste e risposte tramite middleware esistente e personalizzato e come configurare i servizi da utilizzare nel middleware e in altre parti dell'applicazione, come i controller. Esamineremo anche i Servizi, classi che espongono funzionalità che è possibile utilizzare in seguito in diverse parti dell'applicazione. Ciò è possibile senza dover tenere traccia manualmente dell'ambito in ogni singola posizione o creare un'istanza di dipendenze utilizzando Dependency Injection. Dependency Injection è una tecnica utilizzata da ASP.NET Core che ci consente di aggiungere dipendenze al codice senza doverci preoccupare di creare istanze di oggetti, conservarli in memoria o trasmettere le dipendenze richieste.
Laboratorio 1: Utilizzo di Razor Pages e Middleware
Dopo aver completato questo modulo, gli studenti saranno in grado di:
ASP.NET Core MVC è un framework per la creazione di applicazioni Web utilizzando il pattern architettonico Model-View-Controller (MVC). Il Controller è essenzialmente responsabile dell'elaborazione di una richiesta web interagendo con il modello e quindi trasmettendo i risultati alla vista. Il modello rappresenta il livello aziendale e può includere oggetti dati, logica applicativa e regole aziendali. La vista utilizza i dati che riceve dal controller per produrre l'HTML o altro output che viene rispedito al browser. In questo modulo ci concentreremo sullo sviluppo di controller, classi specializzate che sono fondamentali per le applicazioni MVC. Comprendere come funzionano i controller è fondamentale per poter creare gli oggetti del modello appropriati, manipolarli e passarli alle viste appropriate. I controller dispongono di diversi metodi denominati «azioni». Quando un'applicazione MVC riceve una richiesta, trova quale controller e azione devono gestire la richiesta. Lo determina utilizzando il routing Uniform Resource Locator (URL), un altro concetto molto importante necessario per lo sviluppo di applicazioni MVC. Vedremo anche come massimizzare il riutilizzo del codice nei controller scrivendo filtri di azione.
Laboratorio 1: Sviluppo di controller
Dopo aver completato questo modulo, gli studenti saranno in grado di:
Le viste sono uno dei tre componenti principali del modello di programmazione Model-View-Controller (MVC). È possibile definire l'interfaccia utente per l'applicazione Web creando viste, una combinazione di markup HTML e codice C# che viene eseguita su un server Web. Per creare una vista, è necessario sapere come scrivere il markup HTML e il codice C# e utilizzare le varie classi di supporto integrate in MVC. Devi anche sapere come creare viste parziali e visualizzare componenti, che renderizzano sezioni di HTML che possono essere riutilizzate nella tua applicazione web. Esamineremo anche più in dettaglio la sintassi di markup Razor per incorporare codice basato su .NET nelle pagine web.
Laboratorio 1: Sviluppo di punti di vista
Dopo aver completato questo modulo, gli studenti saranno in grado di:
La maggior parte delle applicazioni Web interagisce con vari tipi di dati o oggetti. Un'applicazione di e-commerce, ad esempio, gestisce prodotti, carrelli della spesa, clienti e ordini. Un'applicazione di social networking può aiutare a gestire utenti, aggiornamenti di stato, commenti, foto e video. Un blog viene utilizzato per gestire post di blog, commenti, categorie e tag. Quando scrivi un'applicazione web Model-View-Controller (MVC), crei un modello MVC per modellare i dati per la tua applicazione web. All'interno di questo modello, si crea una classe di modello per ogni tipo di oggetto. La classe del modello descrive le proprietà di ogni tipo di oggetto e può includere la logica aziendale corrispondente ai processi aziendali. Pertanto, il modello è un elemento fondamentale in un'applicazione MVC. Esamineremo anche la convalida dell'input dell'utente.
Laboratorio 1: Sviluppo di modelli
Dopo aver completato questo modulo, gli studenti saranno in grado di:
Le applicazioni Web richiedono spesso un archivio dati per informazioni dinamiche, ad esempio per creare un'applicazione Web che cambia continuamente in risposta all'input dell'utente, alle azioni amministrative e agli eventi di pubblicazione. L'archivio dati è in genere un database, ma vengono utilizzati anche altri tipi di archivi dati. Nelle applicazioni Model-View-Controller (MVC), è possibile creare un modello che implementa la logica di accesso ai dati e la logica aziendale. In alternativa, è possibile separare la logica aziendale dalla logica di accesso ai dati utilizzando una classe di repository che un controller può utilizzare per leggere o scrivere su un archivio dati sottostante. Quando si scrive un'applicazione ASP.NET è possibile utilizzare le tecnologie Entity Framework Core (EF Core) e Language Integrated Query (LINQ), che rendono il codice di accesso ai dati molto veloce da scrivere e semplice da comprendere. In questo modulo, vedrete come creare un sito Web basato su database in ASP.NET Core utilizzando Entity Framework.
Laboratorio 1: Utilizzo di Entity Framework Core in ASP.NET Core
Dopo aver completato questo modulo, gli studenti saranno in grado di:
Durante la creazione di applicazioni Web, è necessario applicare un aspetto coerente all'applicazione. In genere includi sezioni di intestazione e piè di pagina e controlli di navigazione coerenti in tutte le visualizzazioni. A tale scopo, Microsoft ASP.NET Core utilizza modelli speciali denominati layout, insieme a fogli di stile CSS (Cascading Style Sheets) per migliorare l'aspetto e l'usabilità dell'applicazione Web. È inoltre possibile creare elementi HTML interattivi utilizzando JavaScript per fornire codice lato client nell'applicazione Web, insieme a librerie JavaScript sul lato client.
Laboratorio 1: Utilizzo di layout, CSS e JavaScript in ASP.NET Core
Dopo aver completato questo modulo, gli studenti saranno in grado di:
Quando si crea un'applicazione, è importante sapere come sviluppare codice sia lato client che lato server per l'applicazione. In questo modulo imparerai gli strumenti lato client che ti permetteranno di creare applicazioni web complesse su qualsiasi scala, incluso l'uso del framework CSS Bootstrap per modellare la tua applicazione web. Imparerai a usare Sass, un preprocessore CSS che aggiunge funzionalità simili a codice come variabili, regole annidate e funzioni, che migliorano la manutenibilità di fogli di stile CSS complessi. Imparerai i principi del responsive design che ti consentono di adattare la tua applicazione web in base alle funzionalità del browser web o del dispositivo utilizzando le media query CSS e come utilizzare un sistema a griglia reattiva. Successivamente, imparerai come configurare il task runner gulp e usarlo per compilare file Sass durante la compilazione ed eseguire il raggruppamento e la minimizzazione di file CSS e JavaScript e come impostare un task watcher per compilare automaticamente i file Sass mentre scrivi il codice. Infine, introdurremo il framework Blazor per la creazione di un'interfaccia utente web interattiva lato client con .NET.
Laboratorio 1: Sviluppo lato client
Dopo aver completato questo modulo, gli studenti saranno in grado di:
Il processo di sviluppo del software comporta inevitabilmente errori di codifica o bug che comportano eccezioni, comportamenti imprevisti o risultati errati. Per migliorare la qualità della tua applicazione web e fornire una buona esperienza utente, devi identificare i bug da qualsiasi fonte ed eliminarli. Nello sviluppo software tradizionale, i tester eseguono la maggior parte dei test alla fine di un progetto di sviluppo. Tuttavia, negli ultimi anni è diventato ampiamente accettato che i test durante l'intero ciclo di vita del progetto migliorino la qualità del codice e riducano notevolmente la quantità di bug nel software di produzione. È necessario capire come eseguire test sui singoli componenti per assicurarsi che funzionino come previsto prima di assemblarli in un'applicazione web completa. È inoltre importante sapere come gestire le eccezioni quando si verificano e gestirle correttamente per fornire un feedback adeguato agli utenti, senza divulgare informazioni sulla struttura dell'applicazione. Infine, utilizzando la registrazione in tutta l'applicazione, è possibile monitorare le attività degli utenti che potrebbero causare problemi imprevisti e risolvere i problemi di produzione tracciando i flussi nell'applicazione.
Laboratorio 1: Test e risoluzione dei problemi
Dopo aver completato questo modulo, gli studenti saranno in grado di:
le applicazioni vengono normalmente distribuite tramite un browser Web, tramite Internet pubblico, a un gran numero di utenti. Ciò significa che la sicurezza deve essere sempre al primo posto quando si creano queste applicazioni, poiché, oltre agli utenti legittimi, l'applicazione sarà esposta a terze parti malintenzionate. Gli utenti possono avere un accesso anonimo o un'identità autenticata e tu devi decidere quali utenti possono eseguire quali azioni. L'autenticazione è l'atto di stabilire l'identità di un utente, mentre l'autorizzazione è il processo in cui a un utente già autenticato viene concesso l'accesso a specifiche azioni o risorse. Utilizzando l'autorizzazione, è possibile impedire agli utenti di accedere a materiale o informazioni e risorse sensibili destinati a un altro utente o impedire loro di eseguire determinate azioni. I costi delle violazioni della sicurezza possono essere molto elevati, con conseguente perdita di dati, azioni legali e danni alla reputazione. Quindi, nella sezione finale esamineremo alcuni attacchi dannosi specifici come il cross-site scripting e l'SQL injection e come difenderci da essi.
Laboratorio 1: Gestione della sicurezza
Dopo aver completato questo modulo, gli studenti saranno in grado di:
Le moderne applicazioni web devono essere in grado di rispondere rapidamente a un gran numero di richieste degli utenti in un breve lasso di tempo. La memorizzazione nella cache consente di archiviare richieste comuni, evitando la necessità di eseguire ripetutamente la stessa logica. Ciò fornisce all'utente un tempo di risposta rapido e riduce le risorse di sistema utilizzate per condurre la logica dell'azione. Utilizzando varie forme di gestione dello stato, è possibile creare applicazioni stateful sulla base di protocolli web stateless, per fornire risposte personalizzate in base ai singoli contesti utente all'interno della stessa applicazione. Infine, SignalR è un'API di comunicazione bidirezionale facile da usare che è un'astrazione di diversi protocolli di comunicazione web. Ciò consente di creare una logica lato server per inviare contenuti ad applicazioni Web basate su browser in tempo reale.
Laboratorio 1: Prestazioni e comunicazione
Dopo aver completato questo modulo, gli studenti saranno in grado di:
La maggior parte delle applicazioni web richiede l'integrazione con sistemi esterni. I servizi REST (Representational State Transfer) aiutano a ridurre il sovraccarico delle applicazioni e limitano i dati trasmessi tra sistemi client e server utilizzando standard aperti. È necessario sapere come esporre un'API Web che implementa i servizi REST nell'applicazione ASP.NET. È inoltre necessario sapere come chiamare un'API Web utilizzando codice lato server e lato client per utilizzare API Web esterne in stile REST.
Laboratorio 1: Implementazione delle API Web
Dopo aver completato questo modulo, gli studenti saranno in grado di: