Jul 08

Jornades #decharlas sobre #symfony

Reading time: 4 – 6 minutes

symfony logo

Com deia a l’anterior article, el dilluns i dimarts vaig ser per la zona de Castelló per assistir amb el Benja a les jornades de Symfony organitzades per la Universitat de Jaume I de Castelló. Doncs bé, comentar que les jornades em van sorprendre molt positivament, realment hi havia gent amb força o fins hi tot molt nivell en la materia i això sempre és d’agraïr en aquest tipus d’events.

El programa de les xerrades era molt interessant i tret d’algunes xerrades puntuals totes eren del màxim interés per mi. Com molts esteu cansats de sentir jo no sóc programador, però en aquesta vida he picat força codi i concretament amb Symfony vaig començar-ho a fer en la versió 0.6.4, o sigui, molt abans que fos estable. Però de la mà de l’Oriol M. varem fer un projecte amb uns quants megues de codi font per fer recàrregues de mòbil a una cadena de botigues de fotografia, un dels codis dels que estic més orgullós.

Tornant a les jornades, volia destacar el meu ranking particular de ponents, es tracta d’un petit TOP 3 que des de la meva més extrema modèstia preten classificar en base a uns criteris totalment subjectius les persones que van saber transmetre els valors més importants que jo busco en una xerrada:

  • Javier Eguíluz (Symfony 2) – a destacar la gran capacitat d’enfocar la conferència cap als items més importants a resaltar, sense oblidar els detalls rellevants en cada moment, tot això sense perdre un fil conductor clar en tota la xarrada. També s’ha de dir que el tema li donava molt de joc per fer embadalir a l’audiència; però va saber com treure-li el suc i tenir-nos a tots ben enganxats malgrat estar molt cansats després de dos dies de conferències sense parar, aquesta va ser l’última conferència.
  • José Antonio Pío (Vistas y sfForm) – cal deixar-ho clar, una màquina té tota la pinta de ser un programador com la copa d’un pi i els típics defectes i virtuts de ser un professor (ho és?). Malgrat sembla que és molt bo i sap explicar-se la densitat del seu contingut i complexitat del mateix, feien complex seguir-lo tota l’estona ja que exigia molt a la concentració. Cosa gens senzilla en una marató de conferències com el que ens ocupa.
  • Jordi Llonch (Plugins) – aquest representant de les nostres terres diria que també ha fet una molt bona feina explicant-nos la potència dels plug-ins de Symfony, potser a nivell personal no m’ha aportat tan com les altres dues xerrades però la qualitat de les transparències, l’oratòria i la bona organització dels continguts diria que l’han convertit en una referència de com fer les coses, sota el meu punt de vista, és clar.

Comentar que la resta de ponències també han estat molt bé, obviament algunes amb més qualitat que d’altres i amb temes que per mi tenien un major interés que altres. Però en conjunt dono una nota altíssima al contingut de les xerrades. Pel que fa a la organització i les instal·lacions un 9, més que res per donar-los marge a millorar. Impresionant el complexe universitari, res a envejar a d’altres que he vist.

Abans de tancar aquest article tan poc ortodoxe per descriure les jornades comentar en forma de punts algunes notes mentals que me n’he emportat:

  • Hauria de posar-me amb Doctrine, però al coneixer Propel mai trobo el moment.
  • Mirar-me a fons referències sobre integració continua amb PHP i eines de gestió de projectes
  • Dona gust adonar-se que moltes pràctiques que has adoptat unilateralment també es comparteixen en la comunitat: temes d’sfForm, vistes, pugins, web escalables, cloud computing, etc.
  • Pel que fa al tema de la web escalable, m’agradaria agafar els ‘slides’ del ponent Asier Marqués i fer el meu propi screencast del tema, comparteixo quasi tot el que va dir a la conferència però em quedo amb les ganes d’aportar-hi el meu granet de sorra.
  • Mirar-me el tema d’ESI que ja l’havia oblidat.
  • MongoDB, com dic cada dia… una passada! i si a sobre es soporta a Doctrine això ja no té preu. Interessant el tema de Mondongo.
  • i l’estrella de tot plegat!!!! Symofny2… estic impacient!!!!

UPDATE: presentacions de les jornades.

Oct 29

Yahoo! bookmarks usa symfony

Reading time: 2 – 2 minutes

yahoobookmarkslogo.jpg

Fa força dies que no parlo de res relacionat amb el symfony, de fet, això és el que té la meva feina que m’he de moure molt ràpid entre tecnologies depenent del projecte. Doncs bé, ni molt menys m’he oblidat d’ell. Però ara més que PHP estic tocant temes de Python, a nivell de programació. De totes formes el que volia comentar aquí és una notícia que he trobat al blog de symfony concretament es comenta que la gent de Yahoo! bookmarks ha escollit aquest framework que l’Oriol i jo ja varem escollir fa uns mesos per un projecte de recàrrega de telèfons mòbils i venta de targetes internacionls que encara tinc pendent de comentar a la web de movilpoint.

Així doncs, notícies com aquestes són les que et fan anar a dormir amb la consciència ben tranquila per les teves decisions. Realment és un plaer veure com gent de nivell tècnic tan contrastat com és l’equip de Yahoo! ens confirmen el que nosaltres ja varem opinar fa una bona colla de mesos. Tot això fa que encara tingui més ganes de que arribi la esperada versió 1.0 d’aquest framework malgrat suposarà força canvis profunds en algunes parts importants del funcionament del mateix i potser haurem de reprogramar parts importants de les nostres aplicacions. Però segur que valdrà la pena fer-ho.

Apr 08

Aprenent PROPEL amb 30min

Reading time: 2 – 4 minutes

Propel és un framework de PHP que permet accedir a les bases de dades usant objectes, ens ofereix una API molt senzilla que és capaç de filtrar les queries contra la base de dades perquè sigui completament transparents a la nostre aplicació. Perquè ens entenguem estem parlant de coses que de ben segur coneixeu com ara el DAO o el ORM.

grafic-propel.gif

Per fer-nos una idea per definir l’estructura d’una base de dades només cal que escribim un fitxer XML amb els camps de les taules, tipus, relacions, etc i el Propel farà la resta. Llavors el Propel es posa a generar totes les classes automàticament, i els fitxers .sql amb els esquemes de definició de les bases de dades. Amb les classes que ens ha generat el Propel podem accedir a totes les funcions bàsiques d’accés a la base de dades és el que se’n diu CRUD (def.wikipedia).

Si voleu aprofundir en tema us recomano que seguiu els passos que vaig seguir jo i amb 30min us sentireu com de la família:

  • QuickStart – Com crear les BBDD, taules i altre elements al voltant de les dades per tal de poder treballar de forma trivial amb elles
  • CRUD explica com usar les funcions bàsiques de CRUD amb Propel.
  • Esquemes dels fitxers XML. Quan definim l’esquema de la BBDD ens interessa coneixer a fons la sintaxis suportada per tal d’aprofitar al màxim les funcions del propel
  • Relacions entre taules. Donant una mica d’emoció a les dades, usant relacions entre taules senzilles.
  • Captura d’errors. Si ens interessa unificar les sortides d’error de Propel és molt senzill fer-ho.
  • Les relacions many-to-many (molts-a-molts) no estan suportades directament pel propel i s’han de fer a través d’una taula intermitja. Malgrat ens permet sortir del pas és un dels punts a evolucionar dins de propel. Si ens interessa millorar aquesta part podem incloure les nostres classes que implementin això pel nostre codi sense problemes dins de l’estructura estàndard del propel. De moment, si ho volem fer tal i com ens proposa el manual.
Dec 18

MVC i PHP

Reading time: 4 – 7 minutes

Com molts sabeu jo no sóc informàtic ni pretenc ser-ho, ara com jo sempre dic, als telemàtics se’ns pre-suposa que sabem informàtica. Alguns diuen que saber programar no és saber informàtica però jo crec que almenys si saps programar algo d’infomàtica saps. Així doncs entre tot aquest dilèma que m’he montat per dir només que, fins no fa massa anys no havia sentit a parlar del sistema de programació MVC (Model Business, View i Controller). Potser algú recorda que fa molt de temps vaig publicar un article on recomanava la web d’en Tony Marston. Doncs aquí van ser on per primer cop vaig coneixer una mica a fons tot aquest tema.

Malgrat no ho necessito per res en especial fa uns dies vaig pensar que seria bona idea aprofundir una mica més en aquest tema del MVC i he estat llegint una miqueta sobre el tema. Com que el llenguatge de programació que més uso és el PHP vaig buscar informació de frameWorks que implementessin el model MVC sobre aquest llenguatge que en principi no implementa per defecta una estructura MVC. Perquè us feu una idea en aplicacions ASP (Applications Service Provider) el sistema MVC per excel·lència és els servlets de Java, per exemple, la implementació Tomcat. Pels que conegueu millor el tema que jo és el que en java en diuen struts. Si algú de vosaltres ja ho coneix i vol una implementació dels mateixos feta en PHP us recomano que us mireu el phpMVC.

Com us comentava abans tot això ho vaig descobrir a fons a través d’en Tony i ell mateix té un document que crec que és molt bo, que explica com implementar un model MVC directament sobre PHP sense passar per un frameWork concret. El document en qüestió es diu The Model-View-Controller (MVC) Design Pattern for PHP. Si com jo abans d’atacar documents com aquest heu de fer una intro al tema, la documentació de Java sobre el MVC i els struts jo diria que és molt bona. Concretament us recomano els següents capitols:

Un bon dibuix perquè veieu pels que no us soni de res el que dic, que el model és molt útil:

web-tier8.gif

Des de la documentació d’Oracle sobre els models MVC he trobat un gràfic que aplica la teoria exposada en el gràfic i documents anteriors des d’un gràfic aplicat directament a explicar les sigles MVC:

mvc.jpg

Tornant al tema PHP hi ha molts més frameworks i webs que parlen d’MVC sobre aquest llenguatge. Però potser els que més bona pinta m’han fet, sense haver tingut la sort de poder-los provar amb calma i tranquil·litat, són els que us poso a continuació:

  • phpMVC com us he comentat abans jo diria que és un dels frameworks que implementen MVC més complerts, sobretot perquè en la capa d’accés a dades i en la capa de presentació suporta llibreries tan conegudes com: PEAR, phpLIB, Smarty i moltes d’altres. Com us he comentat és una implementació directa del model struts que usen els servlets de java.
  • cakePHP jo diria que és la llibreria MVC perfecte per programar ràpidament una aplciació sense tenir una curva d’aprenentatge que es dilati massa en el temps.
  • WACT (Web Application Component Toolkit) també té pinta de no ser massa complicat i jo diria que esta prou bé. Sembla que esta pensat perquè no ens perdem a l’hora de programar aplicacions segures. Però no veig massa clar quines carències té. Potser la petita comunitat d’usuaris?

Com que sobre aquest tema no en sé gaire més, us remeto a una discusió que he trobat en un forum que sembla prou interessant i de nivell. A més molta gent hi parla amb coneixement de causa, cosa que és d’agraïr, Tired of non-standards? Take a look. si aquesta us sembla poc concreta, una altre: PHP Frameworks.

Si algún dels lectors que sigui informàtic, o que senzillament, en sapigue molt més que jo i ens pot donar eines per mortals per dominar aquestes tècniques encantat de mirarme-les.