<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Jaros&#322;aw Zabie&#322;&#322;o - BLOG: Django ograniczeniem w rozwoju?</title>
    <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>moje notatki, linki, komentarze</description>
    <item>
      <title>Django ograniczeniem w rozwoju?</title>
      <description>&lt;p&gt;&lt;a href="http://djangoproject.com"&gt;Django&lt;/a&gt; do dobry i szybki framework do wi&#281;kszo&#347;ci zastosowa&#324;. Jednak&#380;e ci, kt&#243;rzy chc&#261; za jego pomoc&#261; stworzy&#263; stworzy&#263; wi&#281;kszy projekt, mog&#281; mie&#263; p&#243;&#378;niej problemy z dalszym jego rozwojem&amp;#8230;&lt;/p&gt;


	&lt;p&gt;Jednym z wi&#281;kszych polskich projekt&#243;w stworzonych w Django jest serwis spo&#322;eczno&#347;ciowy &lt;a href="http://grono.net"&gt;grono.net&lt;/a&gt;. Niedawno w jednym z blog&#243;w ukaza&#322; si&#281; &lt;a href="http://www.pydev.pl/?p=127"&gt;wywiad&lt;/a&gt; z dyrektorem dzia&#322;u IT tego serwisu &amp;#8211;  Albertem Szybi&#324;skim. Grono.net pierwotnie u&#380;ywa&#322;o Javy, lecz to si&#281; nie sprawdzi&#322;o. Java zosta&#322; zast&#261;piona pythonowym frameworkiem &lt;a href="http://djangoproject.com"&gt;Django&lt;/a&gt;. Pocz&#261;tkowo wszystko by&#322;o dobrze, ale serwis si&#281; rozrasta&#322; i&amp;#8230;&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;Doszli&#347;my ju&#380; do takiego poziomu, w kt&#243;rym Django zacz&#261;&#322; by&#263; dla nas problemem. W czasie tworzenia portalu by&#322; to bardzo dobry framework, ale przy obecnym stopniu zaawansowania, Django sta&#322; si&#281; dla nas ograniczeniem w rozwoju i sami musimy go modyfikowa&#263;.&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;Czyli potwierdzi&#322;o si&#281; to co &lt;a href="http://blog.zabiello.com/articles/2007/08/25/aplikacja-webowa-wybor-technologii"&gt;pisa&#322;em wcze&#347;niej o Django&lt;/a&gt;. To system zbyt monolityczny i zdecydowanie za ma&#322;o elastyczny. Django ci&#261;gnie za sob&#261; dziedzictwo &lt;span class="caps"&gt;CMS&lt;/span&gt; &lt;a href="http://www.ellingtoncms.com/"&gt;Elington&lt;/a&gt; z jakiego wyr&#243;s&#322;. Mo&#380;e dobrze sprawdza si&#281; w projektach typu &amp;#8220;wertykalny portal dla wydawnictwa&amp;#8221;, ale jak ju&#380; chcemy co&#347; nietypowego, zaczynaj&#261; si&#281; problemy.&lt;/p&gt;


	&lt;p&gt;Na pytanie &amp;#8220;Czy posiadaj&#261;c tak&#261; wiedz&#281; jak&#261; macie dzi&#347;, czy zdecydowaliby&#347;cie si&#281; na zaimplementowanie Grono.net ponowie wykorzystuj&#261;c Django, czy mo&#380;e co&#347; innego?&amp;#8221; pad&#322;o wskazanie na &lt;a href="http://pylonshq.com"&gt;Pylons&lt;/a&gt;. Mo&#380;e nie ma tak &#322;adnie zgrupowanych modu&#322;&#243;w w jednym miejscu jak Django, ale na pewno ma wi&#281;kszy potencja&#322; do tworzenia nietypowych czy skomplikowanych serwis&#243;w.&lt;/p&gt;


	&lt;p&gt;To nie Django jest prawdziw&#261; pythonow&#261; konkurencj&#261; dla popularnego &lt;a href="http://rubyonrails.org"&gt;Ruby on Rails&lt;/a&gt; (&#380;e nie wspomn&#281; frameworki pehapowe). Moim zdaniem, bardziej gro&#378;n&#261; dla nich konkurencj&#261; jest &lt;strong&gt;Pylons&lt;/strong&gt;.&lt;/p&gt;</description>
      <pubDate>Sat, 27 Oct 2007 16:31:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:39425c6c-58e5-4fc6-b40f-12de8d5e4be6</guid>
      <author>Jaros&#322;aw Zabie&#322;&#322;o</author>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju</link>
      <category>pylons</category>
      <category>django</category>
      <category>python</category>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by michuk</title>
      <description>&lt;p&gt;@Jaros&#322;aw Zabie&#322;&#322;o:
Sun wzi&#261;&#322; si&#281; niedawno za Jythona: &lt;a href="http://osnews.pl/sun-zatrudnia-specjalistow-od-pythona/" rel="nofollow"&gt;http://osnews.pl/sun-zatrudnia-specjalistow-od-pythona/&lt;/a&gt;
i django ma dzia&#322;a&#263; w JVM (tutaj co ju&#380; dzia&#322;a: &lt;a href="http://osnews.pl/powrot-jythona/" rel="nofollow"&gt;http://osnews.pl/powrot-jythona/&lt;/a&gt; )&lt;/p&gt;</description>
      <pubDate>Fri, 21 Mar 2008 16:42:39 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:9fc1c958-a828-4ded-9aab-f46c94d16cb5</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1509</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by mort</title>
      <description>&lt;p&gt;OK, faktycznie widziam tu strasznie na RoR&amp;#8217;a, ale kr&#243;tko m&#243;wi&#261;c wed&#322;ug mnie ruby jest po prostu mniej naturalny czy te&#380; intuicyjny od python&amp;#8217;a. Zwyczajnie sadz&#261;c po opiniach wielu moich koleg&#243;w(programist&#243;w i admin&#243;w) w pythonie sie po prostu pisze, podczas gdy ruby daje wra&#380;enie obco&#347;ci.&lt;/p&gt;</description>
      <pubDate>Tue, 18 Mar 2008 12:18:01 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:844c218d-ad14-451b-9fa8-d4896283e998</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1497</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;Generatory kodu w Rails (czy Merb) s&#261; bardzo dobre. Wystarczy wiedzie&#263; po co one s&#261;.&lt;/p&gt;


	&lt;p&gt;Konwencje Rails s&#261; te&#380; bardzo dobre (i jest ju&#380; sporo innych projekt&#243;w kt&#243;re to zacz&#281;&#322;y na&#347;ladowa&#263;) Nie wiem o jak&#261; niesp&#243;jno&#347;&#263; ci chodzi, bo nie podajesz konkret&#243;w.&lt;/p&gt;


	&lt;p&gt;Pythonowa zasada jednej drogi jest dobra, ale nijak ma si&#281; do podanych zagadnie&#324; w Rails gdzie stosowana jest analogiczna zasada DRY: nie potwarzaj si&#281;. (Gdyby&#347; te&#380; chcia&#322; w Django u&#380;y&#263; mocniejszego ORM&amp;#8217;a &amp;#8211; SQLAlchemy &amp;#8211; to wtedy ca&#322;a zasada pythonowej jednej drogi te&#380; bierze w &#322;eb, bo tam istnieje wiele, m&#281;tnych dr&#243;g do tego samego celu.) Railsy prowadz&#261; ci&#281; dos&#322;ownie za r&#281;k&#281; w tworzeniu kodu.&lt;/p&gt;


	&lt;p&gt;Netbeans 6 (a ostatnio odrodzony RadRails 1.0) to dobre IDE. Wiadomo &#380;e maj&#261; wi&#281;ksze wymagania ni&#380; vi, ale za to dostajesz &#347;wietn&#261; analiz&#281; kodu Rubiego, refactoring i graficzny, krokowy debugger do Rails&#243;w.&lt;/p&gt;


	&lt;p&gt;Deployment w Rails (pewnie chodzi o Capistrano) to nie zas&#322;uga Rails&#243;w ale Rubiego. Capistrano dzia&#322;a z dowoln&#261; technologi&#261;. Mo&#380;esz tego u&#380;y&#263; nawet do Django czy PHP.&lt;/p&gt;


	&lt;p&gt;Unit testy to przestarza&#322;a metodologia testuj&#261;ca bardziej struktur&#281; kodu, a nie zachowanie aplikacji. BDD jest na pewno lepsze i pewnie da si&#281; znale&#378;&#263; jakie&#347; biblioteki do Pythona. Cho&#263; pewnie takiego wypasu jaki daje RSpec Stories nie b&#281;dzie. Zobacz ten filmik o BDD vs TDD &lt;a href="http://www.youtube.com/watch?v=oOFfHzrIDPk" rel="nofollow"&gt;http://www.youtube.com/watch?v=oOFfHzrIDPk&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Django korzysta z Pythona, kt&#243;ry ma dojrzalsze biblioteki od Rubiego, fakt. Ale Rails ma du&#380;o mocniejszego asa w kieszeni. Dzia&#322;a z &lt;a href="http://jruby.codehaus.org/" rel="nofollow"&gt;JRuby&lt;/a&gt; i daje dost&#281;p do jeszcze pot&#281;&#380;niejszych i dojrzalszych bibliotek w Javie. JRuby 1.1.RC2 jest ju&#380; bardzo szybki (szybszy w wielu testach od Pythona) mimo &#380;e to nie jest koniec jego optymalizacji. Przysz&#322;o&#347;c Rubiego i Rails pewnie wytyczy jednak wzoruj&#261;cy si&#281; na wirtualnej maszynie Smallalka &amp;#8211; &lt;a href="http://rubini.us/" rel="nofollow"&gt;Rubinius&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Railsy maj&#261; doskona&#322;&#261; dokumentacj&#281;, o niebo lepsz&#261; od tej do Django, czy nawet calego Pythona. Mam na my&#347;li ca&#322;&#261; &lt;a href="http://www.rubyonrails.pl/ksiazki" rel="nofollow"&gt;list&#281;  &#347;wietnych&lt;/a&gt; ksi&#261;&#380;ek (&amp;#8220;Agile Web Development in Rails&amp;#8221; (wkr&#243;tce wyjdzie po polsku, zdoby&#322;a nagrod&#281; jako najlepsza ksi&#261;&#380;ka techniczna roku 2006)&amp;#8221;, jest doskona&#322;a &amp;#8220;The Rails Way&amp;#8221;, &amp;#8220;Ruby for Rails&amp;#8221;, &amp;#8220;Rails Recipes&amp;#8221; (ta jest po polsku), &amp;#8220;Advanced Rails Recipes&amp;#8221; i masa innych, z &amp;#8220;JRuby on Rails&amp;#8221; w&#322;&#261;cznie). Tylko pozazdro&#347;ci&#263; i &#380;yczy&#263; Pythonowi takich pozycji.&lt;/p&gt;


	&lt;p&gt;Nie wiem o co ci chodzi na ko&#324;cu z tym brakiem konkretu czy backendami. Rails &#347;miga na Rack (odpowiednik WSGI) i u&#380;ywa asynchronicznego podej&#347;cia (EventMachine). Zalecanym adapterem jest asynchroniczny i lekki Thin lub bardzo szybki (napisanym w C) Ebb.&lt;/p&gt;


	&lt;p&gt;And last but not least, je&#347;li Rails z r&#243;&#380;nych wzgl&#281;d&#243;w ci nie pasuje, jest jeszcze konkurencyjny &amp;#8211; &lt;a href="http://www.merbivore.com/" rel="nofollow"&gt;Merb&lt;/a&gt;. Jest du&#380;o szybszy i (to moja opinia) jeszcze lepiej zaprojektowany i zaimplementowany ni&#380; Rails (z kt&#243;rego oczywi&#347;cie bardzo du&#380;o zapo&#380;ycza, wi&#281;c przej&#347;cie jest dosy&#263; &#322;atwe). Tworzony jest przez zawodowych programist&#243;w na pe&#322;nym etacie.&lt;/p&gt;</description>
      <pubDate>Thu, 13 Mar 2008 03:38:40 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:0d27d9e1-3bd8-434f-847a-82c6938451e4</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1491</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by mort</title>
      <description>&lt;p&gt;Generalnie nie zgodze si&#281;, &#380;e railsy s&#261;lepsze ze wzgledu na poziom generacji kodu. IMHO railsy daj&#261; zbyt du&#380;y poziom automatyzacji co powoduje wra&#380;enie(mo&#380;e mylne), &#380;e brak nam tak naprawde kontroli nad tym co si&#281; dzieje. Po drugie w railsach w moim odczuciu brak ujednoliconej konwencji, co znowu odziedziczyly po ruby. Pythonowa zasada, &#380;e porz&#261;dnie pewne rzeczy da si&#281; tylko zrobi&#263; w jeden spos&#243;b jest prawid&#322;owa w moim mniemaniu, zbyt du&#380;o mo&#380;liwo&#347;ci rozwi&#261;zania prostego taska genruje du&#380;e rozbie&#380;no&#347;ci na poziomie projektu i w efekcie du&#380;e problem z jego rozumieniem. Argument jakoby Netbeansy byly spoko IDE mnie nie przekona, bo z za&#322;o&#380;enia netbeansy i pokrewnego mu eclipsa uwa&#380;am za b&#322;&#281;dne na poziomie przyjetych za&#322;o&#380;e&#324;(s&#261; dobre  ale za cene szybko&#347;ci, gdyby by&#322;y bardziej optymalne, nie doskwiera&#322;o by to a&#380; tak). Faktycznie zgodze si&#281; ze URL resolver django m&#243;g&#322;by by&#263; lepszy.
Jesli chodzi o deployment, racja, railsy  maj&#261; si&#281; tu czym chwali&#263;, ale jak dla mnie django ma tu swoje racje, jak framework do robienia logiki aplikacji nie ca&#322;ych aplikacji. 
Jesli chodzi o testy zgodze si&#281;, ale nawykowo u&#380;ywam nosetest&amp;#8217;ow pythonowych, i IMHO si&#281; sprawdzaj&#261;.
Generalnie jak dla mnie zalet&#261; django jest dziedziczenie cech &#347;rodowiska python&amp;#8217;owego, to jest dojrza&#322;ego i konkretnego podej&#347;cia oraz dobrej developerskiej dokumentacji. Railsy robi&#261; du&#380;o szumu i maj&#261; &#322;adne tutoriale, ale w pewnym momencie woli sie doc&amp;#8217;a, a w rails&amp;#8217;ach brak dobrej dokumentacji, i to boli. Wreszcie django pi&#281;knie integruje si&#281; z ca&#322;ym pythonowym backendem w formie twisted, nosetestow, i ca&#322;ej reszty tego &amp;#8220;badziewia&amp;#8221;. Tu znowu du&#380;y kop w rails. Podsumowywujac, railsy-django 1,5:2. Railsy bylyby super, ale brak za bardzo zatracily konkret na rzecz eye-candy&lt;/p&gt;</description>
      <pubDate>Wed, 12 Mar 2008 23:26:45 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:f7762a44-b04b-4f16-bc00-2e8853c6588f</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1490</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;Nie twierdz&#281; &#380;e jest bez sensu. Ma swoje zalety jak i wady. Elastyczno&#347;&#263; na pewno nie jest jego zalet&#261;.&lt;/p&gt;</description>
      <pubDate>Fri, 29 Feb 2008 12:45:19 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:cda328a7-3d4b-4234-ac5f-cdb2dddf1688</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1458</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Szymon</title>
      <description>&lt;p&gt;Czy w takim razie dalej obstajesz przy tym &#380;e django jest raczej bez sensu i powinno si&#281; raczej i&#347;&#263; w stron&#281; pylonsa?&lt;/p&gt;</description>
      <pubDate>Fri, 29 Feb 2008 12:06:17 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:0d699953-bd1f-4fab-b511-d8c470a5e290</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1457</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;Co do startup w Pylons to si&#281; zgodz&#281;. Mog&#322;oby to by&#263; prostsze.&lt;/p&gt;


	&lt;p&gt;Co do resolvera URL w Django to si&#281; ju&#380; nie zgodz&#281;. Jest s&#322;abszy ni&#380; to, co oferuje pythonowy, u&#380;ywany przez Pylons, modu&#322; &lt;a href="http://routes.groovie.org/" rel="nofollow"&gt;Routes&lt;/a&gt; (podobne mapper jest w &lt;a href="http://api.rubyonrails.org/classes/ActionController/Routing.html" rel="nofollow"&gt;Rails&lt;/a&gt; i &lt;a href="http://www.merbivore.com/" rel="nofollow"&gt;Merb&lt;/a&gt;). Czy Django ma jakiekolwiek wsparcie dla REST?&lt;/p&gt;


	&lt;p&gt;Je&#347;li chodzi o szybko&#347;&#263; tworzenia kodu to te&#380; si&#281; nie zgodz&#281;. W Rails jest tu du&#380;a przewaga dzi&#281;ki liczniejszym generatorom/destruktorom, konwencjom, &lt;a href="http://wiki.rubyonrails.org/rails/pages/UnderstandingMigrations" rel="nofollow"&gt;migracjom&lt;/a&gt;, taskach &lt;a href="http://rake.rubyforge.org/" rel="nofollow"&gt;Rake&lt;/a&gt; i &lt;a href="http://www.capify.org/" rel="nofollow"&gt;Capistrano&lt;/a&gt; dla deployingu.&lt;/p&gt;


	&lt;p&gt;Django mo&#380;e by&#263; pozornie szybszy w developingu gdy korzystasz z pewnych gotowych modu&#322;&#243;w w jakie jest wyposa&#380;ony (np. i18n czy panel edytorski). Ale z kolei Rails ma to w mgnieniu oka osi&#261;gni&#281;te za pomoc&#261; &lt;a href="http://www.globalize-rails.org/globalize/" rel="nofollow"&gt;Globalize&lt;/a&gt;, &lt;a href="http://rails.lipsiasoft.com/wiki/lipsiadmin" rel="nofollow"&gt;Lipsiadmin&lt;/a&gt; czy &lt;a href="http://activescaffold.com/" rel="nofollow"&gt;ActiveScaffold&lt;/a&gt;. Wi&#281;c w sumie nie ma dobrych argument&#243;w na poparcie tezy &#380;e w Django pracuje si&#281; szybciej ni&#380; w Rails &amp;#8220;dopalonym&amp;#8221; paroma pluginami.&lt;/p&gt;


	&lt;p&gt;Rails te&#380; ma &#347;wietne IDE &amp;#8211; &lt;a href="http://www.netbeans.org/features/ruby/index.html" rel="nofollow"&gt;Netbeans 6&lt;/a&gt; z zintegrowanymi generatorami kodu, refactoringiem, &#347;wietnymi podpowiedziami i bardzo dobrym graficznym debuggerem. My&#347;lisz &#380;e to nie przy&#347;piesza prac&#281;? Oj przy&#347;piesza. :)&lt;/p&gt;


	&lt;p&gt;Tak&#380;e testowanie w Rails (i Merb) jest du&#380;o bardziej rozbudowane i w sumie lepsze ni&#380; w Django, bo u&#380;ywana jest nowsza metodologia &lt;a href="http://behaviour-driven.org/" rel="nofollow"&gt;BDD&lt;/a&gt; zamiast starego podej&#347;cia  &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development" rel="nofollow"&gt;TDD&lt;/a&gt; (vide &lt;a href="http://rspec.info/" rel="nofollow"&gt;RSpec Stories&lt;/a&gt;, pokrycie kodu automatycznie kontrolowane przez RCov, itp.)&lt;/p&gt;</description>
      <pubDate>Fri, 22 Feb 2008 17:38:18 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:f2c2c66a-8bcf-4333-8362-02b5cca709b7</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1412</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by mort</title>
      <description>&lt;p&gt;Dodam swoje trzy grosze. IMHO django ma sensowne podejscie do AJAX, bo jest frameworkiem w moim odczuciu server-side, wiec wymaganie od niego jakichs js konotacji jest bledne. Ponadto sensowne w moim odczuciu jest podejscie programistow django do ORM i URLi. Jesli ktos chce miec na szybko aplikacje, powiedzmy demo wiekszej, blog, normalna strone, dostaje dobrze zintegrowane i udokumentowane rozwiazania w pakiecie. Jesli chce cos zmieniac, modyfikowac, poprawiac, moze niewielkim nakladem si&#322; to zrobic. Wogole patrzac na django odnosze wrazenie o jego duzej modulowosci. Django ma mnostwo zalet o ktorych zdaja sie zapominac hardcore&amp;#8217;owi koderzy. Dokumentacja, bateries-included, szybkosc dzialania i szybkosc developmentu. Ponadto za kazdym razem gdy mialem wrazenie ze django mnie ogranicza okazywalo sie ze probuje cos zrobic w sposob nieefektywny/bledny/dziwny. Railsy wedlug mnie sa przekombinowane, daja za duzo mozliwosci na zrobienie najprostszych rzeczy, zmuszaja do nadmiernego myslenia w niewlasciwych momentach. Pylonsy sa za to za bardzo hard-coder-friendly. Najprostszy start-up ciagnie za soba duzo pracy, a generalnie nie to jest celem frameworka&lt;/p&gt;</description>
      <pubDate>Fri, 22 Feb 2008 16:15:13 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:4e933624-274e-4fc0-bfc0-777cb18d7745</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1411</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by lukasz@anwajler.com</title>
      <description>&lt;p&gt;Kubiku: to co opisa&#322;e&#347;, sprawi&#322;o w&#322;a&#347;nie, &#380;e zainteresowa&#322;em si&#281; Django. Nie zna&#322;em wtedy Pylons, ale moja znajomo&#347;&#263; Pythona nie by&#322;a wtedy zbyt dobra, wi&#281;c bym si&#281; tylko do niego zrazi&#322;. Django zapewni&#322;o ca&#322;kiem niez&#322;&#261; dokumentacj&#281;, grupa django-users wyja&#347;ni&#322;a reszt&#281; w&#261;tpliwo&#347;ci i mo&#380;na by&#322;o bardzo szybko zacz&#261;&#263; kodzi&#263;, nawet nie maj&#261;c wcze&#347;niej do&#347;wiadczenia z Pythonem.&lt;/p&gt;


	&lt;p&gt;Podobnie jak Ty uwa&#380;am, &#380;e to w&#322;a&#347;nie Django &amp;#8220;przejmie&amp;#8221; programist&#243;w, uciekaj&#261;cych, tak jak ja, od PHP.&lt;/p&gt;


	&lt;p&gt;Tylko czy Django to jest ju&#380; to? Czy nast&#281;pny etap to Pylons w&#322;a&#347;nie?:)&lt;/p&gt;


	&lt;p&gt;Si&#281; oka&#380;e.&lt;/p&gt;</description>
      <pubDate>Sat, 03 Nov 2007 22:34:34 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:54af3c8c-8fad-41f6-8825-9f7deb589bc2</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1193</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by kubiku</title>
      <description>&lt;p&gt;Starcie Django vs. Pylions wg mnie przypomina troch&#281; sytuacj&#281; sprzed kilku lat z MySQL i PostreSQL.&lt;/p&gt;


	&lt;p&gt;Mamy &amp;#8220;na rynku&amp;#8221; dwa rozwi&#261;zania: 
1. zaawansowane technicznie, &amp;#8220;powerfulne&amp;#8221;, elastyczne, rozbudowane i wydajne (PostreSQL, Pylons) 
2. prostsze, wygodne prosto z pude&#322;ka, zapewniaj&#261;ce ca&#322;kiem niez&#322;&#261; funkcjonalnos&#263; i wydajno&#347;&#263; (MySQL, Django)&lt;/p&gt;


	&lt;p&gt;Kilka miesi&#281;cy temu, kieruj&#261;c si&#281; w du&#380;ej mierze tym blogiem, zajrza&#322;em na stron&#281; Pylons z zamiarem jego u&#380;ycia. Mo&#380;e cechowa&#322;a mnie zbyt ma&#322;a wytrwa&#322;o&#347;&#263;, jednak odbi&#322;em si&#281; na samym pocz&#261;tku &amp;#8211; w sumie do tej pory nie wiem do ko&#324;ca jak to wszystko zainstalowa&#263; i stworzy&#263; co&#347; wi&#281;kszego od bloga.&lt;/p&gt;


	&lt;p&gt;Tymczasem na stronie Django czeka&#322;a wyczerpuj&#261;ca dokumentacja dotycz&#261;ca wszystkich aspekt&#243;w fraweworka, kilka opis&#243;w instalacji i tutoriali. Zosta&#322;em przy Django, do wielu zastosowa&#324; nadaje si&#281; niemal idealnie, czasem trzeba troch&#281; si&#281; nagimnastykowa&#263;. Powinienem doda&#263;, &#380;e Pythona dopiero si&#281; ucz&#281;, wi&#281;c &#322;atwiej mi by&#322;o zacz&#261;&#263; w &#347;rodowisku, gdzie wiele rzeczy jest wyja&#347;nionych i opisanych.&lt;/p&gt;


	&lt;p&gt;Wg mnie Django mo&#380;e zach&#281;ci&#263; do Pythona wielu developer&#243;w Javy i PHP. Mo&#380;e p&#243;&#378;niej przesi&#261;d&#261; si&#281; na Pylons, a mo&#380;e rozbuduj&#261; Django. Taki MySQL ma si&#281; wci&#261;&#380; &#347;wietnie i to coraz cz&#281;&#347;ciej te&#380; w klasie enterprise :)&lt;/p&gt;</description>
      <pubDate>Sat, 03 Nov 2007 20:53:34 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:6b637207-1bd4-4f5c-b85a-3103048783a9</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1192</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by forgems</title>
      <description>&lt;p&gt;Dyskusja ta sprowadza si&#281; do wy&#380;szo&#347;ci &#347;wi&#261;t Bo&#380;ego Narodzenia nad Wielkanoc&#261;.&lt;/p&gt;</description>
      <pubDate>Fri, 02 Nov 2007 08:46:57 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:b7b501d1-49d1-4b79-bd16-74c0516a3f3d</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1175</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by climbus</title>
      <description>&lt;p&gt;Po po&#347;cie Jarka nie za du&#380;o mam do dodania.&lt;/p&gt;


	&lt;p&gt;&amp;#8220;Ukradli&amp;#8221;  &amp;#8211; ostro z tym przesadzi&#322;e&#347;. Tw&#243;rcy Pylonsa &#347;ci&#347;le wsp&#243;&#322;pracuj&#261; z tw&#243;rcami bibliotek kt&#243;rych u&#380;ywaj&#261;:&lt;/p&gt;


	&lt;p&gt;Ian Bicking, tw&#243;rca PythonPaste jest cz&#322;onkiem wspieraj&#261;cym team pylonsa,&lt;/p&gt;


	&lt;p&gt;Michael Bayer, tw&#243;rca Mako i developer SQLAlchemy jest developerem Pylonsa&lt;/p&gt;


	&lt;p&gt;Ben Bangert, tw&#243;rca pythonowego Routes i WebHelpers jest tw&#243;rc&#261; Pylonsa.&lt;/p&gt;


	&lt;p&gt;Jak widzisz do kradzie&#380;y tu daleko. Raczej nazwa&#322; bym to wsp&#243;&#322;prac&#261;. Pylons wsp&#243;&#322;pracuje te&#380; z TurboGears. Z kim wsp&#243;&#322;pracuj&#261; developerzy Django?&lt;/p&gt;


	&lt;p&gt;Id&#261;c twoim tokiem my&#347;lenia Pythona i jego biblioteki standardowe te&#380; powinni napisa&#263; od zera. By&#322; by stabilniejszy :)&lt;/p&gt;


	&lt;p&gt;Pod tym co napisa&#322; wcze&#347;niej Jarek podpisuj&#281; si&#281; obiema r&#281;kami. Pylons daje gwarancj&#281;, &#380;e nie napotkam &#347;ciany w przysz&#322;o&#347;ci. Mog&#281; robi&#263; prawie wszystko bez paczowania frameworka.&lt;/p&gt;</description>
      <pubDate>Fri, 02 Nov 2007 08:34:18 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:c17e3c11-a5ad-467e-85db-ab7e69937d79</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1174</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;Dominik Szopa: dobrze &#380;e prace nad obs&#322;ug&#261; wielu baz trwaj&#261;. Na razie kod jest w fazie alpha wi&#281;c pewnie sporo czasu up&#322;ynie zanim uzyska status stabilnego.&lt;/p&gt;


	&lt;p&gt;Apropos&amp;#8217; wymy&#347;lania ko&#322;a od nowa. W&#322;a&#347;nie tu masz przyk&#322;ad takiego post&#281;powania. SQLAlchemy od dawna obs&#322;uguje wiele baz. Tym bardziej, &#380;e wcze&#347;niej m&#243;wiono, &#380;e Django ma sw&#243;j ORM zintegrowa&#263; z SA. Zmienili zdanie czy nadal planuj&#261; integracj&#281; z SA?&lt;/p&gt;


	&lt;p&gt;climbus niech sam ci odpisze. Ja tylko dodam od siebie, &#380;e nie widz&#281; &#380;adnej korzy&#347;ci nad djangowym kodem w fazie alpha skoro mam znacznie stabilniejsz&#261; i dojrzalsz&#261; alternatyw&#281; w postaci SQLAlchemy. Co&#347; pisane od zera nic nie oznacza odno&#347;nie stabilno&#347;ci poza tym &#380;e kto&#347; znowu chce wymy&#347;la&#263; ko&#322;o. Jako&#347;&#263; takiego kodu i tak zale&#380;y od poziomu jego tw&#243;rc&#243;w. Go&#347;cie od Pylonsa znaj&#261; bardzo dobrze Pythona. Nie s&#261;dz&#281;, &#380;eby ci od Django byli w czym&#347; lepsi.&lt;/p&gt;


	&lt;p&gt;Pylons opiera si&#281; na dobrych, sprawdzonych bibliotekach a nie na autorskim kodowaniu wszystkiego od zera. I bardzo dobrze. Dzi&#281;ki temu sam projekt  si&#281; szybciej rozwija ni&#380; Django.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://sqlalchemy.org" rel="nofollow"&gt;SQLAlchemy&lt;/a&gt; to najlepszy ORM jaki istnieje do Pythona. Czy Djangowy ORM potrafi obs&#322;u&#380;y&#263; z&#322;o&#380;one klucze obce?&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://routes.groovie.org/" rel="nofollow"&gt;Routes&lt;/a&gt; jest b. dobr&#261; bibliotek&#261;, implementuje i dostarcza helpery do REST (Django to potrafi?) M&#243;wiono, &#380;e Django mia&#322;o opcjonalnie doda&#263; Routes zamiast swego resolvera, ale nie wiem czy co&#347; tu zrobiono czy tylko sko&#324;czy&#322;o si&#281; na gadaniu.&lt;/p&gt;


	&lt;p&gt;U&#380;ywany przez Pylons &lt;a href="http://makotemplates.org" rel="nofollow"&gt;Mako&lt;/a&gt; to najlepszy (i najszybszy) system szablonowy jaki znam. Od pocz&#261;tku by&#322; oparty na czystych obiektach unikodowych Pythona. Django dopiero niedawno do tego doros&#322;o aby na to przej&#347;&#263;. Mako jest  te&#380; bardzo zgodny z pythonow&#261; filozofi&#261; pracy (wystarczy zobaczy&#263; spos&#243;b pracy modu&#322;&#243;w, dodawania custom tag&#243;w, jako zwyk&#322;ych bibliotek Pythona). Du&#380;o pro&#347;ciej, i lepiej ni&#380; to robi Django. Poza tym Mako ma mocny i elastyczny cache, jest odporny na w&#261;tki, ma mocne dziedziczenie i silne, parametryzowane includowanie modu&#322;&#243;w.&lt;/p&gt;


	&lt;p&gt;Nie masz w og&#243;le racji, &#380;e jak kto&#347; co&#347; napisze od zera to niby lepiej zaprojektuje. Nie rozumiesz chyba idei WSGI. Pylons pozwala na z&#322;o&#380;enie sobie frameworka takiego, jaki ci pasuje. W tym sensie Pylons nie jest tak jak Django frameworkiem, ale megaframeworkiem. WSGI to przysz&#322;o&#347;&#263;. Jest ju&#380; dodane do biblioteki standardowej Pythona 2.5. TurboGears te&#380; pod&#261;&#380;a w kierunku WSGI. Nawet w Django chciano te&#380; zej&#347;&#263; blizej WSGI, ich middleware troch&#281; to na&#347;laduje, ale to wszystko s&#261; raczej p&#243;&#322;&#347;rodki. Pylons jest unikalny nie dlatego, &#380;e ma jakie&#347; tam dobre modu&#322;y, ale dlatego, &#380;e totalnie poszed&#322; w kierunku WSGI.&lt;/p&gt;</description>
      <pubDate>Fri, 02 Nov 2007 02:12:42 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:46609f24-cacc-47d1-9ffd-c8b08365f9e1</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1172</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Dominik Szopa</title>
      <description>&lt;p&gt;Hmmm&amp;#8230; z tego co widze to support dla multi db jest skonczyony (code.djangoproject.com/wiki/MultipleDatabaseSupport), zosta&#322;a do zrobienia tylko dokumentacja, pewnie nie d&#322;ugo wyl&#261;duje w trunku.&lt;/p&gt;
&lt;p&gt;Do climbus: tak nie pisali od nowa, tylko &amp;#8220;ukradli&amp;#8221; wszystko od innych. Czy je&#380;eli co&#347; zosta&#322;o napisane od zera, nie oznacza to wi&#281;kszej stabilno&#347;ci oraz kontroli dla projektu??? ni&#380; je&#380;eli wszystko to tak naprawd&#281; jedna wielka sklejka tooli, bibliotek itd??? W&#322;a&#347;nie dla tego to &#380;e wszytko by&#322;o pisane od zero oznacza lepsze przemy&#347;lenie ca&#322;o&#347;ci(projektowanie oprogramowania sie k&#322;ania :-) )&lt;/p&gt;</description>
      <pubDate>Fri, 02 Nov 2007 00:04:16 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:02f47919-a4c9-4fd4-91fa-e805ce8b4025</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1171</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;forgems: z t&#261; obs&#322;ug&#261; formularzy to bym si&#281; nie podnieca&#322;. Django obs&#322;uguje dobrze raczej trywialne formularze. Ich mechanizm jest bezu&#380;yteczny w wypadku czego&#347; bardziej skomplikowanego, gdy&#380; wtedy trzeba klepa&#263; w czystym HTML albo definiowa&#263; swoj&#261; obs&#322;ug&#281; dla inaczej zachowuj&#261;cych si&#281; p&#243;l formularza. Jak do tego dojd&#261; interakcje mi&#281;dzy polami w JS lub AJAX to jest jeszcze gorzej, bo Django nie ma tu nic dodatkowego do zaoferowania. Pylons i Rails lepiej nadaj&#261; si&#281; do budowania bardziej nietypowych, skomplikowanych formularzy.
Co do generic views to nigdy nie znalazlem w nich nic atrakcyjnego. Maj&#261; za ma&#322;o dynamizmu, &#322;ami&#261; przejrzysto&#347;&#263; przep&#322;ywu sterowania modelu MVC i s&#261; za banalne, aby na nich zbudowa&#263; co&#347; bardziej skomplikowanego.&lt;/p&gt;</description>
      <pubDate>Thu, 01 Nov 2007 22:28:13 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:673cd8d5-afa5-4933-8cbd-c4b86c684dd8</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1170</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by forgems</title>
      <description>&lt;p&gt;To jest blog Jarka i chyba czas zakonczyc ta dyskusje.&lt;/p&gt;</description>
      <pubDate>Thu, 01 Nov 2007 20:56:17 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:d46c41e7-3d96-4e53-802d-62577bbaea45</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1168</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by forgems</title>
      <description>&lt;p&gt;&amp;gt;&amp;gt;Nie mog&#281; ingerowa&#263; w baz&#281; danych, dodaj&#261;c jakie&#347; tabele potrzebne tylko do www. Po przej&#347;ciu na SQLAlchemy mog&#281; wpasowa&#263; si&#281; w ka&#380;d&#261; struktur&#281;.&lt;/p&gt;


	&lt;p&gt;A kto ci zabrania ?&lt;/p&gt;


	&lt;p&gt;&amp;gt;&amp;gt;Oj chyba si&#281; mylisz. To Django ma ci&#261;gotki do wynalezienia ko&#322;a od nowa. Ludzie od Pylons nie pisali wszystkiego od nowa. U&#380;ywali gotowych, sprawdzonych bibliotek.&lt;/p&gt;


	&lt;p&gt;Tu nie chodzi o wewnetrzna organizacje projektu, ale np obs&#322;ug&#281; formularzy, generic views itp. Te sprawy django ma przemyslane i dobrze zoorganizowane, nie musze szukac bibliotek ktore mi to ulatwia ani pisac wlasnych narzedzi poniewaz w django juz je mam, a podejscie tworcow jest bardzo pragmatyczne i zdrowo rozsadkowe.&lt;/p&gt;</description>
      <pubDate>Thu, 01 Nov 2007 20:53:04 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:4ad77543-5991-4328-aee8-d13c1a549543</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1167</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by climbus</title>
      <description>&lt;p&gt;Oj chyba si&#281; mylisz. To Django ma ci&#261;gotki  do wynalezienia ko&#322;a od nowa. Ludzie od Pylons nie pisali wszystkiego od nowa. U&#380;ywali gotowych, sprawdzonych bibliotek.&lt;/p&gt;


	&lt;p&gt;I chyba nie &amp;#8220;wpasowa&#263;&amp;#8221; a &amp;#8220;dopasowa&#263;&amp;#8221;. Deweloper musi si&#281; dopasowa&#263; do frameworka.&lt;/p&gt;


	&lt;p&gt;Jak czytam ten w&#261;tek to upewniam si&#281; w swoim przekonaniu, &#380;e i tak wszystko ko&#324;czy si&#281; na zmienianiu &#378;r&#243;de&#322; Django. Pylonsa mog&#281; dopasowa&#263; do swoich i mojej firmy potrzeb bez ingerencji w jego &#378;r&#243;d&#322;a.&lt;/p&gt;


	&lt;p&gt;M. in. dlatego wybra&#322;em Pylons.&lt;/p&gt;


	&lt;p&gt;Nie mog&#281; ingerowa&#263; w baz&#281; danych, dodaj&#261;c jakie&#347; tabele potrzebne tylko do www. Po przej&#347;ciu na SQLAlchemy mog&#281; wpasowa&#263; si&#281; w ka&#380;d&#261; struktur&#281;.&lt;/p&gt;</description>
      <pubDate>Thu, 01 Nov 2007 17:45:15 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:bf083c53-0d0e-4437-a840-90c57292aa51</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1165</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by forgems</title>
      <description>&lt;p&gt;&amp;gt;&amp;gt;Znacznie lepiej odizolowa&#263; to od siebie za pomoc&#261; parametr&#243;w formalnych.&lt;/p&gt;


	&lt;p&gt;Dalej nie widze problemu, to jest kwestia jak jest stworzona funkcja parsujaca dane do template taga. Odpowiednio stworzona funkcja mo&#380;e generowa&#263; s&#322;ownik **kwargs-&#243;w i by&#263; stosowana wsz&#281;dzie. Mo&#380;na napisa&#263; odpowiedni&#261; funkcje. Django nie stawia w tej kwestii &#380;adnych ogranicze&#324;, to raczej kwestia preferencji programisty.&lt;/p&gt;


	&lt;p&gt;&amp;gt;&amp;gt;Oczywi&#347;cie, &#380;e tak. Zar&#243;wno SQLAlchemy jak i SQLObject to potrafi&#261;.&lt;/p&gt;


	&lt;p&gt;Taaa, a konfiguracja tego jest bardzo prosta. R&#243;wnie prosta co w django, bo je&#347;li zechce to mog&#281; podpi&#261;&#263; te ORM-y do django, praktycznie w identyczny spos&#243;b jak w pylonsach.&lt;/p&gt;


	&lt;p&gt;Pylons jest po prostu odpowiednikiem rails&#243;w dla pythona przy czym wi&#281;kszy nacisk stawia na DIY ni&#380; szybki start projektu.&lt;/p&gt;


	&lt;p&gt;W gronie problem polega na tym &#380;e przy przechodzeniu z javy na django nie dosz&#322;o do migracji bazy na tak&#261; jaka by sprzyja&#322;a django. Dlatego nie mo&#380;emy wykorzysta&#263; &#347;wietnego django.contrib.auth, django.contrib.comments, django.contrib.contenttypes, przez nasza aplikacja korzysta ju&#380; w tej chwili tylko z mapper-a urli i templat&#243;w.&lt;/p&gt;


	&lt;p&gt;Sp&#243;jrzmy na pownce, kt&#243;re praktycznie w ca&#322;o&#347;ci zosta&#322;o stworzone za pomoc&#261; generic views i aplikacji dost&#281;pnyc w django.contrib.&lt;/p&gt;


	&lt;p&gt;R&#243;&#380;nica mi&#281;dzy django a pylons to kwestia podej&#347;cia do sprawy developera. Czy woli dobrze pozna&#263; dany framework i wpasowa&#263; si&#281; w niego ( django ), czy te&#380; woli pisa&#263; wszystko od podstaw bo wie lepiej co jest mu potrzebne ( przy czym w wi&#281;kszo&#347;ci przypadk&#243;w dokonuje wynalezienia ko&#322;a od nowa )&lt;/p&gt;</description>
      <pubDate>Thu, 01 Nov 2007 12:22:22 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:9882ed4a-6b7e-4954-a8de-4288679208e4</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1161</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by rsz</title>
      <description>&lt;p&gt;Tak na szybko tylko odpowiem: system generowania URLi w django jest bardzo rozbudowany i elastyczny. Ma reversowanie, wbrew temu, co piszesz, a z naszymi (sensisoftowymi) poprawkami z ostatnich paru tygodni to w og&#243;le wypas :)&lt;/p&gt;</description>
      <pubDate>Thu, 01 Nov 2007 11:19:59 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:c0584c46-d5a0-4794-a343-7a1d1fee3f1a</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1159</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Dominik Szopa</title>
      <description>&lt;p&gt;Jarek:

&amp;gt;&amp;gt;Unikanie helper&#243;w do Ajaksa bo niby&lt;br /&gt;&amp;gt;&amp;gt;&#8220;Django nie chce wskazywa&#263; na jaki&#347;&lt;br /&gt; &amp;gt;&amp;gt;jeden framework&#8221; to chyba jaki&#347; nonsens.&lt;br /&gt; &amp;gt;&amp;gt;To jest ich oficjalne stanowisko czy sam&lt;br /&gt; &amp;gt;&amp;gt;to wymy&#347;li&#322;e&#347;?

&lt;p&gt;Tak to ich oficjalne stanowisko, na &lt;a href="http://www.pythonthreads.com/articles/interviews/django-shines-when-it-comes-to-developing-content-oriented-web-sites.html" rel="nofollow"&gt;
stronie
&lt;/a&gt; mo&#380;na znale&#378;&#263; wywiad z lead developerem &amp;#8211; Jacob&amp;#8217;em Kaplan-Moss&amp;#8217;em. Jest tam takie zdanie:
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;


	&lt;p&gt;&amp;#8220;PythonThreads &amp;gt;&amp;gt; Frameworks like ROR make it easy to add simple AJAX functionality to web applications. Any plans of adding similar support in near future?
Jacob Kaplan-Moss &amp;gt;&amp;gt; This question comes up often, and I&amp;#8217;m never really sure how to handle it. Part of the problem is that I don&amp;#8217;t think anybody really can define what &amp;#8220;supporting AJAX&amp;#8221; really means. If it just means allowing JavaScript callbacks, Django&amp;#8217;s already really good at that. The serialization libraries let you convert database objects to JSON, XML, or YAML in just a couple of lines of code. &lt;br /&gt;&lt;br /&gt;
However, if &amp;#8220;AJAX support&amp;#8221; means bundling a JavaScript library, that&amp;#8217;s never gonna happen. We&amp;#8217;re Python programmers&amp;#8212;why should you trust &lt;strong&gt;our&lt;/strong&gt; choices when it comes to JavaScript? If you added special support for (say) Dojo, we&amp;#8217;d effectively be tying our users&amp;#8217; hands. Lock-in sucks in closed-source software, and it still sucks in open-source.&amp;#8221;&lt;/p&gt;


	&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Podsumowuj&#261;c: Django posiada narz&#281;dzia do serializacji, kt&#243;re pozwalaj&#261; na konwersje obiekt&#243;w z bazy do JSON&amp;#8217;a. XML&amp;#8217;a lub YAML&amp;#8217;a, ale nigdy nie b&#281;dzie specjalnej obs&#322;ugi konkretnego framework&amp;#8217;a Ajax&amp;#8217;owego
&lt;/p&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 31 Oct 2007 23:54:31 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:94ca7fe0-190a-40d2-b7a1-ea6564c729b9</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1158</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;forgems: Nie przekonuje mnie to zupe&#322;nie. Uzale&#380;nienie wewn&#281;trznej implementacji template taga od nazwy zmiennej w szablonie w kontek&#347;cie jakiego ma si&#281; pojawi&#263; jest po prostu b&#322;&#281;dem projektowym. Znacznie lepiej odizolowa&#263; to od siebie za pomoc&#261; parametr&#243;w formalnych. Mo&#380;na w ten spos&#243;b tworzy&#263; sobie biblioteki tag&#243;w, nie martwi&#261;c si&#281; o to, gdzie mog&#261; by&#263; wykorzystane. 
Czy Pylons wspiera wiele baz? Oczywi&#347;cie, &#380;e tak. Zar&#243;wno SQLAlchemy jak i  SQLObject to potrafi&#261;.&lt;/p&gt;</description>
      <pubDate>Wed, 31 Oct 2007 22:38:23 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:e2be3ddc-6135-49dd-9b97-e3c99a743aaf</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1154</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;Dominik, ten argument o konieczno&#347;ci dbania o zewn&#281;trzn&#261; bibliotek&#281; brzmi niewiarygodnie. Przecie&#380; ch&#322;opcy-djangowcy &lt;a href="http://groups.google.com/group/django-developers/browse_thread/thread/5149e1c60dc65bff/a177bb34cfde1ec7" rel="nofollow"&gt;usi&#322;uj&#261; od jakiego&#347; czasu zintegrowa&#263;&lt;/a&gt; sw&#243;j ORM z zewn&#281;trznym , pote&#380;niejszym SQLAlchemy. Wcze&#347;niej m&#243;wiono te&#380; co&#347; o dodaniu Routes, bo ka&#380;dy wie &#380;e bazuj&#261;cy na wyra&#380;eniach regularnych resolver URLi w Django jest taki sobie (Nie ma wsparcia dla REST ani generowania URL. Jakakolwiek zmiana struktury aplikacji wymaga r&#281;cznej wymiany tysi&#281;cy URL usianych w szablonach Django).&lt;/p&gt;


	&lt;p&gt;Unikanie helper&#243;w do Ajaksa bo niby &amp;#8220;Django nie chce wskazywa&#263; na jaki&#347; jeden framework&amp;#8221; to chyba jaki&#347; nonsens. To jest ich oficjalne stanowisko czy sam to wymy&#347;li&#322;e&#347;? Przecie&#380; Django z def. wskazuje na konkretne rozwi&#261;zania (zreszt&#261; zgodnie z Pythonowym ZEN) i tu niby mia&#322;oby robi&#263; wyj&#261;tek? Nie wierz&#281;. Tym bardziej, &#380;e dobrze pami&#281;tam jak si&#281; zastanawiano nie &amp;#8220;czy&amp;#8221;, ale JAKI framework  do Ajaksa wybra&#263;. Zreszt&#261; sami &lt;a href="http://code.djangoproject.com/wiki/AJAX" rel="nofollow"&gt;w Wiki wskazuj&#261;&lt;/a&gt; na jakie&#347; rozwi&#261;zania kt&#243;re jeden, czy drugi internauta wymy&#347;li&#322;. Troch&#281; to bez sensu. Tym powinien zaj&#261;&#263; si&#281; core team a nie odsy&#322;a&#263; ludzi do jakich&#347; amatorskich rozwi&#261;za&#324;.  Poza tym, cho&#263; helpery to wygodna sprawa, to jak komu&#347; nie pasuj&#261;, zawsze mo&#380;e pisa&#263; w czystym JavaScripcie. W ka&#380;dym razie Django nie daje takiej opcji.&lt;/p&gt;


	&lt;p&gt;Zreszt&#261; nie chodzi tylko o Ajaksa. Pylons ma bogate webhelpery u&#322;atwiaj&#261;ce tworzenie nie tylko JavaScript ale te&#380; kodu HTML (w Django musisz na piechot&#281; zapieprza&#263; z kodem HTML) Poza tym helpery nie musz&#261; ogranicza&#263; si&#281; do jednego Prototype. Pylons reklamuje si&#281; &#380;e ich WebHelpery s&#261; oparte na Mochikit, Prototype, JQuery, Dojo czy Ext. Do wyboru, do koloru.&lt;/p&gt;


	&lt;p&gt;Odno&#347;nie plus&#243;w Django. Generic views nigdy jako&#347; do mnie nie przemawia&#322;y. Nadaj&#261; si&#281; tylko do prostych rzeczy. (Zreszt&#261; wkurza mnie nazywanie kontroler&#243;w widokami i zamieszanie z terminologi&#261; MVC. Oni to pomieszali, bo po prostu nie wiedziali jak poprawnie to powinno si&#281; nazywa&#263;. Jeden z developer&#243;w Django sam to przyzna&#322; na jednym filmie.)&lt;/p&gt;


	&lt;p&gt;Co do panelu edytorskiego, to jest po&#380;yteczny cho&#263; ma dosy&#263; ograniczone zastosowanie. W sumie mo&#380;na by napisa&#263; co&#347; takiego. Nawet do Rails co&#347; tam podobnego stworzono. Ale fakt, &#380;e Django to ju&#380; ma, to jego plus. Fakt.&lt;/p&gt;


	&lt;p&gt;Dokumentacja Django jest niez&#322;a. Prawda. Ale modu&#322;y jakie u&#380;ywa Pylons te&#380; maj&#261; dobr&#261; dokumentacj&#281;. Mako ma bardzo dobr&#261; dokumentacj&#281;. Nie mo&#380;na si&#281; du&#380;o przyczepi&#263; do SAAlchemy czy Routes. Wi&#281;c w sumie wychodzi na to samo. Poza tym  do Pylons jest ju&#380; dosy&#263; dobra dokumentacja. Du&#380;o si&#281; zmieni&#322;o w przeci&#261;gu ostatnich miesi&#281;cy. W sumie ja bym tu dawa&#322; remis.&lt;/p&gt;


	&lt;p&gt;Co do tego zlepku bibliotek, to mamy tu do czynienia z inn&#261; filozofi&#261;. Pylons to czysty framework WSGI i to jest akurat bardzo dobre. Jest niesamowicie elastyczny. I to te&#380; jest dobre, bo masz ma&#322;e szanse &#380;e spotkasz si&#281; z jakimi&#347; ograniczeniami w przysz&#322;o&#347;ci. Django to jest aplikacja monolityczna, o okre&#347;lonym profilu, zastosowaniu. Ma to swoje zalety, ale te&#380; i wady. Zapomnia&#322;e&#347; doda&#263;, &#380;e &#243;w zlepek bibliotek w Pylons jest zlepkiem bardzo dobrych bibliotek, lepszych od Django. I wcale nie mniej stabilnych. SQLAlchemy jest lepszym ORM ni&#380; Django, Routes lepszym resolverem, Mako lepszym systemem komponentowo-szablonowym. Zreszt&#261; Pylons pozwala na u&#380;ycie Jinja kt&#243;re s&#261; ulepszonym klonem szablon&#243;w Django.&lt;/p&gt;


	&lt;p&gt;Z tym ograniczaniem co do Ajaksa, ju&#380; wy&#380;ej napisa&#322;em. Brzmi to ma&#322;o przekonuj&#261;co. Sorry za d&#322;ugi wpis. Mo&#380;emy przenie&#347;&#263; dyskusj&#281; na pl.comp.lang.python je&#347;li jest taka potrzeba.&lt;/p&gt;</description>
      <pubDate>Wed, 31 Oct 2007 22:36:27 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:60291672-ce6c-4e1e-86b8-fe7daab3d05d</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1153</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Dominik Szopa</title>
      <description>&lt;p&gt;&lt;strong&gt;Jaros&#322;aw Zabie&#322;&#322;o&lt;/strong&gt;

Mo&#380;e by&#347; tak poda&#322; jakie&#347; konkrety n/t tych &#8220;dobrze przemy&#347;lanych i lepszych&#8221; rzeczy w Django?
&lt;/p&gt;


Prosze bardzo:
&lt;pre&gt;
* Widoki generyczne
* Automatyczny panel edytorski
* Bardzo dobra dokumentacja
* Nie jest zlepkiem tool'i, bibliotek itd. Co zapewnia wi&#281;ksza stabilno&#347;&#263;
* Nie ogranicza do korzystania z konkretnego wbudowanego framework'a Ajaxowego - dla mnie to zaleta
* O czym&#347; jeszcze zapomnia&#322;em???
&lt;/pre&gt;</description>
      <pubDate>Wed, 31 Oct 2007 21:04:40 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:f89e54b6-3541-4d45-8223-c9975cfa906d</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1151</link>
    </item>
    <item>
      <title>"Django ograniczeniem w rozwoju?" by Dominik Szopa</title>
      <description>&lt;p&gt;A czy kto&#347; sie kiedy&#347; zastanawia&#322; dlaczego  w Djnago nie ma takich helper&#243;w &amp;#8220;out of box&amp;#8221; do Ajaxa??? Kiedy&#347; czyta&#322;em &#380;e dlatego tego nie chca da&#263; bo to nie by&#322;o by zgodne z filozofia Django. Musieli by odpowiada&#263; za cudzy kod frameworka Ajaxowego, pozatym ktory wybrac? Jedne sa gorsze drugie lepsze. Uwa&#380;am &#380;e to podjescie jest bardzo dobre, nie zmusza do korzystania z frameworka Ajax&amp;#8217;owego XXX. Jest tylko zrobione wsparcie &#380;e mog&#281; z Django bez problemu mo&#380;na u&#380;y&#263; dowolnego frameworka Ajaxowego, takiego jaki mi sie podoba. Osobiscie do Django u&#380;ywam Prototype&amp;#8217;a z script.aculo. Uwa&#380;am &#380;e to du&#380;o lepsze podjescie ni&#380; na si&#322;e umieszczac w projekcie jeden konkretny framework Ajaxowy.&lt;/p&gt;


	&lt;p&gt;Pozdrawiam Dominik Szopa&lt;/p&gt;</description>
      <pubDate>Tue, 30 Oct 2007 22:08:12 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:aa29ffe6-e12b-4f45-816c-a2d0fe21105a</guid>
      <link>http://blog.zabiello.com/articles/2007/10/27/django-ograniczeniem-w-rozwoju#comment-1150</link>
    </item>
  </channel>
</rss>
