turbogears -- o(g)rodje za agile razvoj aplikacij
DESCRIPTION
TRANSCRIPT
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
2
Potek predavanja
• Predstavitev
• Delo s TurboGears
• Skupnost in podpora
Pogled od daleč
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
4
Osnovne značilnosti
• Python
• Usmerjen v spletne aplikacije
• MVC (Model-View-Controller)
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
5
Gradi na obstoječem
• Vrača skupnosti
• Prenosljivost znanja
• Lažja tranzicija
• Neomejujoče licence (MIT)
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
6
Osnovni gradniki
MochiKit• JavaScript
Kid• Kalupi
CherryPy• Abstrakcija HTTP protokola in sej
SQLObject • Model
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
7
... združeni v celoto
Delo s TurboGears
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
9
Model
• SQLObject– ORM (Object-Relational Mapping)
• Razvijamo s podatkovnimi strukturami• Dejanska baza šele, ko jo potrebujemo
– Podpira različne implementacije baz– Avtomatična izgradnja strukture baze na
podlagi modela
• Transakcije
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
10
View – strežnik
• Kalupi– Kid (privzeto)
• Veljaven XML• Prevajanje v Python byte-kodo
– Vmesniki za vse razširjenje kalupe
• Widgets– Prikaz– Preverjanje podatkov
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
11
View – klient
• MochiKit– JavaScript približa Pythonu
• AJAX
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
12
Controller
• CherryPy– Hierarhijo modeliramo z razredi– REST (Representational State Transfer)
• Seje
• Izredni poteki izvajanja– Postopanje z napakami– Preverjanje vhodnih podatkov– Preusmeritve
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
13
Testiranje
• Sestaven del razvoja
• Integriran HTTP strežnik
• Sprotno osveževanje novih komponent
• Preklopljive konfiguracije
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
14
Povezljivost
• WSGI (Python Web Server Gateway Interface)– Sodelovanje z drugimi ogrodji– Mikroaplikacije
• JSON (JavaScript Object Notation)
• REST
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
15
Poganjanje
• LightTPD
• Apache (mod_python)
• WSGI
• Vgrajen HTTP strežnik
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
16
Pomagala
• tg-admin
• ToolBox
Podpora
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
18
Skupnost
• Dopisni seznami – turbogears (Google Groups)– turbogears-si (Google Groups)
• IRC– #turbogears (freenode)
• Wiki, sporočanje napak– trac.turbogears.org
• Zbirka gradnikov– www.turbogears.org/cogbin/
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
19
Učenje
• Dokumentacija– docs.turbogears.org
• Vodiči – trac.turbogears.org/turbogears/wiki/
DocumentationPlayground
• Screencast– www.turbogears.org/docs/devcasts.html
• Svetovanje, izobraževanje– www.hruska.si
Zaključki
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
21
Prednosti
• Hiter razvoj
• Fleksibilnost
• Vse na enem mestu
• Splošno uporabna znanja
• Močna skupnost
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
22
Slabosti
• Mlad projekt
• Ponudba gostovanja
• Odvisnost od drugih razvijalcev
• “Eksotičen” jezik
Vprašanja?
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
24
Povezave
• TurboGearswww.turbogears.org
• MochiKitwww.mochikit.com
• Kidkid.lesscode.org
• CherryPywww.cherrypy.org
• SQLObjectwww.sqlobject.org