turbogears -- o(g)rodje za agile razvoj aplikacij

24
o(g)rodje za agile razvoj spletnih aplikacij Simon Belak [email protected] IBLOC 2006

Upload: simon-belak

Post on 23-Jan-2015

482 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: TurboGears -- o(g)rodje za agile razvoj aplikacij

o(g)rodje za agile razvoj spletnih aplikacij

Simon [email protected]

IBLOC 2006

Page 2: TurboGears -- o(g)rodje za agile razvoj aplikacij

TurboGears – o(g)rodje za agile razvoj spletnih aplikacij

2

Potek predavanja

• Predstavitev

• Delo s TurboGears

• Skupnost in podpora

Page 3: TurboGears -- o(g)rodje za agile razvoj aplikacij

Pogled od daleč

Page 4: TurboGears -- o(g)rodje za agile razvoj aplikacij

TurboGears – o(g)rodje za agile razvoj spletnih aplikacij

4

Osnovne značilnosti

• Python

• Usmerjen v spletne aplikacije

• MVC (Model-View-Controller)

Page 5: TurboGears -- o(g)rodje za agile razvoj aplikacij

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: TurboGears -- o(g)rodje za agile razvoj aplikacij

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: TurboGears -- o(g)rodje za agile razvoj aplikacij

TurboGears – o(g)rodje za agile razvoj spletnih aplikacij

7

... združeni v celoto

Page 8: TurboGears -- o(g)rodje za agile razvoj aplikacij

Delo s TurboGears

Page 9: TurboGears -- o(g)rodje za agile razvoj aplikacij

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: TurboGears -- o(g)rodje za agile razvoj aplikacij

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: TurboGears -- o(g)rodje za agile razvoj aplikacij

TurboGears – o(g)rodje za agile razvoj spletnih aplikacij

11

View – klient

• MochiKit– JavaScript približa Pythonu

• AJAX

Page 12: TurboGears -- o(g)rodje za agile razvoj aplikacij

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: TurboGears -- o(g)rodje za agile razvoj aplikacij

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: TurboGears -- o(g)rodje za agile razvoj aplikacij

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: TurboGears -- o(g)rodje za agile razvoj aplikacij

TurboGears – o(g)rodje za agile razvoj spletnih aplikacij

15

Poganjanje

• LightTPD

• Apache (mod_python)

• WSGI

• Vgrajen HTTP strežnik

Page 16: TurboGears -- o(g)rodje za agile razvoj aplikacij

TurboGears – o(g)rodje za agile razvoj spletnih aplikacij

16

Pomagala

• tg-admin

• ToolBox

Page 17: TurboGears -- o(g)rodje za agile razvoj aplikacij

Podpora

Page 18: TurboGears -- o(g)rodje za agile razvoj aplikacij

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: TurboGears -- o(g)rodje za agile razvoj aplikacij

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: TurboGears -- o(g)rodje za agile razvoj aplikacij

Zaključki

Page 21: TurboGears -- o(g)rodje za agile razvoj aplikacij

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: TurboGears -- o(g)rodje za agile razvoj aplikacij

TurboGears – o(g)rodje za agile razvoj spletnih aplikacij

22

Slabosti

• Mlad projekt

• Ponudba gostovanja

• Odvisnost od drugih razvijalcev

• “Eksotičen” jezik

Page 23: TurboGears -- o(g)rodje za agile razvoj aplikacij

Vprašanja?

Page 24: TurboGears -- o(g)rodje za agile razvoj aplikacij

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