o(g)rodje za agile razvoj spletnih aplikacij simon belak [email protected] ibloc 2006
DESCRIPTION
o(g)rodje za agile razvoj spletnih aplikacij Simon Belak [email protected] IBLOC 2006. Potek predavanja. Predstavitev Delo s TurboGears Skupnost in podpora. Pogled od daleč. Osnovne značilnosti. Python Usmerjen v spletne aplikacije MVC (Model-View-Controller). Gradi na obstoječem. - PowerPoint PPT PresentationTRANSCRIPT
![Page 2: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/2.jpg)
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
2
Potek predavanja
• Predstavitev
• Delo s TurboGears
• Skupnost in podpora
![Page 3: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/3.jpg)
Pogled od daleč
![Page 4: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/4.jpg)
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
4
Osnovne značilnosti
• Python
• Usmerjen v spletne aplikacije
• MVC (Model-View-Controller)
![Page 5: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/5.jpg)
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)
![Page 6: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/6.jpg)
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
6
Osnovni gradniki
MochiKit• JavaScript
Kid• Kalupi
CherryPy• Abstrakcija HTTP protokola in sej
SQLObject • Model
![Page 7: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/7.jpg)
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
7
... združeni v celoto
![Page 8: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/8.jpg)
Delo s TurboGears
![Page 9: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/9.jpg)
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
![Page 10: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/10.jpg)
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
![Page 11: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/11.jpg)
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
11
View – klient
• MochiKit– JavaScript približa Pythonu
• AJAX
![Page 12: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/12.jpg)
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
![Page 13: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/13.jpg)
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
![Page 14: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/14.jpg)
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
![Page 15: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/15.jpg)
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
15
Poganjanje
• LightTPD
• Apache (mod_python)
• WSGI
• Vgrajen HTTP strežnik
![Page 16: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/16.jpg)
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
16
Pomagala
• tg-admin
• ToolBox
![Page 17: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/17.jpg)
Podpora
![Page 18: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/18.jpg)
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/
![Page 19: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/19.jpg)
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
![Page 20: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/20.jpg)
Zaključki
![Page 21: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/21.jpg)
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
![Page 22: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/22.jpg)
TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
22
Slabosti
• Mlad projekt
• Ponudba gostovanja
• Odvisnost od drugih razvijalcev
• “Eksotičen” jezik
![Page 23: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/23.jpg)
Vprašanja?
![Page 24: o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006](https://reader036.vdocuments.pub/reader036/viewer/2022081513/56813779550346895d9f11a1/html5/thumbnails/24.jpg)
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