o(g)rodje za agile razvoj spletnih aplikacij Simon Belak simon@hruska.si IBLOC 2006

Preview:

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

o(g)rodje za agile razvoj spletnih aplikacij

Simon Belaksimon@hruska.si

IBLOC 2006

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

Recommended