Roligt med TouchDevelop, en IDE för Windows Phone 7

För ett par veckor sedan bläddrade jag på Windows Phone 7 (WP7) Marketplace och letade efter ett nytt spel att spela på min telefon, och jag snubblat över den vansinnigt snygga TouchDevelop från Microsoft Research. TouchDevelop är en fullständig IDE för WP7 som låter dig skapa och dela WP7-applikationer utanför den normala App Hub-processen. Jag ville gärna pröva något intressant (hej, det kan vara mer intressant än Angry Birds medan jag satt i väntan på att få teknisk support för att plocka upp), jag gav TouchDevelop ett skott.

Det som verkligen är unikt med TouchDevelop är hur Microsoft Research anpassade IDE-behoven till en liten pekskärmsenhet som en telefon; minimal maskinskrivning behövs. I en traditionell utvecklingsmiljö kan jag till exempel förklara en metod med en linje som denna (ja, jag använder ett Fibonacci-sekvensgeneratorexempel):

 privat lång fib (int x) 

I TouchDevelop skapar jag en funktion med en "+" -knapp i menyn längst ner på skärmen medan jag tittar på min funktionslista. Ett standardnamn väljs och en kodstub görs. Genom att markera raden med funktionsstubben och klicka på menyalternativet Redigera får jag ett panorama som låter mig redigera små delar av definitionen. På sidan "rekvisita" kan jag ställa in namnet och markera en ruta för att göra funktionen privat. En svep åt höger får mig till fliken "Params" för att redigera parametrar. Knappen "+" lägger till en parameter (som också får ett standardnamn), och i en listruta kan jag välja typ. Det finns text under typ för att förklara vad det är, vilket är en fin funktion. En annan svep åt höger för fliken "returnerar" (du har flera objekt i "returer").

Därifrån lägger du till kodrader. Det finns ett mycket unikt användargränssnitt här. Du ser hur det ser ut som traditionell kod ( figur A ), men du måste välja en rad och välja ett "Redigera" -kommando för att komma åt den. Därifrån har du en sida vid sida uttrycksredigerare som föreslår saker som kan göras baserat på vad som är i omfattning och vad som inte är det. Om du har ett uppenbart fel (som en uppgift utan att en variabel tilldelas) finns det en "Tryck här för att fixa" -knappen som kommer att försöka fixa den. Linjer som inte är bra markeras med gult.

Figur A

En enkel handling

Koden är svår att kategorisera. Det är absolut nödvändigt - du kan inte ens definiera dina egna typer (såvida jag inte saknar något). De inbyggda typerna är ganska omfattande och täcker mycket av telefonens funktionalitet (inklusive kartor, GPS-data, musik etc.). Koden följer en unik bearbetningsmodell från höger till vänster. Om du tittar på min kontrollkod för applikationen ( figur B ) ser du vad jag menar. Alternativen för vad du kan göra är tydligt skrivna, eftersom olika funktioner endast är tillgängliga under vissa omständigheter.

Figur B

Min Fibonacci-beräkningsåtgärd

Något annat som är snyggt är att med tanke på handlingen blir saker som strängar trunkerade för rymdöverväganden, men de utvidgas helt i uttrycksredigeraren. Förutom åtgärder kan du definiera globala variabler som automatiskt fortsätter över sessioner. Det finns en händelsemodell som fångar grundläggande händelser som en telefonskakning eller orienteringsändring. Observera också att du kan köra valfri åtgärd i en "app" för att starta saker.

IO är väldigt enkelt. Återigen finns det globala variabler som kvarstår för långsiktig lagring. Utöver det kan du dra till en duk för spel eller grafik; annars kan du "posta på väggen", vilket liknar en Facebook-vägg. Istället för den traditionella textvyn där nya artiklar visas längst ner, visas nya artiklar längst upp, och du kan posta valfri datatyp på väggen, som låtar (som ska spelas), bilder för visning, kartor etc.

Det finns vissa extremt coola demonstrationer tillgängliga (som "Missile Command" -klon), men TouchDevelop är inte för allvarliga applikationer. Du vill verkligen inte göra mycket på en liten skärm, även om UI gör det så enkelt som möjligt. Så vad är det bra? Tja, för att vara ärlig, jag älskar TouchDevelop!

För det första gör det enkel applikationsutveckling verkligen lätt. Varför skapa en hel app och gå igenom App Hub-systemet (eller använda en av dina 10 direkta distributioner per enhet) på vad som motsvarar ett enkelt skript? För det andra är det en bra introduktion till grundutvecklingen; det har verkligen den känsla som klassisk BASIC eller Logo gjorde när jag växte upp, ett slags "lekplats" -språk som ger en omedelbar vinst - ja, inte riktigt så omedelbart som ett REPL-system, men med minimal ansträngning för att se vad som händer .

Med en förenklad uppsättning bibliotek, en syntax som gör det uppenbart vad som händer, och ett urval av typer och funktioner som hanterar allt tungt lyft, så att du kan koncentrera dig på att binda saker ihop, ger TouchDevelop kul till världen av mjukvaruutveckling. En immateriell fördel är att arbeta med TouchDevelop lånar sig för att arbeta medan man väntar på ett läkarmottagning och liknande "tidsdödande" situationer.

Även om jag inte kommer att använda TouchDevelop för någon större apputveckling någon gång snart, är det en vinnare när det gäller kul, och jag hoppas att Microsoft Research också porterar det till Windows 8, eftersom jag tror att det skulle vara fantastiskt på En surfplatta.

J.Ja

© Copyright 2020 | mobilegn.com