Author Archives: samueldanielsson

TypeScript version 0.9.1

Nu har en ny version kommit av TypeScript med bl a. uppdatering av stöd för TypeScript i Visual Studio och med en feature för att hantera implicit ‘any’.

Se mer här:

http://http://blogs.msdn.com/b/typescript/archive/2013/08/06/announcing-0-9-1.aspx

 

 

Advertisements

BUILD 2013 del 6 (dag 2 sammafattning)

En dag med hur mycket som helst av intryck och roliga tekniska saker. Jag har haft bra diskussioner om mobile services runt lunchbordet, träffat Nokia på Microsofts kontor i San Fransisco och pratat med Scott Hanselman om livet är option: strict eller inte (apropå den t-shirt han hade vid keynoten, han tror antagligen inte att jag är riktigt klok…)  

En av de större nyheterna idag var Preview av automatisk upp- och nedskalning av tjänster i Azure. Dels så går det att sätta parametrar så att Azure själv skalar och dels så går det att scripta från Power Shell. En av alla saker från den här konferensen som faktiskt direkt kommer att påverka och användas i projekt hos kunder hemma i Sverige.

Det mesta går tydligen att scripta från Power Shell. Jag ägnade delar av eftermiddagen åt att testa scripting av mobile services och det är riktigt kraftfullt när man använder det för att sätta upp många kopior av liknande mobile services. Det verkar också vara så Microsoft har tänkt: en och samma applikation med många olika mobile services databaser.

Mobile services är i sig ett gigantisk ämne, inte minst med alla nyheter som Microsoft visade upp i dagens sessioner: notifiering, custom scripts med node.js som bottenplatta, behörighetsstyrning av CRUD funktioner och stöd för flera plattformar (IOS, Android). Jag tänkte sammanställa en lite längre post om detta när jag hunnit gå igenom allt material…

Några saker som jag ska försöka dyka djupare i imorgon är: 

– De uppdaterade verktygen för att debugga applikationer i IE 11 (F12)
– Office 365 Business App template i VS 2013
– Biztalk Services
– Automatiska tester av XAML applikationer.

Kan bli en riktigt kul dag imorgon också!
 

 

BUILD 2013 del 5

En av de hittills största ahhh-upplevelserna
är den nya WebView- kontrollen som bland annat finns tillgänglig för projekt som använder WPF. Som i skärmdumpen ovan.
Det är en Windows Store App som jag skapat utifrån standard template som följer
med Visual Studio 2013. Ovanpå Hub-sidan ligger en WebView kontroll som hämtar
en sida från en webbapplikation som jag skapat utifrån template med Bootstrap
som grund. Kontrollen har stöd för cache (så att den startar snabbare) och anti-malware. Det som är nytt är stöd för kompositionsmotorn i Windows 8 och då går det att göra den genomskinlig och vrida den….

Nu ska jag bara hitta ett användningsområde för det också.

Uppdatering: här är en session om WebView:

http://http://channel9.msdn.com/Events/Build/2013/3-179

 

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.