GNU/Linux >> Linux Esercitazione >  >> Linux

20 anni di .NET:Scott Hunter di Microsoft nel "viaggio straordinario" della piattaforma per sviluppatori

Sono trascorsi 20 anni da quando Microsoft ha rilasciato la prima versione completa di .NET e della sua suite di strumenti per sviluppatori. Da allora .NET è stato una parte fondamentale della storia di Microsoft, guidando gran parte della strategia delle applicazioni desktop di Windows, oltre a supportare lo sviluppo di strumenti per sviluppatori come Visual Studio. È stato anche fondamentale per la storia dell'open source di Microsoft, aiutando ad aprire la strada all'apertura della sua piattaforma di strumenti e, infine, al .NET aperto e multipiattaforma che abbiamo oggi.

Abbiamo intervistato Scott Hunter, VP of Product Management di Microsoft per .NET, per parlare del viaggio fino ad ora. È stata sicuramente una strada lunga e tortuosa, iniziata con l'annuncio che sarebbe diventato .NET all'evento Microsoft Forum 2000, con una serie di video concettuali che immaginavano un mondo connesso in cui le informazioni scorrevano tra server, PC e dispositivi mobili. Guardando indietro a quei video, è chiaro che .NET ha realizzato quella visione, quello che Hunter descrive come "un viaggio davvero straordinario".

VEDI: Kit di assunzione:sviluppatore .NET (TechRepublic Premium)

Il mondo potrebbe non essere proprio come previsto da quei video, ma se non utilizziamo Pocket PC e Windows CE, stiamo eseguendo app sui nostri telefoni iOS e Android che potrebbero essere create utilizzando Xamarin basato su .NET, lavorando contro Server Linux che utilizzano ASP.NET in esecuzione su .NET. Il mondo .NET è ora molto più che solo Microsoft:è ovunque... con le nuove funzionalità annunciate agli eventi Red Hat e con VMware che tiene la propria conferenza .NET.

.NET:Come siamo arrivati ​​qui?

Copertura per sviluppatori da leggere

Per Hunter, è iniziato nel 2008 con l'improvvisa popolarità di Ruby on Rails, che è ciò che ha ispirato lo sviluppo di ASP.NET MVC e il repository Nuget, con alcuni dei primi strumenti open source di Microsoft. All'inizio del passaggio all'open source, Microsoft non ha accettato contributi, ma le cose sono cambiate nel 2012 con l'open sourcing sia di ASP.NET che di Entity Framework.

Da lì al .NET completamente aperto di oggi è richiesto il buy-in da parte della gestione di livello superiore; il team ASP.NET faceva parte di Azure, quindi ciò significava lavorare con Jason Zander e Scott Guthrie. Il team di ASP.NET ha potuto vedere che Linux stava arrivando. "Ed eravamo seduti a dire, sai, ehi, il mondo della tecnologia sta cambiando, ma sotto di noi l'open source è ora una cosa enorme, grande", spiega Hunter. “E ci siamo tuffati un po'. Ma davvero, dobbiamo essere lì, a pieno ritmo. L'intera piattaforma deve essere open source."

Quella prima piattaforma .NET open-source è stata costruita sulla base del runtime open-source Mono esistente, mentre il resto della piattaforma utilizzava ancora il .NET Framework proprietario di Microsoft. Il vero passaggio a una piattaforma .NET completamente open source è avvenuto in seguito, con il supporto aziendale per un nuovo CLR core open source, che sarebbe diventato .NET Core. Sebbene la prima versione fosse limitata, ha cambiato il modo in cui il team ha fatto le cose, spostando l'attenzione sulla comunità. Come osserva Hunter, era qualcosa di molto nuovo per Microsoft. "Abbiamo avviato qualcosa chiamato ASP.NET Stand Up, dove ogni settimana, [il team], partecipavamo alla chiamata della community e mostravamo loro le parti che abbiamo violato nell'ultima settimana e ricevevamo feedback."

VEDI: Norme sugli incontri giornalieri in piedi (TechRepublic Premium)

La community è stata un grande motore, in quanto ha fornito slancio per ciò che è stato sviluppato, come e come il team si è concentrato su cose specifiche. Ad esempio, un primo benchmark del sistema originale basato su Mono ha mostrato che le sue prestazioni Linux erano scarse, il che ha spinto il team a entrare nella top 10 dei benchmark chiave. Richiamare la spinta alle prestazioni nel regolare stand up online ha portato al primo grande coinvolgimento della comunità e a un'intera serie di richieste pull relative alle prestazioni che hanno risolto rapidamente le carenze chiave, offrendo un .NET Core di livello aziendale.

.NET:Qual è il prossimo grande sviluppo?

Ogni versione di .NET Core, e ora .NET unificato, ha i suoi temi e nuove tecnologie che mirano a superare i limiti. Il prossimo grande sviluppo di .NET sarà il rilascio entro la fine dell'anno di un nuovo stack dell'interfaccia utente, MAUI. L'interfaccia utente dell'app multipiattaforma è una parte importante del prossimo .NET 7, con una versione limitata nell'attuale .NET 6; in parte, è una risposta alla domanda su come Microsoft fornirà un'interfaccia utente comune su piattaforme diverse, incluso il Web.

La risposta, come dice Hunter, è che non lo farà direttamente. "Non lo stiamo facendo perché non creeremo una tecnologia per l'interfaccia utente. Incorporeremo solo la tecnologia dell'interfaccia utente nativa con la nostra tecnologia". In questo modo avrai un'unica base di codice che funziona con Windows, macOS, iOS, Android e il Web. Hunter non vede l'ora che arrivi l'ultima opzione. "Ancora più folle è che puoi inserire un'applicazione Blazor all'interno di [MAUI] e avere un'app Web nativa che comunica effettivamente con l'hardware locale".

C'è di più in .NET oltre al familiare C# e Visual Basic. Se torni ai primi giorni di .NET, linguaggi come IronRuby e IronPython hanno portato sulla piattaforma linguaggi open source familiari. Lo sviluppo di terze parti continua, con Hunter entusiasta di sviluppi come PeachPie, un'implementazione .NET di PHP che funziona molto più velocemente del motore PHP autonomo.

È questa la fine del viaggio .NET, con un .NET multipiattaforma che offre prestazioni native quasi ovunque? Hunter ride:"Il lavoro del team sarà quello che farai dopo .NET 7? Sarà una domanda divertente pensare a cosa succederà con lo stack". È qui che la crescente comunità open source .NET aiuterà a guidare la piattaforma, fornendo informazioni su ciò di cui hanno bisogno e su ciò che vogliono dai loro strumenti.

Una possibile direzione futura viene dal framework dell'applicazione distribuita Orleans di Microsoft. Progettato da Microsoft Research per enormi applicazioni cloud, alimenta molti dei servizi back-end di Xbox. Il team di sviluppo si è unito al team .NET e gli elementi di Orleans inizieranno a spostarsi in .NET, estendendosi per supportare le applicazioni distribuite incentrate sul cloud. C'è molta fertilizzazione incrociata in arrivo, portando concetti di rete moderni sulla piattaforma senza perdere nessuno dei suoi guadagni in termini di prestazioni.

Forse il più grande cambiamento in .NET negli ultimi anni è un cambiamento nella filosofia:in passato era agnostico, ti dava più modi per fare la stessa cosa, e ora è supponente. Sì, puoi ancora utilizzare le vecchie tecnologie se vuoi, ma il futuro è ciò che Hunter chiama "una cassetta degli attrezzi completamente carica" ​​che evita la confusione che deriva da più strade verso la stessa destinazione. Come dice lui, "Non devi andare a caccia di un mucchio di cose:la maggior parte ora è integrata".

Costruire uno stack su cui fanno affidamento milioni di sviluppatori è una responsabilità, anche se molto gratificante. Hunter riassume tutto dicendo:"E quindi è un grande viaggio. Sono così orgoglioso di dove siamo tra 20 anni e non vedo l'ora di vedere cosa faremo tra 25 anni".

Link sorgente


Linux
  1. Creare fiducia nella comunità Linux

  2. Il primo a trasmettere interamente su Linux

  3. La storia di un'API:GitLab Runner e Podman

  4. La differenza tra Getty e Agety?

  5. Qual era il metodo di compressione SquashFS?

Come installare Microsoft .NET Core SDK su Linux

7 segni che sei sopravvissuto all'era migliore dell'IT

WAZUH La piattaforma di sicurezza open source

The Hive (piattaforma di risposta agli incidenti di sicurezza)

50 incredibili comandi Linux Crontab per SysAdmins

Introduzione a .NET Core e Docker e al registro dei contenitori Microsoft