A l’article d’avui, veurem com es poden optimitzar els temps de desenvolupament i costos utilitzant el binomi Firebase per a Ionic. Però abans, hem de contextualitzar què és cada cosa.
Actualment els frameworks de desenvolupament frontend multiplataforma estan assentats i en creixement continu. La facilitat amb què es poden crear aplicacions multiplataforma a partir d’un sol codi fa que cada vegada més desenvolupadors els utilitzin. Alguns dels més estesos són Angular, React, Vue i un no menyspreable etcètera.
És aquí on entra Ionic Framework. Ionic és un Toolkit/SDK de desenvolupament que permet desenvolupar aplicacions amb qualsevol de les 3 llibreries anteriors (i alguna altra més) amb la capacitat per crear aplicacions natives totalment funcionals per a Android, IOS, web i/o d’escriptori.
Aquestes aplicacions poden necessitar dades perquè funcionin i/o emmagatzemar-les de manera persistent per poder integrar-les i analitzar-les al nostre BigData més endavant.
Tota aplicació mòbil o web té una part visible amb què l’usuari interactua; el frontend. I pràcticament totes tenen una part no visible que s’encarrega de treballar amb la informació que proporciona l’usuari; el backend.
És a dir, gairebé totes les aplicacions consten de 2 parts. Això significa doblegar el desenvolupament de codi, el manteniment, les infraestructures, temps, el cost, etc.
Pots conèixer més detalls sobre Ionic Framework en aquest article.
En aquest punt apareix Firebase per oferir una solució que gestioni totes les dades necessàries d’una aplicació sense necessitat de dependre d’un backend.
Aquesta eina ofereix el hosting, l’emmagatzematge d’una o diverses bases de dades escalables, realitzar tasques d’anàlisi, testing, configuració, missatgeria, anuncis, monetització, IA learning i un llarg etcètera gràcies a la modularització.
Tot això de manera gratuïta al principi i amb un cost escalable quan l’aplicació necessita més recursos a causa del creixement i l’èxit. Símbol que anem pel bon camí.
Però què és Firebase i com funciona? Vegem-ho a continuació més detalladament.
Firebase és una eina creada per Envolve el 2011, com a base de dades NoSQL en temps real i adquirida més tard per Google. Amb el pas del temps ha anat afegint moltes altres funcionalitats per millorar el rendiment i optimitzar els temps i recursos de desenvolupament.
Les seves funcionalitats s’engloben en 3 estadis del desenvolupament d’una aplicació:
Ara analitzarem una mica més en profunditat algunes de les eines de cada grup.
Vegem a continuació les diferents eines de compilació.
És la base del projecte Firebase. És una base de dades NoSQL estructurada en documents organitzats en col·leccions. Permet interactuar en temps real amb la base de dades fins i tot sense tenir connexió. Ja que emmagatzema les dades en memòria cau i en recuperar la connexió se sincronitza automàticament.
És molt similar a l’anterior només que, en comptes de documents organitzats en col·leccions, la informació s’emmagatzema directament en format JSON i no és tan ràpida. Però permet emmagatzemar un volum de dades més gran.
És un SDK que conté un conjunt d’Apis instal·lables a l’aplicació per oferir a l’usuari funcionalitats basades en aprenentatge i reconeixement com a lectura òptica de text a través de la càmera, detecció de rostre, traduccions o detecció d’objectes en imatge.
Permet delegar la gestió i autenticació d’usuaris mitjançant el nom d’usuari/contrasenya, empremta dactilar, comptes de Google, Facebook o Twitter.
Per utilitzar totes aquestes funcionalitats com a backend cal que estiguin disponibles en algun punt de la xarxa. Per la qual cosa Firebase ofereix un host ràpid, segur i integrat amb tots els seus serveis.
Pel que fa a les eines de llançament i supervisió:
Permet recopilar la informació de les fallades que es produeixen en l’aplicació per a la seva posterior anàlisi i agilitzar-ne la resolució.
Aquesta eina mesura i analitza el rendiment de l’aplicació tant a les versions mòbil com a web.
En crear l’aplicació amb Firebase, Google Analytics ja recopila i centralitza la informació bàsica de l’aplicació, els usuaris que la fan servir i com la fan servir. Per això comptarem amb tota aquesta informació per millorar i evolucionar la nostra aplicació.
Vegem ara les eines de participació.
Amb aquesta eina és possible modificar alguns aspectes de l’aplicació (prèviament definits) sense necessitat d’actualitzar el codi o les noves versions.
Aquest servei gestiona les notificacions que rep l’usuari a la seva aplicació.
Per anar més enllà amb la interactuació amb els usuaris, els missatges in-app permeten mostrar imatges, textos, enllaços i qualsevol cosa que s’hagi definit prèviament a una plantilla.
Aquesta és només una petita anàlisi d’algunes de les característiques.
A més, Firebase pot actuar com un backend tradicional i estalviar molt de temps de desenvolupament i costos. Permet crear aplicacions en Android i IOS que poden créixer sense problema i anar afegint més eines a mesura que creixin.
Començar a utilitzar Firebase pot portar una mica de temps, a causa de l’aclaparadora quantitat de possibilitats que ofereix. A més, les bases de dades no relacionals poden espantar els desenvolupadors acostumats a les tradicionals basades en SQL. Però un cop superada aquesta corba d’aprenentatge inicial, Firebase ens pot ajudar a agilitzar molt el desenvolupament, llançament i manteniment de les nostres aplicacions.
A més, Google està constantment fent créixer la plataforma i no deixa d’innovar i afegir noves opcions i funcionalitats que poden ser molt útils per fer créixer el nostre projecte.