Programmering

13 viktige programmeringsverktøy for mobilnettet

Når det gjelder programmering for mobile enheter, blir valg raskt dilemma. Tar du mål mot det lukrative iPhone-markedet på bekostning av Androids stigende tidevann? Går du hjemme eller skriver du kode til mobilnettet? Og mens en enkelt bunke med kode som fungerer optimalt på et stadig større utvalg av plattformer, formfaktorer og enheter, ville være drømmen, er virkeligheten en fragmentert prøveversjon der rudimentære oppgaver ofte kan være en utfordring.

Men med utfordringer og muligheter kommer nysgjerrige sinn. Og avlingen av utviklere som retter oppmerksomheten mot å bygge ut mobile verktøy og biblioteker, etablerer raskt et levende økosystem for å hjelpe mobilutviklere - spesielt de som har valgt å målrette mot mobilnettet.

[Også på .com: Oppdag 4 måter å lage smarttelefonweb-apper uten å gå gjennom Apples App Store. | Hold deg oppdatert på viktige innsikt i applikasjonsutvikling med Fatal Exception-bloggen og Developer World-nyhetsbrevet. | Hold deg oppdatert om mobilnyheter og innsikt med Mobile Edge-bloggen og Mobilize-nyhetsbrevet. ]

I en periode var dette settet begrenset. Men løftet om HTML5 har åpnet mange utvikleres øyne for mobilnettets utallige fordeler i forhold til å prøve å installere innebygd programvare på enheten.

For det første er nettsteder åpne. Det er ikke nødvendig å spille "mor kan jeg" med App Store-godkjenningsteamet når produktet lanseres eller oppdateres.

For det andre kan utviklere høste 100 prosent av inntektene sine for mobilapper. Selvfølgelig må du finne en måte å samle inn penger selv, noe som ikke alltid er enkelt. Men kuttet på 30 prosent som Apple tar fra appkjøp, er en bratt takst for det som stort sett er en rad i en database og et stort byråkrati.

For det tredje blir HTML5 mer robust og funksjonsrikt. Den siste versjonen lar deg lagre data på klienten og gjøre det meste av det som en innfødt app kan gjøre. Med andre ord har nettleserens sandkasse nesten alle de samme funksjonene som den innfødte koden sandkasse. Og ja, de innfødte kodeappene holdes i sitt eget forseglede hjørne av operativsystemet.

For det fjerde er HTML5-apper ikke enhetsbundet. Mens mye av sprøytenarkivet fortsetter å bane rundt Apples iPhone, er HTML5-apper relativt enkle å flytte til andre plattformer. Det er ikke så enkelt som å trykke på en knapp, men det er mye enklere enn å oversette appen din fra Objective C til Java.

Det er selvfølgelig begrensninger. Nettapper kan være byttedyr for tilkoblingsproblemer. De er ofte litt tregere, og mange innfødte apputviklere elsker å påpeke forsinkelser på millisekund som kanskje er merkbare. Spillutviklere vil ønske å tenke to ganger om å stole på glatt, superresponsiv kode i JavaScript.

Den største begrensningen kan være i selve utviklingen. Mens Apples verktøy er ganske bra for å kikke inn i de innfødte appene, er det vanskeligere å grave dypt inn i strukturen til koden som kjører i din mobile nettleser. All denne interessen for mobilutvikling og det mobile nettet har skapt en rekke biblioteker og verktøy for å lette prosessen med å bygge applikasjoner med dem. Her er en liste over iøynefallende prosjekter med potensial til å gjøre det mer praktisk å bygge ut det mobile nettet.

Programvareverktøy for mobilnett: ChocolateChip-UI

Last ned ChocolateChip-UI

Den lille skjermen eiendommer til mobile enheter setter en premie på effektiv grensesnittdesign. Skriv inn Robert Biggs, en webutvikler i Nord-California som bygde ChocolateChip-UI, et rammeverk for å piske opp et verdifullt mobilgrensesnitt i HTML.

Teknisk sett er den underliggende koden opprettet av utvikleren WAML (Web Application Markup Language), et markeringsspråk bygget på toppen av HTML5. Det meste av det enkle arbeidet gjøres med WAML-koder som eller . Rammeverkets JavaScript fungerer gjennom WAML og gjør det til ren HMTL5 for smarttelefonen.

Denne kombinasjonen er like lett som en fjær. Du kan blande inn din egen HTML, CSS og JavaScript i WAML, og den navigerer i ChocolateChip-UI-oversettelsesprosessen helt fint.

Selv om denne tilnærmingen ikke er perfekt, kan jeg forstå hvorfor Biggs valgte denne ruten. Jeg har gått tapt i JavaScript-nedleggelsene av mange verktøy for mobilutvikling før, og det er ikke pent.

ChocolateChip-UIs samling av WAML-widgets er ganske omfattende, som alle ser ut som standard iPhone-brukergrensesnitt. Det inkluderer til og med statister som slettelister for å gjøre det mulig for brukere å eliminere elementer fra en liste med noen få fingre.

Programvareverktøy for mobilnett: Mobl

Last ned Mobl

JavaScript har mange grove kanter som fortsetter å skade Web-utviklere. Mobl-teamet bestemte seg for å glatte ut disse kantene mens de bygde et rammeverk for å lage mobilapplikasjoner som kjører i WebKit-nettlesere. I stedet for å skrive instruksjonene dine i HTML, JavaScript og CSS, skriver du dem i Mobl, og Mobl-kompilatoren gjør dem om til HTML, JavaScript og CSS for mobilnettleseren.

Tilnærmingen gjorde det mulig for Mobl-teamet å fikse noen av de vanskeligere problemene med JavaScript, for eksempel hvordan funksjoner overføres til andre funksjoner for forsinket kjøring. Å holde oversikt over alle de nestede parentesene som er nødvendige for å gjøre dette i JavaScript, kan raskt bli nummende og øke sannsynligheten for feil.

Mobl blir kvitt denne kompleksiteten ved å benytte en mer deklarativ syntaks. Hvis du vil stoppe 1000 millisekunder, skriver du:

søvn (1000); doNext ();

Mobl samler dette til JavaScript med en setTimeout funksjon og en Ring tilbake funksjon som skal utføres doNext (). Som utvikler trenger du ikke tenke på Ring tilbake syntaks eller hvordan du skal pakke alt sammen i enda en funksjon. Alt du trenger å gjøre er å skrive en liste over ting du vil se skje.

Det er mange måter Mobl-teamet hjelper deg med å skrive disse instruksjonene uten å måtte være oppmerksom på alle tegnsettingene i JavaScript. Sluttresultatet er en fin samling av standardidiomer av mobilapper. Vil du ha en rulleliste? Bare pakk inn listen over elementer med gruppens nøkkelord.

Utviklerne som ikke vil like denne tilnærmingen, vil være de som allerede er komfortable med Objective-C eller JavaScript. Tross alt, hvorfor lære enda et språk med litt annen syntaks når denne litt forskjellige syntaksen bare blir omgjort til noe de allerede forstår? Så igjen, språkelskere kan finne en rekke gode, nye ideer for å gjøre det verdt turen.

Programvareverktøy for mobilnett: jQuery Mobile

Last ned jQuery Mobile

Da folkene bak jQuery-rammeverket bestemte seg for å takle mobilplattformene og bygge et enkelt UI-verktøysett for smarttelefoner, var det klart at det ville tiltrekke seg mye oppmerksomhet og eksperimentering. Resultatet er et prosjekt som er godt støttet av mange av de største maskinvareprodusentene, og som sikkert vil være relativt vellykket på mobile enheter.

Den enkleste delen av jQuery Mobile er dens HTML-sentrerte layout. Sidene er bygd i DIVer og andre standard HTML-komponenter som

  • koder. Som et resultat er jQuery Mobile enkel å integrere med dynamiske nettsteder og CMSer, fordi bruk av det ofte bare handler om å legge til et nytt tema eller hud. Det er for eksempel flere Drupal-temaer og moduler bygget rundt jQuery Mobile.

    Den tette integrasjonen med jQuery betyr at mange plugin-moduler for skrivebordet også vil fungere med mobile nettsteder. Det er også noen få mobile plug-ins bygget for å utvide mobilrammeverket. Den lette berøringen av rammeverket og det fruktbare økosystemet bygget rundt jQuery Mobile, betyr at vi sannsynligvis vil se at kraften bare vokser.

    Programvareverktøy for mobilnett: The-M-Project

    Last ned The-M-Project

    Hvis jQuery Mobils samling av metoder og stiler ikke er sofistikert nok, tilbyr The-M-Project en samling widgets som er samlet ned i jQuery Mobile-objekter. Den håndterer mange av de detaljerte designdetaljene, for eksempel å plassere et ikon på riktig sted, slik at du i stedet kan fokusere på det større bildet.

    Koden er strukturert med Model-View-Controller-mønsteret. Mye av arbeidet bygger en stor JSON-struktur som definerer de forskjellige sidene og widgetene som sitter på disse sidene. Oppsettet håndteres av The-M-Project.

    Appens oppførsel defineres ved å opprette funksjoner knyttet til forskjellige hendelseskroker for hver side. The-M-Project tar seg av at hendelsene når sin plassering.

    Det er ingenting verdt at bygg- og distribusjonsprosessen er integrert med Node.js. Koden for å bygge din flotte opprettelse kjører også i Node.js; testingen utføres med samme server. Når det fungerer, kan du overføre blandingen av kode og bibliotek til hvilken som helst webserver, eller du kan integrere den videre med Node.js.

    Programvareverktøy for mobilnett: Touchqode

    Last ned Touchqode

    Du sitter på en kafé i Paris, på toppen av Mount Everest, eller hvor som helst annet uten din bærbare datamaskin eller skrivebord. En idé slår deg. Klatter du det på et papirskrap og kommer tilbake til det senere? Ikke hvis du har Touchqode på Android-telefonen din. (En iPhone-versjon kommer snart.)

    Dette lille utviklingsmiljøet pakker et overraskende stort antall funksjoner i en liten skjerm. Koden er uthevet, skriptene kan kjøre lokalt, og du kan synkronisere den nye koden din via FTP. Hvis sjefen ringer når du er på farten, bør du ha små problemer med å fikse noe som bare trenger noen få tastetrykk. Jeg kan ikke forestille meg å skrive lange programmer med Android-telefonen min, men med tanke på at forfattere har komponert hele romaner på mobiltelefonene sine, kan det være for tidlig å anta at brukerne bare bruker Touchqode for å lage noen få spor med sporadisk kode.

    Uansett er Touchqode bra i en klype.

    Programvareverktøy for mobilnett: LimeJS

    Last ned LimeJS

    En av grunnene til at Flash-spill er så overbevisende, er på grunn av det fruktbare økosystemet til biblioteksforfattere som kan selge arbeidet sitt til Flash-utviklere. DigitalFruit opprettet LimeJS for å tilby lignende støtte til utviklere som ønsker å bruke WebGL-objektene som er en del av HTML5.

    De tidlige resultatene av LimeJS er effektive i WebKit-nettlesere. Koden er teknisk JavaScript, men strukturen ligner på god, gammeldags C, med samtaler til OpenGL-biblioteket. Det skal være mulig å automatisk krysskompilere noen OpenGL til dette biblioteket, selv om dette sannsynligvis vil kreve litt håndjustering.

    LimeJS-tilbud er noen nyttige funksjoner for å forenkle spillutviklingen. Det er scener fylt med lag og en regissør som vil skyte hendelser i henhold til en fleksibel tidsplan. Det er animasjoner og overganger som beveger sprites over sidene. Alle funksjonene er kjent for folk som har skrevet uformelle spill før.

    Utviklingsmiljøet inkluderer flere moderne innslag. Grunnbygningen håndteres i Python, og den endelige pakken kan pakkes sammen med Googles Closure Compiler slik at den lastes ned raskere.

    LimeJS vil være attraktivt for alle som har brukt tid på å utvikle spill for OpenGL-rammer i andre miljøer. Selv om den endelige syntaksen er JavaScript, stoler den ikke på de mer komplekse ideene som gjør JavaScript avskyende for noen, i det minste til Closure Compiler gjør sitt arbeid.

    Programvareverktøy for mobilnett: Jdrop

    Mer om Jdrop

    På sitt ansikt ser Jdrop ut til å være en stor haug med JSON som kan forveksles med en åpen NoSQL-database. I praksis er denne nettressursen innstilt for å hjelpe mobilutviklere med å samle ytelsesdata mellom de små skjermene og skrivebordet, der det kan analyseres bedre.

    For å lette vanskeligheten med å hente ut ytelsesfeedback fra mobile enheter, tilbyr Jdrop Mobile Perf, et bokmerke som samler et sett med ytelsesbokmerker, inkludert Firebug Lite, Page Resources, DOM Monster, SpriteMe, CSSess og Zoompf. Gjennom Mobile Perf kan du feilsøke appen din på en telefon og automatisk lagre de resulterende dataene i Jdrop-skyen for senere analyse fra skrivebordet ditt, og gir en interessant måte å feilsøke ekte mobilytelse og å undersøke HTML-kilden til favorittnettstedene dine.

    Programvareverktøy for mobilnett: XUI, Zepto

    Last ned XUI

    Last ned Zepto

    De fleste av rammene som er beskrevet her eksisterer for å gjøre tungt løft ved å gjøre en beskrivelse av applikasjonen, ofte skrevet på eget språk, til noe som ser ganske bra ut på siden. XUI og Zepto er veldig forskjellige. De begynner med ideen om at HTML og CSS allerede er ganske flinke til å vise det meste som man kanskje vil vise, og bare tilbyr hjelp til å lage og endre DOM.

    Disse bibliotekene vil ikke legge ut widgetene dine eller til og med lage widgets av noe slag. Du får hva HTML tilbyr, så kontrollerer du utseendet med CSS. Biblioteket er der for å hjelpe deg med å manipulere DOM ved å tilby funksjoner som muligheten til å finne elementer, legge ved klasser og sjonglere.

    Utbetalingen er i størrelse. Den nåværende versjonen av Zepto veier omtrent 2300 byte, omtrent en tidel av størrelsen på jQuery. XUI er bare litt større. Sammenligningen med jQuery er passende fordi begge låner mye av syntaksen uten å tilby noen av funksjonene som krever mer sofistikert og tung kode. XUI trekker for eksempel ut koden som kreves for å være kompatibel med BlackBerry eller IE Mobile. Hvis du vil ha dem, kan du få et fetere bibliotek.

    $config[zx-auto] not found$config[zx-overlay] not found