Resum de les opinions a nivell tecnològic d'en Martin Friedel

A Qubidu, com s'ha mencionat anteriorment, desenvolupen un CMS que també es diu Qubidu i que empren per fer les webs per als seus clients. A continuació resumim com fan feina a Qubidu a nivell tecnològic i les opinions d'en Martin sobre temes de Desenvolupament Web.
  •  Empren un IDE privatiu però amb versió reduïda lliure: intelliJ. Ells tenen llicències professionals. Permet refactoring, diferents llenguatges (php, Java, etc).
  • Git els agrada com a sistema de control de versions però amb un client-servidor tenen prou. Empren Subversion.
  • No empren UML per especificar software.
  • Amb els clients: fan un prototipus ràpid amb una eina privativa (justinmind) però hi ha de similars gratuïtes. Quan tenen el OK desenvolupen la web. Tarden aproximadament una setmana en projectes típics.
  • Testing: fan revisions de codi entre ells: s'intercanvien els programes i intenten millorar-los.
  • Tendència a la programació funcional: llenguatge Scala.
  • Tecnologia web amb servidors petits. Tenen BD i una API amb autenticació. Crec que van directament a la URL que volen consultar.
  • Gestió de tasques amb “pivotal tracker” 
  • Es coordinen amb l’eina “Slack”. També empren Asana com a eina per asignar tasques als participants a projectes.
Referent a la programació al Servidor:
  • J2EE (JSPs, servlets): obsolet, no ho empren encara que al servidor tenen un servlet. Ho han de refer de nou
  • Json amb REST millor que XML amb SOAP. Per intercanvi d'informació, encara que no descarta XML per documents, etc.
  • Clients de web services com Java Script amb JSON.
  • Ifttt que empre "receptes" del navegador per automatitzar tasques.
    http://en.wikipedia.org/wiki/IFTTT
  • play framework ho empren per guanyar velocitat al servidor.
  • Properament mongoDB al servidor. Actualment encara empren Postgres.
  • Redis com a key store.  Es una BD a memòria molt ràpida.
  • Netti com a web server. Té Java virtual machine
  • Encara troba valid php+mySQL, sobre tot per als alumnes trobar feina.
  • Llenguatge GO, de Google per al Servidor. Similar a C. Encara tenen Java però s'estima més aquest. GO es compilat i molt ràpid. Ve de gent que va desenvolupar C.
  • Un comentari que va fer era sobre 0-downtime deployment: fer canvis a una web sense estar caiguda. Diu que una web ha d’estar sempre operativa, inclús fent canvis de versions. No va donar pistes però ho estan investigant.
  • No volen diferents dominis per web normal o mòbil. Ex: movil.as.com. La técnica ha d’esser ser responsive. El servidor detecta el tipus de dispositiu i segons sigui envia un o un altre contingut.
  • Server: reb petició, agafa la resposta, la posa a Json i l'envia al client.


Referent a la programació al Client:
  • Actualment tots els navegadors moderns no els donen problemes de compatibilitat en Java Script. I son més ràpids que fa uns anys. També les màquines. No els dona problemes tenir molta feina a la banda del client.
  • Tot en html5, JavaScript i angularJS. No més Jquery. Angular permet bona manipulació del DOM. AJAX dins. Ho fan OO i MVC. El client pot fer moltes operacions amb cap accés al servidor.
Programació de mòbils:
Xerrades amb alumnes:
Els CMS clàssics com Joomla o Wordpress han quedat antiquats i no estan adaptats per mòbils. Tampoc permeten una vista en temps real de la web que s’està configurant amb el back-end. Amb el producte que Qubidu ha desenvolupat durant 6 mesos (3 programadors) permeten generar webs perfectament adaptables als mòbils i tauletes. També per pantalles d’ordinador. Poden configurar qué ha de sortir o no a cada dispositiu. També tenen aplicacions de mòbil (IOS i Android) que agafen a traves de l’API de Qubidu el contingut de la web per mostrar-ho offline.
El seu CMS, que també es diu Qubidu, inicialment era un producte per explotar amb els seus clients (software as a service). Aquests no ho han volgut emprar per falta de temps i lo que fan realment es dissenyar i emprar el producte ells mateixos per oferir la web final al client. Una vegada feta, el client si pot ell tot-sol fer canvis.
Quan Qubidu rep un encàrrec de nova web, generen ràpidament un prototipus no funcional amb una eina que es diu “justinmind” i ho mostren al client. Una vegada ho tenen, primer generen tot el contingut textual. Desprès ja ho ordenaran en diferents pàgines i amb els estils. Això no es lo tradicional, que primer cerca l’estil i desprès omplir-ho de contingut.
La part gràfica i de contingut (textes) la subcontracten a freelance o empreses externes.
Sobre l’empresa:
Qubidu té uns 3 anys de vida. En Martin es un dels dos co-fundadors. Son unes 8 persones a 3 ciutats diferents d'Alemanya. Van aconseguir financiació a traves d’una agència (de publicitat?) que els va ajudar a cercar un bon nom d’empresa.
Recomana seguir LinkedIn: dona software i mostra com l’ha desenvolupat. Explica que van matant processos aleatòriament. Sempre. Així sempre el sw es robust a caigudes, més si un dia no es cercada.
-Tenen una eina per gravar els clicks que es fan al navegador i així desprès reproduïr automàticament les interaccions del client. Bo per testing.

Empren noves tecnologies de Bases de Dades:
  • Keystores: FAST (ex twitter). Empren per la cache de les seves webs. Entren per url i surten per pàgina – cache.
  • Document DB. Per documents independents i relacionats. El doc es cada pàgina.
  • Graph db docs i interrelacions. http://en.wikipedia.org/wiki/Graph_database
  • Bigtable. Es com un full de càlcul fet BD. Es lo que fa Google internament.


Xerrada sobre noves tecnologies de Bases de Dades:
Dijous 21, els alumnes de 1 de grau superior i en Pep Malle com a professor de bases de  dades així com a Guillem Lluch, professor de Llenguatges de marques, es van reunir amb en Martin. Vam poder disfrutar d'una conferència/debat a l'estil TED. El tema van ser les NoSQL databases. En Martin ens va explicar primer de tot que ells empraven a la seva empresa bases de dades SQL. ÉS el que coneixien i per tant van optar per aquestes. Primer de tot MySQL i llavors migrats a POSTGRES, perquè en un moment determinat necessitaven una determinada característica que MySQL encara no havia desenvolupat i postgres si.
Tot i així i amb el pas dels anys i les necessitats dels seus clients, han hagut de cercar altres tipus de bases de dades per diferents raons:
1. Per poder guardar informació més ràpidament: keystore DB.
2. Per poder guardar documents sencers i treballar-ne amb aquests amb marques: documental DB.
3. Per poder guardar informació també de forma ràpida, però alhora mantenir certes relacions entre ses dades: graph db.

Ens va descriure cada tipus i els avantatges que suposaven en el seu àmbit, així com les proves que n'havien fet.

Tant els alumnes com els professors van participar activament demanant informació i preguntant. En Martin va respondre als dubtes plantejats.
Requeriments per fer feina a Qubidu:
  • Java
  • PostgreSQL o mongoDB
  • JavaScript
  • Jquery
  • angularJS
  • html5/css

Comentaris

Entrades populars d'aquest blog

30 anys d’Erasmus + amb la participació del Ramis

Pràctiques Eramus+ a Lisboa: Biel López i Franklin Milton