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:
- http://ionicframework.com/ per fer apps natives fàcilmen.
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
Publica un comentari a l'entrada