}

Aplicació o web? Tots dos en un amb PWA

2017/03/01 Leturia Azkarate, Igor - Informatikaria eta ikertzaileaElhuyar Hizkuntza eta Teknologia Iturria: Elhuyar aldizkaria

Fa temps que ve el debat sobre si les aplicacions o llocs web són millors per a dispositius mòbils. Ambdues tenen avantatges i inconvenients, per la qual cosa no existeix una resposta clara, però es pot dir que en general les aplicacions han prevalgut en els últims anys. Ara, no obstant això, existeix una nova tecnologia que reuneix les millors característiques de totes dues i que pot complir les seves funcions sense tenir els desavantatges de cadascuna d'elles: Tecnologia Progressive Web App o PWA.
Ed. Dijoantonycj/CC-BY-SA

Des que els dispositius mòbils tenen internet és possible navegar per la web amb ells. No obstant això, en l'actualitat gairebé qualsevol organització o empresa que disposi d'una pàgina web o d'un servei web ha desenvolupat una aplicació per a posar a la disposició dels usuaris els serveis o continguts que també existeixen en la web. No obstant això, hi ha qui opina que aquest no és el camí a seguir.

Tal com us comentem en un article escrit en aquest apartat en 2011, les webs tenen certs avantatges: d'una banda, totes elles utilitzen protocols i estàndards oberts; per un altre, elaboren una web única que funcionarà en qualsevol dispositiu amb Android, iOS o sistema operatiu.

Els qui defensen les aplicacions també tenen els seus arguments. Una d'elles és que una web no pot fer coses que una aplicació pugui fer. A pesar que les tecnologies HTML 5 i similars permeten que les webs facin cada vegada més coses, encara hi ha coses que no poden fer: mostrar notificacions fora del navegador, encara que estiguem offline la ràpida obertura inicial…

Qui té raó? La veritat és que tots. És innegable que les Webs no poden fer algunes coses que les Apps poden fer i per això han tingut èxit, encara que és necessari fer una versió per a cadascun dels principals sistemes operatius. En qualsevol cas, a més de les aplicacions, és necessari crear una pàgina web per al públic que accedeix des de l'ordinador.

Webs que semblen aplicacions

Precisament, fa gairebé dos anys, Google va proposar la tecnologia Progressive Web App o PWA amb l'objectiu de solucionar els inconvenients de les webs en els mòbils enfront de les aplicacions. En la seva opinió, l'objectiu era “aconseguir una experiència d'usuari d'aplicació amb webs”. En definitiva, aquesta tecnologia consisteix a afegir als navegadors certes característiques perquè puguin ser utilitzats per les webs. D'aquesta forma es poden aprofitar millor les possibilitats que ofereixen els dispositius mòbils.

Els anomenats Service workers són una de les principals característiques de la tecnologia PWA. Són fragments de codi Javascript que s'executen en el background o en el revers. Una de les coses que poden fer és, per exemple, descarregar i emmagatzemar en el local les dades que necessita la nostra web quan tenim connexió a Internet. D'aquesta manera, el lloc web, encara que no disposi de connexió a Internet, pot funcionar com si ho tingués, és a dir, li permetria caminar offline.

A més, podem determinar quins continguts componen l'esquelet o contingut fix de la web, el service worker ho guardarà en el local i així, en les següents ocasions, la web s'obrirà ràpidament com les aplicacions. I a través d'aquests service workers es pot aconseguir que les notificacions fora de la web es mostrin en el dispositiu, com el fan les aplicacions.

Els PWA també són instal·lables. Si entrem per segona vegada en una web que utilitza aquesta tecnologia i han passat més de 5 minuts des de l'anterior (no em preguntis per què aquest temps! ), ens permetrà instal·lar-ho i, en cas afirmatiu, en l'escriptori es col·locarà una icona com el de qualsevol altra aplicació.

Per tant, una web que utilitza tecnologia PWA pot fer gairebé tot el que una aplicació pot fer. Però a més té avantatges que les aplicacions no tenen. D'una banda és enlazable, ja que com qualsevol web té una URL i qualsevol pàgina dins d'ella. D'altra banda, els cercadors poden indexar-ho i detectar-ho com una aplicació instal·lable. A més es poden instal·lar sense passar per la botiga d'aplicacions. I finalment, l'únic desenvolupament és suficient per a tenir una web i una aplicació que funcioni en qualsevol dispositiu.

Existeixen diversos casos d'èxit de la tecnologia PWA. Alguns d'ells es poden veure en https://pwa.rocks/. Per exemple, el conegut sistema de missatgeria Telegram té un PWA que es pot executar tant en l'ordinador com en la web, així com els serveis de la revista personalitzada Flipboard. I les botigues online Flipkart de l'Índia i Alibaba i AliExpress de la Xina afirmen que l'acceleració de velocitats per la conversió de la web a tecnologia PWA els ha portat una gran fidelitat i augment de vendes.

És previsible que cada vegada s'ampliïn més les webs PWA i que a poc a poc totes passin a ella. El problema és que no tots els navegadors estan implementant tecnologies PWA. Els navegadors que són de programari lliure o que segueixen protocols i estàndards oberts han estat implementats o estan en això (Firefox, Chrome i Opera), però Apple i Microsoft no, qualsevol sap per què. Bé, segurament serà la tecnologia proposada per Google, les competències. En el cas d'Apple, una altra de les raons principals és que els PWA es poden instal·lar sense passar per la botiga. Se sap que Apple cobra un percentatge per cada aplicació que es compra i instal·la a través de la seva botiga. En qualsevol cas, convertir un lloc web en PWA no significa que no funcioni en Explorer, Edgen, iPhone o Safari, la veritat és que en ells no podrà beneficiar-se dels avantatges de PWA.

Així, no hi ha excuses perquè la nostra web no es converteixi en PWA: almenys, la web funcionarà més ràpid en Android i en ordinadors, i per a Android no haurem de desenvolupar cap aplicació, i si volem, només haurem de fer l'aplicació per a iOS o telèfons Windows, i amb sort, si Microsoft i Apple canvien d'actitud en un futur no. PWA únic per a governar a tots!

Gai honi buruzko eduki gehiago

Elhuyarrek garatutako teknologia