Om du jobbar som utvecklare med Microsoftteknik så identifierar du dig kanske som ”Dotnetutvecklare” eller ”C#-utvecklare”? Faktum är att det finns en himla massa olika typer av Microsoftrelaterade kategoriseringar vad gäller systemutveckling. Det beror på att det finns en uppsjö av plattformar, ramverk, verktyg, språk och annat som ofta hänger ihop med varandra, och inte sällan erbjuder konkurrerande alternativ.

Kort sagt det finns ett virrvarr av teknikområden vad gäller utveckling med Microsoftteknik.

Läs också: Artificiell intelligens ska hjälpa Microsoft eliminera buggig programvara

Vilka är det som är viktiga och vad innebär de? Vi lyssnar på Patrik Löwendahl, teknik- och innovationschef på konsultföretaget Avanade, och Tess Ferrandez, utvecklarevangelist på Microsoft.

Här är de viktigaste begreppen:

Net Framework
Det som i dagligt tal oftast kallas ”Dotnet”. Av namnet att döma är det frågan om ett mjukvaruramverk, men med tanke på omfattningen av funktionalitet är det kanske mer lämpligt att använda benämningen plattform.

Patrik Löwendahl
Patrik Löwendahl.

– Net Framework är basen i alla utvecklingsmiljöer och -verktyg från Microsoft, säger Patrik Löwendahl.

– I princip alla applikationer på Windows körs på Net Framework, säger Tess Ferrandez.

Så om du jobbar som utvecklare med Microsoftteknik är sannolikheten stor att du är en ”Dotnetutvecklare”, även om andra epitet också kan användas.

Net Core
En öppen variant av Net Framework som släpptes i juni och fungerar på Windows, Linux och Mac OS. Vissa delar av Net Framework fattas i Net Core. Tanken är att Net Core ska bli ”basen för alla framtida Dotnetplattformar”.

Mono
En öppen variant av Net Framework som lanserades 2004 för Windows, Linux och Mac OS. Fungerar i dag även på Android och IOS. Företaget Xamarin som köptes av Microsoft i februari i år har bidragit starkt till utvecklingen av Mono.

Man kan anta att Mono i dag främst är relevant som en bas för plattformen Xamarin, se nedan, medans Net Core tar över som ”öppen variant” av Net Framework för att bygga skrivbordsapplikationer.

Xamarin
En plattform på vilken det går att använda C#, huvudspråket för Dotnetplattformen, för att bygga applikationer för Windows, Android och IOS. Historiskt kan man se en utveckling från Mono till Xamarin, med en hel del steg däremellan.

Läs också: Microsoft släpper plattform för mikrotjänster på Linux

Universal Windows Platform (UWP)
En plattform som introducerades med Windows 10 för att bygga applikationer som fungerar på alla varianter av Windows från och med version 10, och även på Xbox. Bygger på Windows Runtime Platform. Tanken är att kunna bygga applikationer som fungerar på alla olika typer av enheter.

Vanliga ”Dotnetprogram” fungerar inte på UWP, men…

– UWP bygger väldigt mycket på Net Framework, men man kommer inte åt all funktionalitet i Net Framework. Olika dialekter av XAML används i UWP och WPF, förklarar Tess Ferrandez.

– UWP lever i samma bubbla som WinRT, flikar Patrik Löwendahl in.

Fortsätt läsa för information om WPF, XAML och WinRT.

Windows Runtime (WinRT)
Nu börjar det bli krångligt på allvar. Till att börja med ska WinRT inte blandas ihop med Windows RT som var en variant av Windows avsedd för enheter med Armprocessorer. Windows RT är numera nedlagt.

WinRT var en föregångare till UWP på Windows 8.x. Det fanns även en variant på Windows Phone 8.x. WinRT var miljön för att köra så kallade ”Metroappar”, kallas även ”Modernappar” på Windows 8.x. Alltså, fyrkantiga program som hade fasta storlekar.

– Api:erna från WinRT lever kvar i UWP, säger Tess Ferrandez.

Windows Presentation Foundation (WPF)
Ett ”grafiskt subsystem” som lanserades med version 3 av Net Framework. Det används för att visa användargränssnitt i applikationer och använder sig av DirectX (se nedan). Tanken är att tillhandahålla en programmeringsmodell i vilken presentation och affärslogik i applikationer kan separeras.

Det xml-baserade presentationsspråket XAML används i WPF. Patrik Löwendahl beskriver WPF ”som ett bibliotek i Net Framework”.

– Man kan säga att XAML som används för presentationslagret är lite som html. WPF används på Dotnet, men det finns fortfarande de som använder Winforms i stället, förklarar Tess Ferrandez.

Winforms
Föregångaren till WPF som alltså fortfarande används en del. Winforms underhålls fortfarande, men inga nya funktioner läggs till. Kontentan är att det finns två alternativa lösningar för presentationslagret, WPF och Winforms, av vilka WPF är framtidsvalet. Det leder oss in på…

Läs också: Github vill organisera dina projekt – tar upp kampen med Trello och Microsoft

Silverlight
Ett mjukvaruramverk som var tänkt som en konkurrent till Adobes Flash, alltså främst i form av en plugin i webbläsare för att hantera olika media, som video. Silverlight lanserades 2007 och lades ner 2012. Supporten ska upphöra helt i oktober 2021, men det finns inte stöd för Silverlight i vare sig Googles webbläsare Chrome i dag, eller i Microsofts egna Edge.

– Silverlight var ett jättemisstag, men det används fortfarande en del, till exempel för strömmande innehåll, säger Patrik Löwendahl.

Även om beskrivningen haltar rent tekniskt så kan man nog säga att det översiktliga målet med Silverlight var att erbjuda en lösning liknande Winforms och WPF, alltså en teknik för att kontrollera ”vad som visas” i applikationer.

DirectX
En samling programmeringsgränssnitt (api:er) för mediahantering, som grafik, video och ljud. Man kan arbeta direkt mot de olika api:erna, vilket till exempel många spelprogrammerare gör, eller så kan olika ramverk som WPF utnyttja funktionalitet som görs tillgänglig via DirectX.

ASP Net
Ett ramverk för webbutveckling som ryms inom Net Framework. Det finns två varianter, Webforms och MVC som är på väg att slås ihop i efterföljaren till ASP Net som heter… ASP Net Core.

ASP Net lanserades 2002 som en efterföljare till ASP (Active Server Pages)

Node.js
Ingen Microsoftprodukt, men företaget satsar allt mer på den här plattformen för att köra Javascriptprogram på servrar. Microsoft intresserar sig även för andra sätt att köra Javascriptprogram, till exempel med vanliga Javascriptmotorer i webbläsare.

– Verktygen Visual Studio och Visual Studio Code utvecklas ständigt för att göra det lättare att jobba med olika ramverk och pakethanterare för Javascript, säger Tess Ferrandez.

Sharepoint
Microsofts samarbetsplattform som kanske inte ska ses som en ”utvecklingsplattform”. Men eftersom det utvecklas många lösningar baserade på Sharepoint så finns det folk som identifierar sig som ”Sharepointutvecklare”.

Traditionellt har Sharepointutvecklare varit Dotnetutvecklare, men webbtekniker som språket Javascript används allt mer.

Det finns mer
Det finns ännu fler begrepp att hålla reda på för utvecklare i Microsoftsfären, som verktyget Visual Studio, språk som C#, olika sätt att köra C++-program inom och utanför Dotnetplattformen, ramverket Entity Framework för databaser som ryms inom Net Framework, med flera.

Men vi nöjer oss med Tess Ferrandez beskrivning av tre huvudsakliga miljöer för att bygga och köra applikationer:

  • Webbutveckling med ASP Net i varianterna Webforms, MVC och Core.
  • Utveckling av skrivbordsappar med WPF och Winforms.
  • Utveckling av mobilappar med Xamarin och UWP.