Beste fremgangsmåter for å utvikle en Appcelerator Titanium iOS-app

Appcelerator Titanium er en populær plattform for å utvikle mobile apper for mer enn ett enhetsoperativsystem (OS) fra en enkelt JavaScript-kodebase. Den tilbyr en SDK som støtter iOS, Android, BlackBerry 10, Tizen og mobile webapper, sammen med utmerkede dokumentasjons- og samfunnsressurser.

Hvis du er vant til å skrive dynamiske webapper med JavaScript, kan det være enkelt å lære Titanium. Det er absolutt enklere å lære enn verktøysett, språk og utviklingsmiljøer som støtter de opprinnelige OS-plattformene.

Men å utvikle med Titanium er ikke det samme som for nettet - det er spesielle spørsmål og spesifikasjoner for hvert OS. Hvis du ikke kjenner til disse spørsmålene og ikke følger god praksis, vil sannsynligvis sluttresultatet være skuffende.

Denne artikkelen introduserer Titanium's Mobile Best Practices med en kort tutorial om å skrive en iPhone-app som presenterer en tabellvisning med tilpassede rader. Jeg antar at du har installert Titanium Studio for Mac etter å ha lastet ned fra nettstedet Appcelerator Developers. Påmelding er gratis.

Lag demoprosjektet

1. Åpne Titanium Studio og velg Ny | Mobilprosjekt fra Fil-menyen.

2. Fra klassiske maler velger du Klassisk (Alloy er det andre alternativet) og Standardprosjekt.

3. Klikk Neste.

4. For prosjektnavn angir du Demo og for App-ID skriver du inn com.mycompany.Demo.

5. Klikk på Fullfør.

Et nytt, klassisk Titanium mobilprosjekt vil bli opprettet på det valgte arbeidsområdet ditt.

I Editor-vinduet skal det være en Dashboard-fane (hvis ikke, klikk på det lille grønne skjoldikonet nederst til høyre i Studio ved siden av navnet ditt). Finn der det står Mine apper, og klikk på den; Safari vil åpne Appcelerators nettportal for appene dine. Klikk på Appdetaljene for demonstrasjonen din. Figur A viser valg for utvidelser for analyse, sky og foretak, samt detaljer om gratis abonnementsplan.

Figur A

Gå tilbake til Titanium Studio og dobbeltklikk på tiapp.xml-filen i App Explorer-vinduet for å vise filen i Editor-vinduet ( figur B ). Tiapp.xml inneholder konfigurasjonsinnstillingene for Demo-appen.

Figur B

Hvis du ikke planlegger å bruke Appcelerators analysetjeneste, bør du bytte ut true med falsk mellom analysetagene.

Iphone-kodene inneholder orienteringsinnstillingene for iPhone og iPad. Hvis du vil legge til liggende retning på iPhone, kopierer du venstre og høyre liggende retningskoder fra iPad-delen til iPhone-orienteringsdelen.

Ikke forurense det globale objektet

Hovedkontrolleren for Demo-appen er app.js-filen. Dobbeltklikk app.js i App Explorer-vinduet for å vise filen i Editor-vinduet ( figur C ).

Figur C

Bytt ut standardkoden med funksjonen som er vist på figuren. En selvoppringende funksjon brukes til å starte applikasjonsvinduet fordi det gjør en lukking som ikke forurenser det globale objektet, tilgjengelig som dette i app.js. Funksjonen sjekker mobil OS-navnet, slik at applikasjonsvinduet som har iOS-spesifikke anrop til Titanium SDK, lastes inn.

Programmer skal bruke CommonJS-moduler

Opprett ApplicationWindow.js i mappen for håndholdte / iphone (du må kanskje først lage håndholdte og iphone mapper). Vis filen i Editor-vinduet. Filen vist i figur D inneholder en modul for å instantisere et iOS-navigasjonsvinduobjekt. Navigasjonsvinduets opprinnelige vindu lastes inn fra TableWindow.js-filen. Modulen er eksponert for omverdenen med eksportdirektivet.

Figur D

Bordutsikten

Opprett TableWindow.js-filen i håndholdt / iphone-mappen og vis filen i Editor-vinduet. Filen vist i figurene E og F inneholder en modul for å øyeblikkeliggjøre et vindu som inneholder en tabellvisning.

Figur E

Hver rad i tabellvisningen er opprettet med createTableViewRow API slik at den kan tilpasses. For iOS er det viktig å angi radens høyde eksplisitt (ikke bruk 'auto' eller Ti.UI.SIZE) og className-egenskapene for alle rader som har samme layout.

Det er også viktig å lage et gjennomsiktig syn som fyller hele rekken. Med touchEnabled-egenskapen til raden satt til usann, vil den gjennomsiktige visningen fange opp alle enkelt trykk-hendelser. Ellers vil tabellen fange opp enkelt-trykk-hendelsene, og hendelsen vil ikke inkludere den tappede radens indeks.

Figur F

Legg til en lytter for hendelser med ett trykk på bordet. Bare en lytter er nødvendig for alle radene (ikke legg til en lytter til hver rad eller knappen i hver rad). Fordi tabellen, raden, gjennomsiktig radvisning og knappen hver har en objName-egenskap, vil den bli inkludert i hendelsens kildeegenskap. Hvis objName er 'knapp', vises en dialog med knappetittelen. Ellers lastes og åpnes detaljvinduet i navigasjonsvinduet. Dette vinduet lastes bare når du trykker på en rad.

Detaljvinduet

Lag filen DetailWindow.js i mappen for håndholdt / iphone, og vis filen i Editor-vinduet. Filen vist i figur G inneholder en modul for å instantisere et vindu med en etikett som viser indeksen for raden som ble tappet.

Figur G

Hukommelse

Beste fremgangsmåter for å håndtere minne inkluderer å lukke vinduer, annullere referanser til objekter og fjerne globale hendelsesbehandlere når de ikke lenger brukes. Det er også enkelt å lage en minnelekkasje ved å legge en hendelseshåndterer til et UI-objekt (f.eks. En tabell) i et annet omfang enn der objektet er deklarert. For eksempel er det dårlig å erklære en tabell utenfor en moduls eksporterte funksjon og legge til en hendelsesbehandler til tabellen i den funksjonen.

Kjør appen

Forutsatt at du har installert Xcode-verktøyene og har lagt til en lanseringskonfigurasjon for iPhone-simulatoren til Demo-prosjektet, er det enkelt å kjøre simulatoren, eller installere på en enhet, fra Titanium Studio.

I App Explorer-vinduet klikker du på Kjør-ikonet og velger konfigurering av iPhone-simulator. Det første skjermbildet nedenfor viser Demo-appen etter at knappen merket H er tappet. Det andre skjermbildet nedenfor viser detaljvinduet etter at raden er tappet.

Konklusjon

Denne enkle demo-appen er forhåpentligvis noe du kan bygge på når du utvikler en mer kompleks mobilapp fra Titanium. I tillegg til den beste fremgangsmåten, bør du holde deg oppdatert med tips, triks og gotchas som finnes i forumene og på utviklerblogger. Titan forbedrer seg alltid, og legering er den neste tingen å vurdere.

Ekstra lesing om Titanium

  • Beste praksis for mobil
  • Appcelerator-blogg
  • Læring av titan
  • Appcelerator Developer Center
  • Titan tips og triks
  • Titanium Mobile - Gotchas
  • Om feilsøkingsperspektivet

© Copyright 2021 | pepebotifarra.com