[cfinformatica-grup] Re: Dubtes sobre Python/Java

  • From: Enric Mieza <emieza@xxxxxxxx>
  • To: "cfinformatica-grup@xxxxxxxxxxxxx" <cfinformatica-grup@xxxxxxxxxxxxx>
  • Date: Wed, 23 Jul 2014 15:51:50 +0200

Ei Alfonso!

Jo fa dies que treballo amb Python, però com a framework he fet servir
Pyramid (Pylons) que el trobo una mica més senzill els darrers 2 anys.
Aquest any que ve, però, canviaré a Django, com suggereixes, ja que és molt
més conegut, estés, i hi ha més documentació. El tutorial de Django a la
web oficial és estupendu, però aquest estiu estudiaré la manera de fer-ne
un més adaptat al temari i coneixements dels alumens de DAW.

Coses importants a tenir en compte:

   - La part de *development* és molt còmoda ja que el framework disposa
   del seu propi servidor, com podràs veure al tutorial.
   - La part de *producció* és més "tricky" ja que no és tan coneguda. I
   vaig veient que molts developers de Django no utilitzen Apache sinó Nginx i
   Gunicorn, crec que son més simples i s'entenen millor amb els entorns
   Python. De moment jo tiro amb Apache (ho imparteixo a M8) però veig que
   hauria de fer un pensament.

Hi ha algunes eines i conceptes imprescindibles com:

   - Scaffolding: creació d'esquelets de projectes
   - *WSGI*: Web Server Gateway Interface, o especificació per l'enllaç
   servidor web (Apache/Nginx) amb l'aplicació (intèrpret Python)
   - *Virtualenv*: entorn shell per importar llibreries sense
   instal·lar-les al sistema. Així pots treballar amb diferents versions. MOLT
   important. (development)
   - *Buldout*: sistema per construir projectes *en producció* (tb en dev)
   amb les seves pròpies llibreries incloses. Això permet tenir el python del
   sistema sense llibreries i que cada projecte tingui les seves pròpies
   versions. OJU: haig de dir que aquest sistema és molt útil però m'ha donat
   molts disgustos amb el sistema de versions.

Si només imparteixes Django en 1 mòdul potser no cal que et preocupis de la
part de producció (és més de M8), i et pots centrar en development, que és
més divertit ;)

A la meva web hi ha molts (i molt desordenats!) materials al respecte. No
poso aquí les webs oficials però segurament hi ha els links en els articles:
- Python:
http://www.cacauet.org/wiki/index.php/Python:_introducci%C3%B3_r%C3%A0pida
- Pyramid (+WSGI+Virtualenv):
http://www.cacauet.org/wiki/index.php/Python:_Pyramid_framework
- Django (en construcció!): http://cacauet.org/wiki/index.php/Django
- WSGI (veure Pyramid)
- Virtualenv: (veure Pyramid)
- Buildout: http://www.cacauet.org/wiki/index.php/Buildout

Com pots veure tinc un "pollo" considerable de coses, ja que ho imparteixo
transversalment en diversos mòduls. Si vols parlar algun dia em podries
ajudar molt, perquè tinc molta cosa però molt desendreçada i caòtica, i
hauria de posar-hi un mínim ordre. Si vols utilitzar cacauet.org com a
documentació estaré encantat :) ja em diràs si et faig un compte (de moment
ho tinc tancat, tot i que m'agradaria obrir-ho)

Ah si!, i com no, el company Daniel Herrera té una web magnífica per
compartir exercicis i on ja s'ha publicat força coses sobre Django:
https://uf.ctrl-alt-d.net/material/mostra/96/django-introduccio-als-models
https://uf.ctrl-alt-d.net/material/tot/daw-mp07-uf3/


Potser convindria obrir un thread sobre compartir material, wikis, quaderns
d'exercicis i altres pesadillas :)

Celebro que t'enganxis al Python. Haig de dir que jo intento també fer algo
de Java als alumnes, el trobo important. El problema sempre és el temps
disponible i que a DAW fem chorrocientos llenguatges diferents i no
m'agrada fer tanta cosa als alumnes, crec que els despista. En definitiva,
tinc clar que opto per Python, crec que té més futur i és més senzill i
pràctic per aprendre.

Salut!... i, carai, ja poden dir que tenim 2 mesos de vacances, però nois,
us haig de dir que segueixo currant preparant el curs que ve. Aviam si
trobem un forat per fer unes bones vacances. Es nota que és una qüestió
passional, això de la programació ;)

Bon istiu!

Enric



2014-07-23 9:23 GMT+02:00 Joan Josep Ordinas Rosa <
jordinas@xxxxxxxxxxxxxxxxxxxxxxxxxxx>:

> Per fonamentar les aplicacions web amb Python cal basarse en  WSGI:
>
>     http://en.wikipedia.org/wiki/Web_Server_Gateway_Interface
>
> Els frameworks modulars basats fortament en WSGI proporcionen un model
> mental
> millor que els frameworks monolitics, encara que Django està molt ben
> valorat
> i està promocionat per Google.
>
> Pel que fa a llibres més em faig vell i menys m'agraden els que hi ha.
>
> JJOR
>
>

Other related posts: