5 giorni
Avanzato
.NET
Sviluppatore
In questo corso di cinque giorni, gli sviluppatori web professionisti imparano a sviluppare applicazioni MVC ASP.NET Core avanzate utilizzando strumenti e tecnologie .NET Core. Il corso è focalizzato sulle attività di codifica che possono migliorare le prestazioni e la scalabilità dell’applicazione del sito Web.
Prima di partecipare a questo corso, gli studenti devono avere:
Microsoft ASP.NET Core MVC e le altre tecnologie Web di ASP.NET Core possono aiutare a creare e ospitare applicazioni Web dinamiche, potenti ed estensibili. ASP.NET Core, di cui ASP.NET Core MVC è un framework multipiattaforma open source che consente di creare applicazioni Web. È possibile sviluppare ed eseguire applicazioni Web ASP.NET Core su Windows, macOS, Linux o qualsiasi altra piattaforma che lo supporti.
ASP.NET Core MVC supporta un ciclo di sviluppo agile e guidato dai test. Consente inoltre di utilizzare i più recenti standard HTML e framework front-end come Angular, React e altri.
Al termine di questo corso, gli studenti saranno in grado di:
Microsoft ASP.NET Core MVC è un modello di programmazione che è possibile utilizzare per creare applicazioni Web potenti e complesse. Tuttavia, tutti i progetti di sviluppo complessi, in particolare i grandi progetti, possono essere difficili da comprendere appieno. Senza una completa comprensione degli scopi di un progetto, non è possibile sviluppare una soluzione efficace al problema del cliente. È necessario sapere come identificare una serie di esigenze aziendali e pianificare l’applicazione Web Model-View-Controller (MVC) per soddisfare tali esigenze. Il piano di progetto assicura agli stakeholder di avere compreso i loro requisiti e comunica agli sviluppatori la funzionalità dell’applicazione Web, la sua interfaccia utente, la struttura e l’archiviazione dei dati. Scrivendo un piano di progetto dettagliato e accurato, è possibile garantire che le potenti funzionalità di MVC vengano utilizzate in modo efficace per risolvere i problemi aziendali del cliente.
Al termine di questo modulo gli studenti saranno in grado di:
ASP.NET Core è un framework che consente di creare diversi tipi di applicazioni. Questo modulo mostra come sfruttare il framework ASP.NET Core per gestire le richieste e le risposte tramite middleware esistente e personalizzato e come configurare i servizi da utilizzare nel middleware e in altre parti dell’applicazione, come i controller. Un middleware è un segmento di codice che può essere utilizzato come parte della pipeline di richiesta e risposta che consente di gestirli secondo qualsiasi parametro rilevante. Ciò consente potenzialmente di gestire più richieste separate in modo completamente diverso e ricevere risposte separate. I servizi sono classi che espongono funzionalità che è possibile utilizzare successivamente in diverse parti dell’applicazione, senza dover tenere traccia manuale dell’ambito di ogni singola posizione e creare istanze di dipendenze. Ciò viene fatto usando l’inserimento delle dipendenze. L’inserimento delle dipendenze è una tecnica utilizzata da ASP.NET Core che consente di aggiungere dipendenze nel codice senza doversi preoccupare di creare istanze di oggetti, tenerli in memoria o passare dipendenze richieste. Ciò consente all’applicazione di diventare più flessibile e di ridurre potenziali punti di errore ogni volta che si cambia un servizio.
ASP.NET Core MVC è un framework per la creazione di applicazioni Web utilizzando il modello di architettura Model-View-Controller (MVC). Il controller è essenzialmente responsabile dell’elaborazione di una richiesta Web interagendo con il modello e quindi passando i risultati alla vista. Il modello rappresenta il livello aziendale, a volte indicato come dominio, e può includere oggetti dati, logica dell’applicazione e regole aziendali. La vista utilizza i dati che riceve dal controller per produrre l’HTML o altro output che viene inviato al browser. Questo modulo mostra come sviluppare i controller. I controller sono fondamentali per le applicazioni MVC. Comprendere come funzionano i controller è fondamentale per poter creare gli oggetti modello appropriati, manipolarli e passarli alle viste appropriate. Un controller è una classe. Contiene diversi metodi. Questi metodi sono chiamati azioni. Quando un’applicazione MVC riceve una richiesta, identifica il controller e l’azione che devono gestire la richiesta. Determina ciò utilizzando il routing URL (Uniform Resource Locator). Il routing URL è un altro concetto molto importante e necessario per lo sviluppo di applicazioni MVC. Il framework ASP.NET Core MVC include un sistema di routing URL flessibile che consente di definire regole di mapping URL all’interno delle applicazioni. Per massimizzare il riutilizzo del codice nei controller, è importante sapere come scrivere i filtri di azione. È possibile utilizzare i filtri di azione per eseguire il codice prima o dopo ogni azione nell’applicazione Web, per ogni azione in un controller o in altre combinazioni di azioni del controller.
Le viste sono uno dei tre componenti principali del modello di programmazione Model-View-Controller (MVC). Creando delle viste è possibile definire l’interfaccia utente dell’applicazione Web. Una vista è una combinazione di markup HTML e codice C# che viene eseguita su un server Web. Pertanto, 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. Occorre anche sapere come creare viste parziali e visualizzare componenti che creino sezioni di HTML che possano essere riutilizzate nella propria applicazione web.
La maggior parte delle applicazioni Web interagisce con vari tipi di dati o di oggetti. Un’applicazione di e-commerce, ad esempio, gestisce prodotti, carrelli della spesa, clienti e ordini. Un’applicazione di social network potrebbe aiutare a gestire utenti, aggiornamenti di stato, commenti, foto e video. Un blog viene utilizzato per gestire post, commenti, categorie e tag. Quando si scrive un’applicazione Web Model-View-Controller (MVC) si crea un modello MVC per modellare i dati per l’applicazione Web. All’interno di questo modello si crea una classe di modello per ciascun tipo di oggetto. La classe del modello descrive le proprietà di ciascun tipo di oggetto e può includere la logica aziendale che corrisponde ai processi aziendali. Pertanto, in un’applicazione MVC il modello è un componente fondamentale. Questo modulo illustra come creare il codice per i modelli.
Le applicazioni Web utilizzano spesso le informazioni e di solito richiedono un archivio dati per tali informazioni. Eseguendo il rendering di pagine Web che utilizzano dati da un archivio è possibile creare un’applicazione Web che cambi continuamente in risposta all’input dell’utente, alle azioni amministrative e agli eventi di pubblicazione. L’archivio dati è generalmente un database, ma occasionalmente vengono utilizzati altri tipi di archivi. Nelle applicazioni Model-View-Controller (MVC) è possibile creare un modello che implementi la logica di accesso ai dati e la logica aziendale. In alternativa, è possibile separare la logica aziendale dalla logica di accesso ai dati utilizzando un repository. Un repository è una classe che un controller può chiamare per leggere dati da un archivio e scrivere dati in un archivio. 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. Questo modulo mostra come creare un sito Web basato su database in MVC.
Durante la creazione di applicazioni Web, è necessario dare all’intera applicazione un aspetto coerente. È necessario includere sezioni di intestazione e piè di pagina coerenti in tutte le viste. Microsoft ASP.NET Core MVC include funzionalità come stili e layout dei fogli di stile CSS (CSS) che migliorano l’aspetto e l’usabilità dell’applicazione Web. In ASP.NET Core MVC, è possibile creare elementi HTML interattivi utilizzando JavaScript. Occorre sapere come usare JavaScript nella propria applicazione web. Per semplificare l’aggiunta di JavaScript all’applicazione Web, è necessario sapere come utilizzare librerie come jQuery.
Quando si crea un’applicazione è importante sapere come sviluppare l’applicazione sia lato client sia lato server. Questo modulo illustra gli strumenti lato client che permettono di creare applicazioni web complesse su qualsiasi scala. Questi strumenti si basano sugli argomenti trattati nel Modulo 8, “Utilizzo di layout, CSS e JavaScript in ASP.NET Core MVC”. Questo modulo mostra come utilizzare il framework Bootstrap per modellare la propria applicazione web. Pertanto spiega come usare Sass e Less, due preprocessori CSS (Cascading Style Sheets) comuni che aggiungono ai CSS una serie di funzionalità come variabili, regole nidificate e funzioni. Queste funzionalità migliorano notevolmente la manutenibilità di applicazioni web complesse. Successivamente, il corso mostra come impostare i runner di attività come Grunt e gulp e come usarli per compilare i file Sass durante la compilazione di Microsoft Visual Studio. Spiega anche come utilizzare il task runner gulp per eseguire il raggruppamento e la minimizzazione di file CSS e JavaScript e come impostare un’attività di controllo per compilare i file Sass mentre si scrive il codice, senza la necessità di ricostruire la soluzione. Infine, tratterà alcuni strumenti di progettazione responsive che consentono di personalizzare la visualizzazione della propria applicazione web in base alle capacità e alle specifiche di un browser Web o di un dispositivo. Lo studente impara a scrivere query multimediali CSS, apprende come utilizzare il sistema a griglia responsive Bootstrap e come applicare il layout del flexbox CSS alle proprie viste.
I sistemi software come le applicazioni Web sono complessi e richiedono l’interazione tra più componenti spesso scritte da sviluppatori diversi. Ipotesi errate, comprensione imprecisa, errori di codifica e molti altri fattori possono creare bug che provocano eccezioni o comportamenti imprevisti. Per migliorare la qualità della propria applicazione web e creare un’esperienza utente soddisfacente occorre identificare i bug di qualsiasi provenienza ed eliminarli. Tradizionalmente, i tester eseguono la maggior parte delle prove alla fine di un progetto di sviluppo. Tuttavia, recentemente è stato ampiamente riconosciuto che i test eseguiti durante l’intero ciclo di vita del progetto migliorano la qualità e assicurano l’assenza di bug nel software di produzione. È necessario comprendere come eseguire i test su piccoli componenti dell’applicazione Web per assicurarsi che funzionino come previsto prima di assemblarli in un’applicazione Web completa. È anche importante sapere come gestire le eccezioni mentre si verificano. Durante l’esecuzione di un’applicazione è possibile che si verifichino eventi imprevisti. È importante gestire correttamente le eccezioni e fornire un buon feedback agli utenti evitando al contempo di far trasparire informazioni sulla struttura dell’applicazione. Infine, utilizzando i log in tutta l’applicazione, è possibile monitorare le attività degli utenti che potrebbero portare a problemi imprevisti e quindi è possibile trovare soluzioni ai bug, che normalmente non si è sicuri su come riprodurli, seguendo i flussi che si sono verificati nell’ambiente di produzione e trovando ulteriori errori.
Poiché le applicazioni Web sono normalmente indirizzate agli utenti che utilizzano solo un browser per far girare l’applicazione è probabile che ci siano molti più utenti rispetto al caso delle applicazioni installate. Tuttavia, la natura aperta di un’applicazione web significa che la sicurezza deve essere sempre presente nella mente dello sviluppatore. Come parte della sicurezza è necessario decidere quali utenti possano eseguire le azioni, il tutto proteggendo gli utenti e l’applicazione rispetto a terze parti dannose con possibile accesso all’applicazione. L’autenticazione è l’atto di utilizzare diversi parametri per assicurarsi che un utente sia chi afferma di essere. Implementando l’autenticazione, è possibile verificare l’identità degli utenti e fornire loro i contenuti appropriati durante l’utilizzo delle applicazioni. L’autorizzazione è il processo in cui un utente già autenticato nell’applicazione può avere accesso ad azioni o risorse specifiche. Utilizzando l’autorizzazione, è possibile impedire agli utenti di accedere a materiale sensibile non previsto per loro o di eseguire azioni che non dovrebbero essere in grado di fare. Infine, a un certo punto della loro vita, le applicazioni potrebbero essere attaccate da utenti malintenzionati. Questi attacchi possono variare nei mezzi e nelle intenzioni, ma il costo dell’assenza di difese può essere elevato. Si potrebbero perdere potenziali utenti interessati, dati preziosi potrebbero essere erroneamente modificati e, nei casi peggiori, l’intera applicazione potrebbe diventare inutilizzabile. Questo modulo esamina le soluzioni ad alcuni degli attacchi più comuni.
Le moderne applicazioni Web richiedono interazioni complesse con gli utenti. Gli utenti richiedono spesso molti dati in un breve lasso di tempo, aspettandosi anche dati pertinenti non appena si collegano online. Ciò può facilmente causare un notevole carico su un server non preparato, causando anche operazioni inutilmente complesse o ripetute. Fortunatamente, esistono diversi modi per ridurre il carico. La memorizzazione nella cache consente di archiviare richieste ripetute comunemente, evitando la necessità di eseguire ripetutamente la stessa logica. Utilizzando la memorizzazione nella cache è possibile riutilizzare i dati già caricati e presentarli all’utente. Ciò fornisce all’utente un tempo di risposta rapido e riduce le risorse di sistema utilizzate per eseguire la logica dell’azione. Nel frattempo lo stato consente di ottenere la coerenza tra le diverse richieste. Utilizzando varie forme di gestione dello stato è possibile trasformare un’esperienza Web normalmente senza stato in un’esperienza personalizzata per i singoli clienti, con utenti diversi che godono di un’esperienza separata e pertinente nella stessa applicazione. Infine, SignalR è un framework che consente l’astrazione di diversi protocolli di comunicazione in un’API di facile utilizzo, che consente di creare facilmente un singolo set di strumenti sul server e sul client per facilitare le comunicazioni bidirezionali. Ciò consente di concentrarsi sulla logica che si desidera implementare evitando al contempo di preoccuparsi di browser specifici.
La maggior parte delle applicazioni Web richiede l’integrazione con sistemi esterni come le applicazioni mobili. È necessario sapere come utilizzare le API Web per promuovere l’interazione delle applicazioni con sistemi esterni. È possibile utilizzare l’API Web per implementare i servizi REST (Representational State Transfer) nell’applicazione. I servizi REST aiutano a ridurre il sovraccarico delle applicazioni e limitare i dati trasmessi tra i sistemi client e server. È necessario sapere come chiamare un’API Web utilizzando il codice lato server e il codice jQuery per implementare in modo efficace API Web in stile REST nella propria applicazione.
Le applicazioni ASP.NET Core MVC sono progettate per fornire un servizio a più utenti contemporaneamente richiedendo solo l’installazione del server e ai clienti di utilizzare i browser per l’accesso. Ciò si traduce in applicazioni altamente desiderabili che non si affidano al fatto che l’utente installi software dedicato e garantiscono l’accessibilità da parte dei clienti da un’ampia varietà di macchine. Per configurare un’applicazione ASP.NET Core per un ambiente di produzione sarà necessario compilare il codice e comprimerlo, quindi configurarlo e eseguirlo su un server dedicato. L’hosting prevede l’utilizzo di un server dedicato per contenere l’applicazione compilata e offrirla agli utenti come servizio basato sul web. Esistono molte tecnologie diverse che possono essere utilizzate per ospitare la propria applicazione. Occorre sceglierne quella adatta alle proprie esigenze. La distribuzione è il processo in cui il codice del progetto viene compilato e quindi trasferito al server di hosting in modo da funzionare all’interno dei requisiti dell’ambiente di hosting. Microsoft Azure è un servizio cloud fornito da Microsoft. Può essere utilizzato per ospitare applicazioni ASP.NET Core ed è uno strumento popolare nel mercato della tecnologia cloud. Fornisce comodi servizi relativi alle applicazioni Web con opzioni multiple di fatturazione in base alle esigenze.
Per maggiori informazioni sui percorsi di certificazione e sulle attività di formazione offerte dal Training Center, compila il form