Sjovt med TouchDevelop, en IDE til Windows Phone 7

For et par uger siden gennemsøgte jeg markedspladsen Windows Phone 7 (WP7) på udkig efter et nyt spil, der kunne spilles på min telefon, og jeg snublede over den sindssygtige TouchDevelop fra Microsoft Research. TouchDevelop er en fuldstændig IDE til WP7, der giver dig mulighed for at oprette og dele WP7-applikationer uden for den normale App Hub-proces. Ivrig efter at prøve noget interessant (hey, det kan være mere interessant end Angry Birds, mens jeg sad på vent og ventede på, at teknisk support skulle samle op), jeg gav TouchDevelop et skud.

Hvad der virkelig er unikt ved TouchDevelop er, hvordan Microsoft Research tilpassede IDE-behovene til en lille berøringsskærmsenhed som en telefon; minimal indtastning er nødvendig. I et traditionelt udviklingsmiljø kan jeg for eksempel erklære en metode med en linje som denne (ja, jeg bruger et eksempel på Fibonacci-sekvensgenerator):

 privat lang fib (int x) 

I TouchDevelop opretter jeg en funktion med en "+" -knap i menuen nederst på skærmen, mens jeg ser på min funktionsliste. Et standardnavn vælges, og der oprettes en kodestub. Ved at fremhæve linjen med funktionsstubben og klikke på menuen Rediger, får jeg et panorama, der giver mig mulighed for at redigere små dele af definitionen. Siden "rekvisitter" giver mig mulighed for at indstille navnet og markere et felt for at gøre funktionen privat. Et stryg til højre bringer mig til fanen "params" for at redigere parametre. Knappen "+" tilføjer en parameter (som også får et standardnavn), og i en rulleliste kan jeg vælge typen. Der er tekst under type for at forklare, hvad det er, hvilket er en dejlig funktion. Et andet svej til højre for fanen "returnerer" (du har flere elementer i "returnerer").

Derfra tilføjer du kodelinjer. Der er en meget unik brugergrænseflade her. Du ser, hvordan det ser ud som traditionel kode ( figur A ), men du skal vælge en linje og vælge en "Rediger" -kommando for at få adgang til den. Derfra har du en flisebelagt udtryk-editor, der foreslår ting, der kan gøres baseret på hvad der er i omfang og hvad der ikke er. Hvis du har en åbenlyst bug (som en opgave uden en variabel, der er tildelt), er der en "Tryk her for at ordne" -knappen, der prøver at løse den. Linjer, der ikke er gode, fremhæves med gult.

Figur A

En simpel handling

Koden er vanskelig at kategorisere. Det er strengt nødvendigt - du kan ikke engang definere dine egne typer (medmindre jeg mangler noget). De indbyggede typer er ret omfattende og dækker meget af telefonens funktionalitet (inklusive kort, GPS-data, musik osv.). Koden følger en unik behandlingsmodel fra højre til venstre. Hvis du ser på min kontrolkode til applikationen ( figur B ), vil du se, hvad jeg mener. Valgmulighederne for, hvad du kan gøre, er klart skrevet, da forskellige funktioner kun er tilgængelige under visse omstændigheder.

Figur B

Min Fibonacci-beregningsaktion

Noget andet, der er pænt, er, at i betragtning af handlingen bliver ting som strenge afkortet af hensyn til rummet, men de udvides fuldt ud i udtrykseditoren. Ud over handlinger kan du definere globale variabler, der automatisk vedholdes på tværs af sessioner. Der er en begivenhedsmodel, der fanger grundlæggende begivenheder som en telefon ryster eller orienteringsændring. Bemærk også, at du kan køre enhver given handling i en "app" for at starte tingene.

IO er meget enkel. Igen er der globale variabler, der vedvarer til langtidsopbevaring. Derudover kan du tegne et lærred til spil eller grafik; Ellers kan du "poste til væggen", hvilket ligner en Facebook-væg. I stedet for den traditionelle tekstvisning, hvor nye elementer vises i bunden, vises nye elementer øverst, og du kan placere en hvilken som helst datatype på væggen, som sange (der skal spilles), billeder til visning, kort osv.

Mens der er nogle ekstraordinært seje demoer tilgængelige (som "Missile Command" -klon), er TouchDevelop ikke til seriøse applikationer. Du ønsker virkelig ikke at gøre meget på en lille skærm, selvom UI gør det så let som muligt. Så hvad er det godt? Nå, for at være ærlig, elsker jeg TouchDevelop!

For det første gør det simpel applikationsudvikling virkelig let. Hvorfor oprette en hel app og gå gennem App Hub-systemet (eller bruge en af ​​dine 10 direkte implementeringer pr. Enhed) på hvad der svarer til et simpelt script? For det andet er det en fantastisk introduktion til grundlæggende udvikling; det har virkelig den fornemmelse, som klassisk BASIC eller Logo gjorde, da jeg voksede op, et slags "legeplads" -sprog, der leverer en øjeblikkelig udbetaling - godt, ikke lige så øjeblikkeligt som et REPL-system, men med minimal indsats for at se, hvad der sker .

Med et forenklet sæt biblioteker, en syntaks, der gør det tydeligt, hvad der sker, og et udvalg af typer og funktioner, der håndterer alt det tunge løft, så du kan koncentrere dig om at binde tingene sammen, leverer TouchDevelop sjov til verdenen af ​​softwareudvikling. En immateriel fordel er, at arbejde med TouchDevelop egner sig til at arbejde, mens du venter på et lægekontor og lignende "tidsmordere" -situationer.

Selvom jeg ikke snart vil bruge TouchDevelop til nogen større appudvikling, er det en vinder med hensyn til sjov, og jeg håber, at Microsoft Research også porterer det til Windows 8, da jeg synes, det ville være fantastisk på en tablet.

J.Ja

© Copyright 2020 | mobilegn.com