Firebase i Ionic: Una guia per optimitzar els temps i costos de desenvolupament

Cómo-optimizar-los-tiempos-y-costes-de-desarrollo-utilizando-el-binomio-Firebase-para-Ionic-Itequia

Firebase i Ionic: Una guia per optimitzar els temps i costos de desenvolupament

Els frameworks de desenvolupament frontend multiplataforma actualment

Ionic-Firebase-Itequia

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.

Angular-React-Vue-desarrollo-Itequia

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.

Ionic Framework

É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.

Ionic-Toolkit-Desarrollo-Itequia

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, cosa que 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.

Firebase

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.

Firebase-Desarrollo-Itequia

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.

Què és Firebase i com funciona?

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, que 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ó:

  • Compilació: eines que agiliten el desenvolupament i el manteniment de l’aplicació
  • Llançament: funcions que permeten analitzar minuciosament tots els aspectes de l‟aplicació i optimitzar el llançament de noves versions
  • Participació: per augmentar la participació dels usuaris a partir de les estadístiques obtingudes i realitzar proves A/B, configuracions o missatgeria
Funcionalidades-Firebase-Desarrollo-Itequia-CAT

Ara analitzarem una mica més en profunditat algunes de les eines de cada grup.

Compilació

Vegem a continuació les diferents eines de compilació.

Cloud firestore

É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.

Realtime databse

É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.

Kit de Aprendizaje Automático

É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.

Authentication

Permet delegar la gestió i autenticació d’usuaris mitjançant el nom d’usuari/contrasenya, empremta dactilar, comptes de Google, Facebook o Twitter.

Hosting

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.

Lanzamiento y supervisión

Pel que fa a les eines de llançament i supervisió:

Crashlytics

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ó.

Performance monitoring

Aquesta eina mesura i analitza el rendiment de l’aplicació tant a les versions mòbil com a web.

Google Analytics

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ó.

Participación

Vegem ara les eines de participació.

Configuración remota

Amb aquesta eina és possible modificar alguns aspectes de l’aplicació (prèviament definits) sense necessitat d’actualitzar el codi o les noves versions.

Cloud messaging

Aquest servei gestiona les notificacions que rep l’usuari a la seva aplicació.

In-app messaging

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.

Recomanem l’ús del Firebase?

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.

Javier Moreno Morales – Key Software Developer at Itequia