Net Core, en öppen och omskriven version av .net

Länge var .Net och öppen källkod två skilda världar. Lika länge var kopplingen till Windows självklar. Visserligen fanns det öppna alternativet Mono, men det släpade konstant efter och gick under radarn på åtminstone mig. Allt detta gäller dock inte längre.

Sedan förra året finns .Net Core, en öppen och omskriven version av .Net med bland annat stöd för fler operativsystem än Windows. Även om tidigare versioner kommer att stödjas för lång tid framöver, samt att .Net Framework existerar som ett parallellt spår (WinForms, WPF), kan man med stor säkerhet slå fast att Core och det underliggande .Net Standard utgör framtiden för Microsofts utvecklingsplattform.

Kanske är öppen källkod och plattformsoberoende ointressant för många befintliga .Net-utvecklare. Men möjligheten att driftsätta på t.ex. Linux-servrar och fritt välja sin personliga utvecklingsmiljö kommer förmodligen locka en del nya utvecklare till .Net.

Installera .Net Core på en Mac
Jag bestämde mig att det var hög tid att utvärdera .Net Core på min Mac. Började därför med att ladda hem installationspaketet för Mac från Microsoft. Genom att följa .NET Core installation guide gick installationen helt smärtfritt. Jag rekommenderar att följa uppmaningen att först plocka hem Homebrew för att enkelt installera OpenSSL som krävs.

Nu kunde jag bygga och köra via terminalen i macOS. Tillsammans med valfri textredigerare hade jag allt jag behövde för att köra ”old school”. Jag valde dock att ladda hem och installera Visual Studio Code för att få en mer komplett utvecklingsmiljö. Det finns en preview av Visual Studio för Mac (baserad på Xamarin Studio) att ladda ner, men jag valde att fokusera på att utvärdera Visual Studio Code som även fungerar i Linux. Installationen var av typen drag och släpp som brukligt på Mac. Programmet startade och det första jag gjorde var att installera stöd för C# via den inbyggda pakethanteraren (NuGet).

Vi första ögonkastet känns utvecklingsmiljön väldigt avskalad och spartansk, men efter ett tag märker man att mycket är dolt under skalet. Visual Studio Code kan inte på långa vägar mäta sig med fullstora Visual Studio, men det är snabbt, smidigt, flexibelt och kraftfullt trots sin enkelhet.

ASP.Net Core
Eftersom jag framförallt är intresserad av att utveckla webbapplikationer med .Net Core installerade jag verktyget Yeomanför att skapa projekt för ASP.Net Core (motsvarar projektmallarna i Visual Studio). För att hämta hem Yeoman laddade jag först ner och installerade Node.js för att sedan via den medföljande pakethanteraren (npm) installera och konfigurera Yeoman.

Efter att ha genererat projektfiler för ASP.Net Core, testade jag att kompilera och köra den medföljande exempelkoden. Den nya lättvikts webbservern Kestrel startade igång snabbt och i den öppnade webbläsaren kunde jag konstatera att jag körde ASP på min Mac! Jag fortsatte att skriva lite ny kod och klippa in lite befintlig. Byggde sedan på nytt och det fungerade fint!

Nästa steg för mig kommer vara att migrera ett befintligt ASP.Net MVC-projekt till Core. Jag behöver göra en del ändringar för att det ska fungera, men vad jag kan bedöma är detta inte relaterat till vilket operativsystem som jag använder.

Lite synpunkter

Ännu kan .Net Core inte mäta sig med t.ex. Java vad gäller mognad, verktyg och support på andra operativsystem än Windows, men man har kommit en bit på vägen. Jag rekommenderar alla intresserade att testa.

Kommer Microsoft att ha samma fokus på andra plattformar som med Windows? Troligen inte, men förutsättningarna är goda för att andra aktörer ska fylla i luckorna. Det ska bli intressant att följa utvecklingen.