ASP.NET Core - Framtiden för Microsoft's webbplattform

den 22 januari 2017

I Juni 2016 släppte Microsoft asp.net core 1.0, den största förändringen av deras ramverk för webbutveckling sedan 2002 - året då microsoft gick från klassiska asp och vbscript till asp.net och C# och Visual Basic dot net.

asp.net core 1.0 är ett helt omskrivet ramverk, men man använder sig fortfarande av C# och .net - Visual Basic kommer troligtvis inte att stödjas längre. Omskrivningen var nödvändigt då ramverket hade problem med:

  • Dålig Prestanda
  • Ej portabelt till andra Operativ system som Mac och Linux
  • Fungerade enbart med webservern IIS, om den skall vara portabel så måste den fungera med andra webbservrar, exempelvis nginx och appache

 

Prestandaproblematiken i gamla asp.net

Prestandan var för dålig i ramverket jämfört med konkurrerande ramverk. Språket C# och dess .net runtime var inte flaskhalsen utan problemet var hur man byggt upp ramverket asp.net. Med omskrivningen till asp.net core 1.0 förbättrades prestandan - här är en gammal bild som visar hur prestanda förbättringar under utvecklingstiden, från ca 40.000 request / sekund till över 1.1 Miljoner request / sekund.  De nyaste siffrorna jag sätt är på 6 Miljoner request / sekund, dvs. 150 gånger snabbare!


Idag har asp.net core prestanda kommit i kapp konkurrenterna och ibland även passerat dessa. Nedan är ett testcase testar prestandapå webbramverk. 

https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext

 

I ovanstående diagram kommer asp.net core på 10 plats. man bör dock tänka på att de snabbaste ramverken troligtvis är nichade ramverk för specialområdenwebben. Jämför man asp.net core med andra vanliga ramverk på marknaden så får man dessa siffor:

NamnPrestanda
asp.net Core48.9%
django2.3%
php1.2%
Ruby On Rail26.6%
Spring (Java)3.5%
Node.js12.5%

 

Vi är agila! därför dyrkar vi INTE scrum!

den 6 december 2016

Min sammanfattning av Agilt tänkande i systemutveckling är:  Flexibilitet attityd i arbetet gällande kunder/kravställare, verktyg och processer för att uppnå bästa möjliga resultat.

Med detta menar vi på Weboholics anpassar vårt arbetssättet till omständigheterna som existerar i ett projekt - ibland betyder detta att metodologier som Scrum eller Extreme programming inte är optimalt i alla moment eller i alla projekt. 

Vi gillar Scrum men den är inte alltid rätt verktyg för alla jobb. Mogna produkter/marknader samt projekt med svaga kravställning/produktägare så kan Scrum vara katastrofal och kostsamt.  Svag kravställning/produktägare i kombination med Scrum kan innebära att dyrbar utvecklingstid slösas bort i kombination av dyra och ofta förekommande refaktoring av system innan de verkliga problemen kan identifieras. 

Med mogna produkter/marknader kan scrum-processen(sprint planering mm) lägga till onödiga aktiviteter och felaktig fokusering av arbetet.

 

 

Vi använder oss  ibland av Extreme programmering - parvis programmering. Denna agila metologi innebär att man arbetar två och två och leder till kvalitetsförbättring av koden som skrivs. Denna metologi har vi extrem nytta av då vi behöver använda tekniker och teknologier som vi aldrig har använt innan. Detta arbetsätt har möjligtgjort för Weboholics att använda och utveckla avancerade tekniska lösningar på ett bra sätt - något som inte vi skulle kunna gjort på individuell basis. 

Samtidigt innebär Extreme programming dubbelt så höga utvecklignskostnader vid rutinartade aktiviteter till minimala kvalitetsförbättringar. Så vid vanlig utveckling samt underhåll så brukar vi inte använda exteme programming

 

Avslutat och påbörjat nytt uppdrag

den 29 november 2016

Två dagar med PostgreSQL

den 23 november 2016

Vi har utfört utbildningar hos Newton under hösten med kurser i avancerad databas, Java programmering och Webbutveckling. I kursen för webbutveckling så skulle databas ingå som ett moment med kravet att den skulle vara Open Source.  Vi valde PostgreSQL 9.6 som släpptes nyligen.  Med nya versionen har de även släppt nytt administrationsverktyg för PostgreSQL - pgAdmin 4.0.

Det hela fungerade väl och användargränssnittet i pgAdmin 4.0 har förbättrats och var väldigt intuitivt.  Fungerade väl att använda PosgreSQL i asp.net core 1.0 tillsammans med det populära ORM ramverket Dapper.

 

wEngine 2.0

den 10 oktober 2016

wengineVälkommen till nya versionen av Weboholics.se / Weboholics.com som vi bygger på vår version 2.0 av wEngine som vi nyligen har släppt.

wEngine 2.0 är baserad på Microsofts omgjorda asp.net plattform -  ASP.NET Core 1.0 vilken är den största förändring Microsoft gjort på sin webbplattform sedan 2002.