Artikel top billede

(Foto: Computerworld)

Nu kan du selv skabe apps til Chrome

Man har nu et stykke tid kunne installere Chrome-apps på mange forskellige platforme – fra pc’er til mobile enheder. Men hvad er en Chrome-app, og hvordan kan du selv lave sådan en? Det får du en indføring i her.

Af Michell Cronberg, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Det er ikke omtalt særlig meget, men siden foråret har det gennem Chrome Web Store været muligt at installere særlige offline-applikationer, der byder på en masse spændende muligheder. Du finder dem under fanen ”Til din computer”, og de bliver kaldt Google Chrome Apps.

Disse applikationer er specielle af flere årsager, men overordnet er der tale om applikationer, som er fuldstændig afhængige af Chrome-browseren – ligesom applikationer kan være afhængige af .NET eller Java runtime. De kan udelukkende installeres og afvikles gennem Chrome, men dermed kan de potentielt installeres på alle de platforme, hvor Chrome kan installeres.

I øjeblikket kan Chrome Apps installeres under Chrome til Windows, Mac og Chrome OS (Chromebooks) samt Linux. Applikationerne installeres direkte fra Chrome Web Store og afvikles enten direkte fra applikationsfanen (chrome://apps), en app-liste, som er en del af Chrome, eller de startes ganske enkelt som en almindelig applikation. På Windows kan applikationerne således findes på start-menuen – på samme måde som en standard Windows-applikation.

Ligesom ”rigtige” applikationer på Windows, Mac eller Linux afvikles en Chrome-applikation i et vindue, der kan maksimeres, minimeres eller lukkes, og applikationen kan ligeledes findes på proceslinjen. For den almindelige bruger vil der således ikke være nogen forskel på at starte og afvikle en ”ægte” applikation eller en Chrome App.

De fleste applikationer i Chrome Webstore kræver adgang til nettet, men Chrome Apps er ægte offline-applikationer – applikationerne hentes, gemmes ved installation og startes herefter lokalt. Det giver mulighed for at udvikle applikationer, som enten skal kunne fungere i et komplet offline miljø, eller som skal kunne håndtere at falde af nettet ind imellem.

I modsætning til almindelige webapplikationer, der også afvikles i en browser, har Chrome Apps en ekstra dimension: Chrome stiller et større API (Application Programming Interface) til rådighed, som gør det muligt at tilgå såvel funktioner i operativsystemet samt ekstern hardware.

Man kan således som udvikler relativt simpelt tilgå den underliggende maskines filsystem, hukommelse, cpu, strømstyring, serielle porte, USB-enheder, webkamera, Bluetooth-enheder, netværk med videre. Samme API giver mulighed for at kontrollere selve applikationen og det vindue, det afvikles i.

De fleste funktioner er bundet til en minimumsversion af Chrome, men enkelte kan være afhængige af det konkrete operativsystem eller af processorarkitekturen.

Udvikling af apps

Da der er tale om en applikation som afvikles via Chrome-browseren er det helt naturligt, at udvikling sker ved hjælp af HTML, css og JavaScript, og bortset fra muligheden for at styre vindue og tilgå eksterne ressourcer via et JavaScript API, er der ikke meget forskel på en Chrome App og en standard web-app.

Således kan en applikation blot bestå af simpel HTML og css, forretningsrelaterede applikationer kan (eventuelt) benytte SPA-frameworks som Angular eller Backbone, og til at hjælpe med at styre brugerfladen kan man eksempelvis benytte jQuery. Da Chrome er helt opdateret for så vidt angår css, er de mange css3-features også tilgængelige – herunder animationer. De grafiktunge applikationer som blandt andet spil kan vælge at benytte HTML5-features som Canvas-grafik eller svg, og da Chrome understøtter WebGL er hard-wareaccelereret 3D-grafik også tilgængelig.

Hvis du har viden om web-udvikling er der således frit spil, og faktisk er det ekstremt simpelt at udvikle en Chrome App. Man kan vælge at benytte sin foretrukne editor, men man også benytte det gratis udviklingsmiljø Chrome Dev Editor, som du kan finde i Chrome Webshop (se links). En Chrome App kræver nemlig en konfigurationsfil og lidt JavaScript, som starter applikationen, og begge filer tilføjes automatisk, når man benytter Chome app-skabelonen i Chrome Dev Editor. Herefter er det blot at tilføje HTML, css og JavaScript og klikke på Run. Man kan sågar distribuere en applikation til Chrome Webstore direkte fra udviklingsmiljøet.

Der findes eksempler på forskellige typer af applikationer på GitHub, hvor Google vedligeholder et repository med lige nu over 60 applikationer. Der er eksempler på brug af webkamera, OAuth2, Sockets (herunder en app til at styre en drone) og meget mere.

Udover at kunne afvikles på Windows, ChromeOS, Mac og Linux, arbejder Google på at kunne afvikle Chrome apps på de mobile platforme. De står blandt andet bag mobile-chrome-apps repository’et hos GitHub, som har til formål at fremme Chrome Apps på både Android og iOS ved hjælp af open source-projektet Apache Cordova. Det er ret komplekst selv at kompilere og distribuere til mobile enheder, men Chrome Dev Editor gør det simpelt – med et klik på et menupunkt.

Negle på en tavle

Det store spørgsmål er selvfølgelig, om man skal kaste sig over udviklingen af en Chrome App, for der er naturligvis fordele og ulemper.
Helt overordnet er der især en ting, der virker som negle på en tavle, hvis man bare har lidt erfaring med webudvikling. Tendensen i webudvikling har de senere år været, at alt skal standardiseres og kunne afvikles på alle platforme, men en Chrome App lever i Chrome-browseren og kun der. Godt nok er Chrome en forrygende og populær browser, men at binde en webapplikation til en konkret browser virker forkert.

Yderligere er HTML, css og JavaScript (endnu) ikke det rigtige valg til flere typer applikationer. Chromes V8 JavaScript-motor kan ikke konkurrere med en ren C++-applikation, ligesom HTML og css kan have sine begrænsninger. Slutteligt skal man jo være bevidst om, at en standard webapplikation (som kan afvikles overalt) også kan en masse ting ”ud af boksen” – herunder offlinefunktionalitet (app cache og local storage) og sockets (web socket) bare for at nævne et par stykker.

Men ellers er Chrome Apps en spændende, ny platform, og især muligheden for nemt at distribuere og sælge applikationer via Chrome Web Store, simulering af en ”rigtig” applikation og tilgangen til operativsystemet gennem Chromes API kan være meget interessant.

Det er nemt at prøve en Chrome App – eventuelt på forskellige platforme. Start Chrome-browseren på din computer, og gå til chrome://apps, eller klik på Apps-ikonet på bogmærke-linjen.

Klik derefter på ”Shop”, og find fanen ”Til din computer”. Installer eksempelvis det gratis Solitaire (kabaler).

Efter installation findes applikationen på Apps-fanen i Chrome eller i app-listen. Du kan også finde applikationen på Start-menuen (Windows).
Start applikationen, og læg mærke til, at den ”føles” som en standardapplikation. Hvis du fjerner netforbindelsen, kan du endda starte applikationen alligevel.

Den officielle Chrome app-side:
http://goo.gl/Nb52hU

Eksempler på Chrome apps:
http://goo.gl/gM2dE

Chrome Dev Editor:
http://goo.gl/SA0Mc6

Chrome apps på Android og iOS:
http://goo.gl/nU5O6U

Chromes JavaScript API:
http://goo.gl/0kRZjj