Category Archives: Development

BUILD 2013 del 4 (Typescript)

Session med Anders Hejlsberg, konstruktör av Pascal, Delphi, C# mm.

Anders börjar med påståendet att “its to difficult to develop application scale JavaScript” och tog under sessionen ett exempel med refaktorering av något så enkelt som ett namn på en variabel i en applikation med 100.000 rader javascript – det blir “Read-Only kod” i det läget menar Anders, man vågar helt enkelt inte ändra något.

Typescript är en av flera lösningarna på detta men till skillnad från Googles “closure” så används inte kommentarer till att lägga in typ-information utan det som i andra kompilatorer kallas “reserverade ord”. Det går att använda enkla typer som string, number, boolean men även klasser (“class”). All denna “type annotation” tas bort vi kompilering och kvar blir bara javascript. Det går att använda TypeScript först och sedan köra vidare på den genererade javascript-koden, men då tappas lite av vitsen som jag ser det – det är ju kontrollen och varningen vid kompilering man vill ha, framför allt senare under en applikations livstid. De har även gjort “TypeScript-definitioner” för de flesta stora ramverk (som JQuery, Knockout.js, Node.js mflr).

De finns en “playground” med bra exempel och där man tydligt ser resulterande javascript. Ett tips är att kolla in den om ni är intresserade: http://www.typescriptlang.org/playground

De viktigaste punkterna jag tog med från sessionen var:

– Version 0.9 (den senaste) verkar ganska komplett och har bland annat används för att bygga den nya Xbox Music-appen till Windows 8.1. Också en anledning att börja titta på det, det brukar vara ett säkert tecken på att en teknik är “mogen” om Microsoft själva använder den. I vissa fall är detta också ett första steg mot att skrota tekniken (som fallet var med Silverlight).
– TypeScript är öppen källkod sedan 1 år tillbaka och följer så mycket de kunnat den föreslagna EcmaScript 6 standarden, Nice!
– konceptet “Module” är nog en av de mest användbara finesserna och resultatet är den kod som jag annars skulle skriva för hand för att få till struktur och namespaces. Det är ett av de större “rockie-misstagen” som jag gjorde när jag började bygga applikationer med javascript på allvar: att inte dela upp den i något som i alla fall liknar namespaces utan lägga allt “platt”. I Module konceptet ingår också möjligheten att sätta saker som “private” i modulen – grymt användbart för att höja förvaltningsbarheten av koden.

Anders gick igenom ett antal exempel: set/get metoder (även om jag avskyr dem i Java-sammanhang :-) , optional parametrar, generics, lambda notation, manipulering av arrayer mm…

Jag ska köra med TypeScript i nästa projekt!

Till sist:

– Adobe kommer att visa något fränt imorgon vid keynoten där TypeScript ingår på ett hörn. Kanske en komplett miljö för att bygga webb-applikationer med moderna verktyg/standarder? Det vore en “comeback El-grande” när alla har övergett deras teknik (läs flash)…
– De har ett gäng personer på konferensen som simultan-tolkar det som sägs vid varje session så att döva/de med hörselnedsättning får en text-remsa på en av storbildsskärmarna…det blev stor humor och många leenden i publiken när översättaren på Anders Hejlsbergs session konsekvent skrev “Jay Query” istället för JQuery… skulle vilja träffa “Jay” och prata lite allvar :-)

BUILD 2013 del 3 (Load testning i molnet)

Intressant session om testning och prestandatester som service (TaaS??) En preview finns uppe nu i tfs.visualstudio.com.

“Load testing” har ju funnits i Visual Studio sedan 2005 versionen, men nu går det att köra i molnet. Detta är riktigt intressant för att inte bara kunna testa hur prestandan är ur användarperspektiv utan också kunna svara på frågan hur väl siten skalar och hur många användare som en site klarar. Historiskt så har detta varit dyrt och inneburit investering i en massa hårdvara. De stora spelarna på det här området kommer med rack-skåp till kunden för att kunna köra tester så verkligt som möjligt.

En hel del har som sagt gått att göra i VS tidigare…Det nya är alternativet att köra testerna i molnet: se bild. Resultatet är bl.a. snygga nedladdningsbara rapporter.

Microsoft har skrivit om testcontrollers och testagenter från grunden för att funka i Azure. Körs i huvudsak som web-workers. Det speciella med arkitekturen bakom är att de skapar upp pooler med startklara agenter som sedan kastas bort när de har används i ett test så att det inte kan uppstå problem med dem.

De har kört privata betas de senaste 12 månaderna och de har bl.a. kört tester med Floridas state election website i senaste presidentvalet i USA som innebar Loadtesting med 70 miljoner användare. De kör detta internt med tester på bland annat Skype!

Det funkar förstås bara på Publika siter (eller Azure siter) och just nu är gränsen 15.000 användar minuter per månad. Kommer ett “early adoption program” som ger obegränsad access. Kräver Visual Studio 2013 Ultimate Preview.

BUILD 2013 del 1

Då var den äntligen igång! Steve Ballmer öppnade konferensen med orden “we got alot to show..” Och det var en hel del nytt framför allt kring Windows 8.1 som presenterades.

Några korta punkter:

– Microsoft satsar hårt på att gå från att vara ett mjukvarubolag till att vara ett Device och Services bolag. Steve menade att det då krävs “rapid release” dvs kortare tid mellan nya versioner. Det är av den anledningen som Windows 8.1 kommer nu. Frågan är vad detta innebär för oss och våra kunder i Sverige.
– Bing får ett “öppet api” som gör att det går att använda i vilken applikation som helst på ett helt annat sätt än tidigare, ska kolla in detta extra noga på de sessioner som handlar om Bing de närmaste dagarna.
– Bland förändringarna i Windows 8.1 märks att de har tagit tillbaka start-knappen (efter mycket kritik att användarna inte hittade sina applikationer längre) och bättre stöd för flera monitorer även för applikationer som skrivs för det nya gränssnittet. Det är också över 4000 förändringar i Windows Api:t med stöd för många nya koncept och prylar. Personligen gillade jag demon där de skrev ut direkt till en 3D-skrivare från samma meny som utskrift till “vanliga” skrivare.
-Xbox music kommer följa med alla Windows 8.1 enheter och av det de visade så är det en direkt konkurrent till Spotify. Får se hur det blir i den riktiga versionen.
– Visual Studio 2013 visades också upp med en hel del förändringar, bland annat ny remote debugging och möjligheten att prestandamäta energiförbrukning /energieffektivitet som ser riktigt användbart ut när nu fler och fler enheter är batteri-drivna.

Jag återkommer med lite djupare analys efter dagen.