Join us!
Want to join the team?

We would love to get to know you

Are you looking for an employer who cares about you as a person and where you feel involved in everything that concerns you? Welcome to JellyHive!
Who are we? We are a successful IT consultant company and our philosophy is that the company is our employees.
Who are you? You are a system developer (fullstack, frontend, backend), and/or maybe also a scrum master, test lead, devops etc.
What we offer you Participation in developing the company with generous benefits.


Upload your cv Supported filetypes are: .pdf, .doc and .docx
Hide

What is .NET standard

Adam Ralph gav i sin föreläsning på ett föredömligt sätt klarhet i vad .NET Standard är. Microsoft har lyckats göra .NET-communityn ganska konfunderad om vad det är och handlar om. Att det rör sig om ett nytt ramverk tycks vara ett av de vanligaste misstolkningarna. 

 .NET Standard är ett resultat av den utveckling som skett med .NET Framework. I begynnelsen handlade det ju just om ett enda ramverk men 2007 släppte Microsoft Silverlight, kort beskrivet ett subset av .NET. Då och där uppstod behovet av ett sätt att möjliggöra cross plattform genom .NET-baserad kod. Lösningen blev PCL (Portable Class Libraries). Ett PCL definerar intersektionen (av MS definerade som profiler) av API’er mellan två plattformar som på det sätter möjliggör ett binärt kodutbyte. Perfekt eller hur? Nej! Inte med tanke på hur situationen ser ut idag där .NET är en HELT annan värld än den en gång var. Idag har vi ju ungefär följande delar:

  • .NET Framework
  • .NET Core
  • Xamarin.iOS
  • Xamarin.Android
  • UWP
  • Tizen
  • … 

Adam uttrycker detta målande i ett antal venndiagram. PCL gick från detta:

Till detta:

Förutom Microsofts galna namngivning av profiler, många profiler blir det. Hur många profiler blir det? Adam har räknat på det och visade ett skämtsamt exempel på en tänkbar utveckling:

 

Portable Class Library är trasigt eller som Adam uttrycker det “PCL is a disaster”. Det är iaf detta som .NET Standard är tänkt att laga. I stället för en intersektion av API’er mellan plattformarna är .NET standard istället en mängd utvalda API’er som plattformarna sedan får förhålla sig till för att nå en specifik version av standarden. Som API utvecklare siktar man sedan mot en så låg version som möjligt av ett .NET Standard Class Library för att nå ett bredare stöd av över plattformarna. 

Vid kompilering skapas en netstandard.dll som vid runtime används för att genom type forwarding peka mot korrekt assembly och typ innehållandes den kod som skall exekveras.

Comments