Vad skall man göra för att skapa mobila appar med open source? Helst skall dessa fungera för såväl Android som för iOS och det är en bonus om det även går att köra på en Windows (eller Linux) tablet.
Det finns ”fina” utvecklingsplattformar för diverse mer eller mindre öppna system, men där utveckling sker i C++, Java eller annat programmeringsspråk. Jag kan vare sig C++ eller Java. Jag är mer van att skriva JavaScript, html och Python. Möjligen med lite PHP intryckt i det hela.
Varför inte testa Adobe PhoneGap?
Det finns en desktop app för Windows och för Mac, men för Linux är det terminalen som gäller.
sudo apt install npm npm install -g phonegap
Vill man sedan testköra i mobilen så får man installera PhoneGap Developer. Detta fungerar däremot endast på Android (och Windows Phone) då Apple plockat bort appen från butiken då den inte längre uppfyller de gällande villkoren för appar. Det går dock att bygga körbara filer för iOS när man väl är klar, men testappen är som sagt borta.
Det går även att testa i en lokal webbläsare också. Allt appen går ut på är nämligen att paketera webbsidor i en ”native app” för olika plattformar. Därmed får man tillgång till resurser som kamera och GPS, vilket är betydelsefullt för mig och tänkbara geoapplikationer.
Bara för att testa att det fungerar så följer jag instruktionerna på phonegap.com, som skapar en ”hello world” app på en utpekad sökväg. Själva appen finns i ”www” katalogen och det är här man kan skapa sin webbapp med kod i html, javascript och html5.
För att testa på mobilen (eller i webbläsare) så går man till appkatalogen som skapades med create kommandot och där kör man:
phonegap serve
Sedan öppnar man en webbläsare och pekar denna på den ip-adress som anges, eller så matar man in adressen i Android appen.
Nu blir det ju inte så intressant utan att man lägger till lite kod, så snabbt och enkelt lägger jag till lite text och en knapp i html-koden. Spara och appen uppdaterar sig automatiskt efter en liten stund.
Det verkar ju fungera bra.
Att ”bygga” körbara filer kan man också göra via terminalen, men då behöver man installera SDK:er för alla plattformar man vill skapa körbara filer för. Ett alternativ är att använda PhoneGap Build.
Detta är en Adobe tjänst som kräver inloggning och beroende på hur stora program och vilka plugin man vill använda så kostar det olika mycket att använda tjänsten. För de enklaste projekten utan plugin så är det dock gratis.
Jag får se om jag gör ett test med en enklare app lite längre fram, men just nu så har jag inget direkt som är lönt att köra, vare sig via terminalen eller via PhoneGap Build. Men, för all del. Jag har ju en suverän Hello World app med en custom knapp jag kan testa med.
Jag tänker inte gå igenom hur jag gjorde för att bygga apk-filen via terminalen. Det var inte helt enkelt eller självklart. Har du ett Adobe konto så kan jag nog föreslå att du testar det först om du skapar egna projekt. Jag har dessutom bara byggt appen för Android. Att installera allt som krävs för det upptar ganska många gigabyte på hårddisken.
Har du några andra tips på hur man kan bygga mobila appar för GEO med öppen källkod, som inte kräver avancerade programmeringskunskaper.