Jamgo Framework. Què és un Framework?

En general, un framework o entorn de treball és un conjunt estandaritzat de conceptes, pràctiques i criteris per enfocar una problemàtica. Si traslladem aquest concepte al món del desenvolupament web, un framework és un conjunt d’eines que ens ajuden a treballar de forma més senzilla i que, a més, podem reutilitzar en diversos projectes. Aquest entorn de treball està format per mòduls concrets que poden servir de base per l’organització i desenvolupament de codi.

Perquè un framework?

Desenvolupar software amb un framework compta amb diversos avantatges. Entre ells, el fet que evitem escriure codi repetitiu, donat que la majoria de projectes tenen parts comunes necessàries. O també el fet que ens permet desenvolupar d’una manera més ràpida, robusta, neta i segura. A més, segons un estudi de GitHub, biblioteques i frameworks són els elements més reutilitzables del software lliure.

Una altra de les raons per fer servir un framework és el fet que ens permet no perdre de vista les bones pràctiques del desenvolupament. Aquests entorns de treball estan basats en patrons de desenvolupament, normalment Model – Vista – Controlador (MVC) que ajuden a separar les dades, la lògica de negoci i la interfície d’usuari. És a dir, ens permeten desenvolupar d’una manera més ordenada i estructurada.

Alguns exemples de Framework

Aleshores, un framework ens ofereix un entorn genèric per escriure codi en un llenguatge concret. Fa uns mesos, a l’article que vam dedicar al desenvolupament Front End, vam parlar de frameworks molt coneguts com Ionic, que fa servir HTML, JavaScript, SASS i Angular per facilitar la creació d’aplicacions mòbils. Si volem crear una aplicació web en PHP, el més estès dels llenguatges web, també tenim la opció de fer-ho amb Symfony, Zend o Codeigniter.

Però parlant de llenguatges de programació, no hi ha dubte que Java és un dels llenguatges més potents. En Java, el framework més conegut és Spring, una poderosa eina pel desenvolupament d’aplicacions. Implementa moltes de les millors pràctiques en accés a les dades, seguretat, MVC, proves, estructura del codi, etc.

Així com utilitzem Spring per desenvolupar el nucli de les nostres aplicacions, per la capa de presentació web existeix un altre framework Java molt interessant anomenat Vaadin. Aquesta eina permet generar de manera molt elegant des de Java el codi HTML i Javascript que entenen els navegadors. Es basa en la idea de “components web”, segons la qual els blocs de codi que representen les parts d’una pàgina web (etiquetes, camps d’entrada, desplegables, etc) es poden modelar i manipular per separat, al mateix temps que es poden ajuntar i integrar de manera que produeixin una interfície d’usuari completa, fàcilment usable i més mantenible. Vaadin implementa components web utilitzant únicament codi Java.

A Jamgo fa un temps que estem treballant en un Framework propi Open Source basat en Vaadin i Spring. S’aplica sobretot a uns tipus de desenvolupaments que són molt habituals i recurrents en les propostes que fem, aquelles que habitualment s’anomenen “backoffice”, “interfície d’administració” o, com ho vam traduïr per al projecte Pam a Pam,”àrea de gestió”. Aquestes aplicacions requereixen dissenyar un model de dades relacionades i una interfície d’usuari que permeti fer les operacions d’alta, baixa i modificació (CRUD) d’aquestes dades, amb un menú d’entitats gestionables, una taula amb llistat d’entitats, uns filtres de cerca i vistes de detall de l’entitat seleccionada.

El framework ens permet no haver de començar de zero cada nou projecte dels tipus anomenats i d’aquesta manera li podem mostar al client una eina web funcional en poc temps. Gràcies al feedback dels clients i a les noves tecnologies que anem aprenent el framework es un projecte amb continuïtat.

Aquest és el primer d’una sèrie d’articles per presentar-vos què és i què fa aquest marc de treball. Estigueu atentes!