240 likes | 402 Views
o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si 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.
E N D
o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006
Potek predavanja • Predstavitev • Delo s TurboGears • Skupnost in podpora TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
Osnovne značilnosti • Python • Usmerjen v spletne aplikacije • MVC (Model-View-Controller) TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
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
MochiKit JavaScript Kid Kalupi CherryPy Abstrakcija HTTP protokola in sej SQLObject Model Osnovni gradniki TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
... združeni v celoto TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
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
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
View – klient • MochiKit • JavaScript približa Pythonu • AJAX TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
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
Testiranje • Sestaven del razvoja • Integriran HTTP strežnik • Sprotno osveževanje novih komponent • Preklopljive konfiguracije TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
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
Poganjanje • LightTPD • Apache (mod_python) • WSGI • Vgrajen HTTP strežnik TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
Pomagala • tg-admin • ToolBox TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
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
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 TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
Prednosti • Hiter razvoj • Fleksibilnost • Vse na enem mestu • Splošno uporabna znanja • Močna skupnost TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
Slabosti • Mlad projekt • Ponudba gostovanja • Odvisnost od drugih razvijalcev • “Eksotičen” jezik TurboGears – o(g)rodje za agile razvoj spletnih aplikacij
Povezave • TurboGears www.turbogears.org • MochiKit www.mochikit.com • Kid kid.lesscode.org • CherryPy www.cherrypy.org • SQLObject www.sqlobject.org TurboGears – o(g)rodje za agile razvoj spletnih aplikacij