Ne zelim da zapocinjem flame, ali Django je daleko od savrsenstva kad su u pitanju web razvojni alati. Par stvari koje bih izdvojio s kojima bi Django razvojni tim trebalo da se pozabavi:
1. Zasto jos jedan data mapper?! Django ima svoj sopstveni ORM za pristup bazi i mapiranju podataka u objekte ciji se model znatno razlikuje od ostalih a sintaksa je jako cudna, nema transakcija (odnosno nikad se ne zna kad je tacno uradjen commit u bazu), itd. Zasto ne koristiti de-facto najbolji ORM alat
SqlAlchemy? Znam da postoji plugin projekat uz pomoc koga bi se SqlAlchemy mogao koristiti, ali smatram da bi trebalo biti podrazumevan ORM. Tako je bar kod
TurboGears-a i
Pylons-a.
2. Django template sistem je daleko inferiorniji od Mako-a ili pak Genshi-ja. Ima veoma cudnu sintaksu i obelezavanje varijabli, veoma jednostavne loop konstrukcije, ne podrzava uvoz i koriscenje python kôda, itd.
3. Url Patterns - vrlo slicno mapiranje kao i RubyOnRails, mada vidim da postoje jako zgodnija (i po mom misljenju bolja) resenja, recimo u gorespomenutim TurboGears i Pylons projektima.
Daleko od toga da obezvredjujem Django i trud njegovog razvojnog tima, ali se ne slazem da je u pitanju savrsenstvo. Par stvari koje mene direktno zanimaju je cinjenica da Django radi na Jython-u maltene bez izmena (o tome sam vec
blogovao). Takodje, Google je u svom Google AppEngine alatu izabrao Django kao web framework. Cak tvrde da je moguce postojece Django projekte direktno uvesti u AppEngine, mada sumnjam da je tako.
Iako sa par (spomenutih) mana, Django je ucinio dosta toga za popularizaciju Python jezika za razvoj web aplikacija, na slican nacin kao sto je RubyOnRails popularizovao Ruby jezik i zato bi trebalo razvojni tim posebno pohvaliti.
Alex: My favorite site is
http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x