5 strumenti e tecnologie per sviluppatori Microsoft da esplorare nel 2020

Alla fine del 2019, vale la pena guardare avanti mentre metti insieme i tuoi piani di sviluppo delle applicazioni e le tue roadmap tecnologiche. Gli ultimi anni hanno apportato molti cambiamenti a chiunque si basi sulle numerose piattaforme Microsoft e quel ritmo non sta rallentando.

Cosa dovresti guardare nel 2020 e perché? Ecco cinque opzioni per Windows, per Azure e oltre. Non sono gli unici, ma dovrebbero avviarti verso un set più moderno di piattaforme e strumenti di sviluppo.

Avvia la transizione a .NET 5

Forse la sfida più grande che deve affrontare chiunque sviluppi codice .NET è il passaggio dal vecchio .NET Framework a .NET Core con il rilascio di .NET 5 verso la fine del 2020. Riunire i due filoni di .NET ha senso, anche se richiede la perdita di alcune API meno recenti. Microsoft ha pubblicato un elenco di ciò che farà e cosa non farà la transizione nel repository .NET GitHub. Alcune delle API mancanti passeranno alle implementazioni della community, mentre altre otterranno alternative più moderne.

Se supporti e sviluppi codice .NET Framework, 2020 ti offre una buona opportunità per esplorare come il codice verrà distribuito in futuro. L'attuale versione di .NET Core 3.1 è una versione di supporto a lungo termine e, insieme alle librerie .NET Standard, supporta molte delle API che saranno in .NET 5. Il porting del codice su .NET Core 3.1 ti dà l'opportunità di esplorare non solo le modifiche da apportare al codice, ma anche per creare una nuova toolchain.

Il futuro di .NET Core è multipiattaforma, con Blazor su WebAssembly e lato server tramite ASP.NET e Razor; .NET Core su Windows, macOS e Linux; e con Xamarin sui dispositivi mobili. Spostare il codice in .NET 5 non riguarda solo il supporto delle future versioni di Windows, ma è anche un'opportunità per distribuirlo a molte più piattaforme e utenti.

Inizia ad esplorare WinUI 3.0

Il 2020 è quando la piattaforma Windows cambia. Microsoft sta finalmente dividendo Windows SDK in due: separando i componenti dell'interfaccia utente in WinUI e lasciando le funzionalità a livello di sistema operativo. Con l'imminente rilascio di WinUI 3.0, i componenti dell'interfaccia utente saranno in grado di essere spediti con una cadenza diversa dal sistema operativo, aggiungendo nuovi controlli non appena vengono rilasciati. Saranno supportati in Windows 10 per l'uso nelle app Win32 e WinForms, nonché nelle applicazioni UWP (Universal Windows Platform).

WinUI sarà supportato anche nei browser moderni come il nuovo Edge basato su Chromium attraverso una partnership con la piattaforma Uno, che trasferirà i controlli su WebAssembly, consentendo a WinUI di raggiungere un pubblico molto più ampio. Le applicazioni UWP esistenti saranno in grado di utilizzare WinUI 3.0 con modifiche minime e il codice C ++ potrà utilizzare nuovi controlli per aggiungere il supporto per il linguaggio di progettazione Fluent di Microsoft.

Usa AKS per applicazioni native del cloud

Creare moderne applicazioni cloud significa costruire applicazioni distribuite basate su microservizi, distribuire codice containerizzato quando e dove è necessario e gestire le risorse per rispondere alla domanda. Tutto ciò si aggiunge alla necessità di un orchestrator per gestire la scalabilità e la distribuzione. Potresti implementare Kubernetes da solo, entrando nel nocciolo dei file di configurazione di kubectl e YAML. Tuttavia, esiste un'alternativa in Azure: un'opzione gestita con il servizio Azure Kubernetes, sia per i contenitori Linux che per quelli Windows.

Ciò semplifica la distribuzione delle applicazioni e dei servizi in contenitori, utilizzando il familiare portale di Azure, con accesso alle funzionalità di rete di Azure e la possibilità di lavorare con strumenti come Terraform di HashiCorp. Altre opzioni includono il controllo degli accessi basato sui ruoli per bloccare l'accesso alle risorse, riducendo l'esposizione alla sicurezza.

AKS scalerà automaticamente il cluster Kubernetes su e giù e si integra con gli strumenti di monitoraggio di Azure in modo da poter tenere d'occhio le operazioni del servizio. Il risultato è una combinazione di una piattaforma Kubernetes pura che può essere gestita utilizzando gli strumenti Kubernetes per un controllo granulare e il familiare portale di Azure con accesso gestito ad altri servizi di Azure. Tale integrazione del servizio può semplificare le operazioni di Kubernetes, ad esempio con l'accesso diretto all'archiviazione di Azure per i dati persistenti e il supporto per il registro contenitori di Azure.

Se stai creando applicazioni Kubernetes su Azure non ci sono davvero alternative, soprattutto se consideri servizi come Azure Dev Spaces. Basato su AKS, Dev Spaces offre un ambiente privato e sicuro per creare, testare ed eseguire il debug del codice nativo del cloud senza influire sui servizi di produzione.

Sviluppa per il cloud sul tuo laptop con WSL 2 e Docker

Non molto tempo fa non vedevi altro che una linea di luminosi loghi Apple in qualsiasi evento degli sviluppatori. Ora è una formazione molto più mista, poiché Microsoft ha lavorato per riconquistare gli sviluppatori a Windows, offrendo un rapido accesso a linguaggi popolari come Python, un editor di programmatore facile da personalizzare in Visual Studio Code, un nuovo terminale di Windows e, la maggior parte cosa importante, il sottosistema Windows per Linux (WSL).

Inizialmente emulando un kernel Linux, WSL verrà presto aggiornato con il proprio kernel Linux in esecuzione insieme a Windows. Destinato a semplificare la creazione e il test di applicazioni cloud su un PC, WSL 2 includerà anche un file system Linux a cui è possibile accedere da Windows e il supporto per la modifica remota utilizzando Visual Studio Code. Docker ha iniziato a testare una versione di Docker Desktop per WSL 2. Questo aggiunge il supporto nativo per i contenitori Linux a Windows, utilizzando i familiari dockerfile per creare e distribuire istanze di contenitori locali e il codice per lavorare direttamente con i loro contenuti.

La combinazione di Windows, Linux e Docker fornisce una base flessibile per la costruzione di un potente set end-to-end di strumenti di sviluppo che utilizza completamente ciascuna piattaforma e ti offre la flessibilità di lavorare nel modo desiderato, pur continuando a fornire codice a repository comuni.

Proteggi l'IoT con Azure Sphere

È passato un po 'di tempo dall'ultima volta che ho esaminato Azure Sphere, la piattaforma di Microsoft per l'IoT sicuro. La combinazione di sicurezza basata su hardware con un kernel Linux personalizzato e una piattaforma di gestione ospitata nel cloud è un modo per garantire che il sistema operativo e le applicazioni in esecuzione sull'hardware non siano stati manomessi e che il codice non possa essere modificato o inserito da terze parti dannose.

Una scheda di sviluppo che utilizza il microcontrollore ARM sicuro di Microsoft è disponibile da un po 'di tempo e recentemente è stata affiancata da alternative più economiche. È chiaro che Azure Sphere è ora pronto per l'uso nei tuoi prodotti, con moduli pronti per la produzione e SOC ora disponibili, in modo da poter creare il tuo hardware attorno ad esso. Non hai bisogno di nuovi strumenti di sviluppo; tutto lo sviluppo di Azure Sphere avviene nel familiare Visual Studio.

Uno degli sviluppi più interessanti è un set di unità guardian basate su Sphere che possono funzionare con i controller industriali esistenti, aggiungendo un livello di protezione quando si integrano PLC e altri sistemi industriali esistenti con le vostre applicazioni, consentendo di collegare dispositivi che potrebbero essere stati considerati troppo rischioso da aggiungere a una piattaforma IoT in passato.