Diferència entre revisions de la pàgina «Desenvolupament d'aplicacions web amb frameworks»
Línia 18: | Línia 18: | ||
== Separació de codi i disseny == | == Separació de codi i disseny == | ||
+ | Una de les bones pràctiques més importants en el disseny de software és el separar el codi funcional (la manipulació de les dades) del que serà la presentació a l'usuari. | ||
<br> | <br> |
Revisió del 13:13, 26 set 2016
Contingut
Què és un framework?
Per començar, us reprodueixo el què explica la web de Pyramid, un conegut framework per Python, que compara la idea de llibreria i framework:
Frameworks vs. Libraries
A framework differs from a library in one very important way: library code is always called by code that you write, while a framework always calls code that you write. Using a set of libraries to create an application is usually easier than using a framework initially, because you can choose to cede control to library code you have not authored very selectively. But when you use a framework, you are required to cede a greater portion of control to code you have not authored: code that resides in the framework itself. You needn’t use a framework at all to create a web application using Python. A rich set of libraries already exists for the platform. In practice, however, using a framework to create an application is often more practical than rolling your own via a set of libraries if the framework provides a set of facilities that fits your application requirements.
Podriem dir, en resum, que un framework és:
- Un seguit de llibreries
- Uns mecanismes de control (en el cas del web, seria el servidor web)
- Un conjunt de bones pràctiques ...molt important!!
Separació de codi i disseny
Una de les bones pràctiques més importants en el disseny de software és el separar el codi funcional (la manipulació de les dades) del que serà la presentació a l'usuari.
Model multicapa
L'arquitectura multicapa o multi-tier pot tenir diverses capes (també s'anomena N-layer) però acostuma a presentar-se el model de 3 nivells:
- Nivell de Dades: s'ocupa de la persistència, incloent bases de dades i emmagatzematge d'arxius. També inclou les APIs d'accés a les dades que utilitzarà la capa de lògica de negoci.
- Nivell de Lògica: en general ens referim a la Business Logic
- Nivell de Presentació: renderització concreta del contingut a l'usuari.
Frameworks i microframeworks
Han sorgit molts microframeworks per desenvolupament superràpid, tot i que per a grans projectes potser els pot faltar algunes features que podem voler.
Frameworks Python:
- Django: és el que treballarem aquest curs
- Pyramid:
- Pyramid (oficial)
- Python: Pyramid framework (a cacauet.org)
Microframeworks Python:
Frameworks PHP: