TechEd Europe 2009 i Berlin

Isotop har under veckan haft två representanter nere i Berlin på TechEd-mässan som hålls varje år i Europa. Totalt hade ca 7200 teknikintresserade personer, varav 325 svenskar hittat hit för att förkovra sig i Microsofts olika teknologier. Utöver teknikfokuset har det också firats en del då mässan sammanträffade med 20-årsjubileumet av berlinmurens fall.

Veckan har bjudit på flera höjdpunkter men även några besvikelser då fokus legat på IT-infrastruktur och inte programmering och webbutveckling, vilket är Isotops huvudspår. Man hör ofta folk på TechEd säga att ”alla snackar om molnet”, men det är fel… sanningen är att alla snackar om Sharepoint 2010 och Exchange.

TechEd Berlin

Några reflektioner från veckan på TechEd där temat var ”The new efficiency”:

David Chappelle hade en dragning om Windows Azure-platformen ur ett IT-strategiskt perspektiv där han försökte besvara frågorna – När, hur och varför man ska använda molnet? Microsoft planerar att släppa Azure i nästa vecka (19:e November) och funderingarna kring detta är många. Ett vanligt orosmoln från intressenter är säkerheten, vågar vi skicka upp vår känsliga data in i molnet? Microsoft har insett att plattformens pålitlighet är avgörande för att vinna kundernas förtroende. Det har i sin tur inneburit att de infört vissa begränsningar som förenklar systemet men ökar pålitligheten, t.ex. kommer databaser till en början ha en maxstorlek på 10 GB och lastbalanseringen sker via manuell konfigurering. Läs gärna mer om Windows Azure och molntekniken i Staffan Eketorps inlägg Moln i praktiken, del 1 och Moln i praktiken, del 2.

För den intresserade utvecklaren har Microsoft utlyst en tävling där man ska bygga molntjänster. Läs mer på http://wadc.cloudapp.net/

För oss vanliga dödliga finns det fortfarande ett alternativ till molnbaserad hosting. Windows Server 2008 R2 och IIS 7.5 kommer med några intressanta nya features, bl.a. Centralized Web Management som innebär att man kan styra en hostad IIS från en lokal klient. Microsoft har också tagit fram ett verktyg (IIS Web Deployment Tool) för att underlätta installationer direkt från IIS genom konfigurerade export/import-funktioner. Det mest intressanta måste ändå vara Web Platform som innebär färdiga paketinstallationer av bloggverktyg och CMS som Wordpress, Umbraco och DotNetNuke. Site Analysis Report är också en annan feature som gör att vi kan hämta ut rapporter om t.ex. sökbarheten/tillgänglighet på webbplatsen. Listan kan göras lång och det blir helt klart spännande att se hur EPiServer anammar denna miljö i kommande versioner av EPiServer CMS.

Visual Studio 2010 och .NET 4.0 har nyligen släppts som beta 2. En av de mer intressanta nyheterna i .NET 4.0 för utvecklare är Parallel Extensions som förenklar parallellisering av många vanliga programoperationer, t.ex. loopar och (P)LINQ.

IronPython och IronRuby är något som omnämns titt som tätt här på TechEd. Båda språken har fullt stöd i 4:ans DLR (Dynamic Language Runtime) och innebär helt klart intressanta möjligheter för den som inte känner sig hemma med C# eller övriga .NET-språk. Dynamiska språk öppnar en ny värld för utvecklare från andra miljöer, inlärningströskeln för t.ex. en Ruby-utvecklare blir minimal samtidigt som man exponeras för styrkorna i .NET Framework. IronPython och IronRuby kan säkert vara intressant i vissa specifika fall men i grund och botten så innebär det ännu inga prestandavinster jämfört med andra implementationer av språk , snarare så leder det generellt till sämre prestanda, vilket Harry Pierson påpekar under sessionen ”Pumping Iron”.

Veckan har bjudit på många inspirerande talare, sessioner och ämnen. Nu behöver dessa tankar landa innan vi lanserar vår första IronPython-applikation på molnet.

Läs gärna inlägget ”Tips för att snabba upp din webbplats” och ”Unit testing med Roy Osherove” som sammanfattar två enskilda föreläsningar från Microsoft  TechEd 2009 i Berlin.

Etiketter:

1 Kommentar

Tips för att snabba upp din webbplats

Denna post innehåller en sammanfattning av sessionen ”Tips and Tricks for Building High Performance Web Applications and Sites” från Microsoft Tech Ed 2009 i Berlin.

Giorgio Sardo höll i sessionen som handlade om hur vi kan göra våra webb-2.0-applikationer och webbplatser snabbare. Fokuset låg helt på klientsidan och handlade till stor del om optimering av Javascript och DOM-operationer som står för 33% av CPU-förbrukningen för den genomsnittliga webbplatsen (övrig CPU går till rendering av innehållet).

Sessionen och talaren Giorgio Sardo, som är ”Technical Evangelist” på Microsoft Corporation, kanske var lite smått färgad av just Microsoft men framhöll ändå några intressanta synpunkter och fallgropar man bör tänka på när man utvecklar gränssnitt – oavsett plattform (oroa er inte, jag hade mina GOOGLES på mig).

Några vanliga fallgropar på klientsidan

  • CSS - Långa selektorer drar prestanda. Håll dem korta och koncisa.
  • CSS - Undvik CSS Expressions.
  • JS - Undvik globala variabler om det går.
  • JS - Undvik arv med prototyping. JS-motorn måste först leta igenom objektinstansens alla default-properties innan den kan söka vidare efter prototype-funktioner. Det drar prestanda.
  • JS - Cacha get/set anropen till DOM genom temporär lagring i lokala variabler.
  • JS - Precis som ovan så bör man även cacha återkommande funktionsanrop i lokala variabler.
  • JS - Vid användning av setTimeout() bör funktionsanropet göras direkt och inte via en sträng. Strängar som skickas till setTimeout måste exekveras med eval() vilket leder till prestandaförluster.


    Exempel - vanligt förekommande:
    setTimeout(”testFunc()”,100);
    function testFunc() {alert(’Hello world!’)}

    Exempel - rekommenderad användning:
    setTimeout(function(){testFunc()},100);
    function testFunc() {alert(’Hello world!’)}

  • JS - for-loopar blir snabbare om de utgår ifrån en lokal variabel med length-värdet istället för att gå direkt mot object.length.
  • JS - Iterationer över DOM-element bör göras med while-loopar där nextSibling() styr iterationen. På detta sätt undviker man onödiga uppslagningar mot DOM-objekten.
  • JS - IE 8 kommer med en native selector som (enligt Microsoft) går snabbare än jQuerys selector.
  • JS - Konkatenering av strängar bör göras genom att pusha strängar till arrayer som i slutändan sammanfogas med join() istället för att addera (var1 + var2) strängar med varandra.

Några intressanta verktyg som togs upp under sessionen

Doloto

Doloto är ett verktyg för att optimera Javascript-filer, inte genom minifiering utan genom klustring av funktioner. Verktyget analyserar vilka funktioner som anropas i runtime och utifrån det resultatet så optimeras koden dels genom uteslutning av överflödig kod och dels genom lazy loading. Det huvudsakliga målet är att reducera väntetiden för en webbsida att laddas in.

Läs mer på http://msdn.microsoft.com/en-us/devlabs/ee423534.aspx

Expressions Web 3 + SuperPreview

Verktyg för att felsöka grafiska skillnader mellan olika versioner av IE(IE6  + IE7 eller IE8) och Firefox. Via en och samma vy kan man göra snabba visuella analyser över vad som skiljer sig åt mellan de olika webbläsarna.

Läs mer på http://blogs.msdn.com/xweb/

Etiketter: ,

1 Kommentar