<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/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: Prototype - oficjalne API i dokumentacja</title>
    <link>http://blog.zabiello.com/articles/2007/01/19/prototype-oficjalne-api-i-dokumentacja</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>moje notatki, linki, komentarze</description>
    <item>
      <title>Prototype - oficjalne API i dokumentacja</title>
      <description>&lt;p&gt;Znana biblioteka &lt;strong&gt;Prototype&lt;/strong&gt; doczeka&#322;a si&#281; w&#322;asnej dokumentacji, &lt;span class="caps"&gt;API&lt;/span&gt; oraz bloga: &lt;a href="http://prototypejs.org/"&gt;http://prototypejs.org&lt;/a&gt;. Prototype zapewnia lekkie, eleganckie &lt;span class="caps"&gt;API&lt;/span&gt; &lt;strong&gt;o sk&#322;adni wzorowanej na j&#281;zyku Ruby&lt;/strong&gt;. Ta sk&#322;adnia jest tak &#322;adna, &#380;e niekt&#243;rzy nawet nie widz&#261; potrzeby tworzenia dodatkowych helper&#243;w.  W tej chwili to, moim zdaniem, najlepsza biblioteka do JavaScript i &lt;span class="caps"&gt;AJAX&lt;/span&gt;. &lt;a href="http://rubyonrails.org"&gt;Rails&lt;/a&gt; postawi&#322; zdecydowanie na dobrego konia. &lt;a href="http://pylonshq.com"&gt;Pylons&lt;/a&gt; &amp;#8211; niejako  &amp;#8220;z rozp&#281;du&amp;#8221;, bo skopiowali railsowe helpery &amp;#8211; te&#380;. :)&lt;/p&gt;


	&lt;p&gt;Rozmawia&#322;em niedawno na &lt;span class="caps"&gt;IRC&lt;/span&gt;&amp;#8217;u (irc.freenode#pylons) z developerami &lt;a href="http://pylonshq.com"&gt;Pylons&#243;w&lt;/a&gt;. Maj&#261; rozszerzy&#263; swoje helpery o dodatkowe funkcje, ale nie zaimplementuj&#261; p&#281;tli kt&#243;re s&#261; w Prototype i railsowych &lt;a href="http://www.rubyinside.com/16-rjs-resources-and-tutorials-for-rails-programmers-5.html"&gt;&lt;span class="caps"&gt;RJS&lt;/span&gt;&lt;/a&gt; (szablonach generuj&#261;cych JavaScript w j&#281;z. Ruby) Ograniczeniem jest tu sk&#322;adnia Pythona. Tzn. mo&#380;na by si&#281; pokusi&#263; o tak&#261; implementacj&#281;, ale by&#322;aby ma&#322;o &amp;#8220;pythonic&amp;#8221;, tj. zgodna z filozofi&#261; i czytelno&#347;ci&#261; j&#281;zyka Python. Wi&#281;c raczej na &lt;span class="caps"&gt;RJS&lt;/span&gt; dla Pythona nie ma co liczy&#263;.&lt;/p&gt;


	&lt;p&gt;Wg mnie te wszystkie helpery jakie ma RoR (i &lt;span class="caps"&gt;RJS&lt;/span&gt; w szczeg&#243;lno&#347;ci) to jedna z lepszych cech Rails&#243;w kt&#243;rej brak  u konkurencji. Nie zgodz&#281; si&#281; tu z tymi, co uwa&#380;aj&#261; &#380;e lepiej w og&#243;le nie u&#380;ywa&#263; &#380;adnych helper&#243;w i pisa&#263; w czystym JavaScript.  Mimo &#322;adnej sk&#322;adni Prototype, railsowe helpery i &lt;span class="caps"&gt;RJS&lt;/span&gt; daj&#261; znacznie wi&#281;kszy komfort pracy. Np. we&#378;my tak&#261; konstrukcj&#281; w pliku &lt;span class="caps"&gt;RJS&lt;/span&gt;:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="ident"&gt;page&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;replace_html&lt;/span&gt; &lt;span class="symbol"&gt;:my_id&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="symbol"&gt;:partial&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;podszablon&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;Co robi powy&#380;sza metoda? Buduje kod JavaScript kt&#243;ry podmienia zawarto&#347;&#263; (innerHTML) dla tagu o id =&amp;#8217;my_id&amp;#8217; zawarto&#347;ci&#261; szablonu &lt;span class="caps"&gt;RHTML&lt;/span&gt; (oczywi&#347;cie jego zawarto&#347;&#263; jest automatycznie &amp;#8220;escape&amp;#8217;owana&amp;#8221;, aby kod JS si&#281; nie wysypa&#322;). Trzeba si&#281; nie&#378;le napracowa&#263; aby uzyska&#263; podobny efekt poza Railsami.&lt;/p&gt;


	&lt;p&gt;Troch&#281; si&#281; dziwi&#281;, &#380;e &lt;a href="http;//djangoproject.com"&gt;Django&lt;/a&gt; my&#347;li o &lt;a href="http://article.gmane.org/gmane.comp.web.dojo.user/3603"&gt;dodaniu Dojo&lt;/a&gt; zamiast Prototype. Mamy w pracy raczej z&#322;e do&#347;wiadczenie z Dojo. Jest ci&#281;&#380;kie, zamotane, trudne do debugowania, modyfikacji. To po cz&#281;&#347;ci efekt podej&#347;cia nastawionego na u&#380;ywanie z&#322;o&#380;onych komponent&#243;w (na&#347;laduj&#261; .NET?) Takie podej&#347;cie (u&#380;ywanie zbyt wysokopoziomowych, z&#322;o&#380;onych komponent&#243;w) generalnie spotyka si&#281; z krytyk&#261; wielu programist&#243;w. Pro&#347;ciej operowa&#263; elastycznym i przejrzystym  kodem (takim jak w Prototype) ni&#380; gotowymi, zamkni&#281;tymi i  trudnymi do debugowania komponentami Dojo.&lt;/p&gt;</description>
      <pubDate>Fri, 19 Jan 2007 16:53:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:f2186883-61cb-4878-ac1c-a526a3b53694</guid>
      <author>Jaros&#322;aw Zabie&#322;&#322;o</author>
      <link>http://blog.zabiello.com/articles/2007/01/19/prototype-oficjalne-api-i-dokumentacja</link>
      <category>prototype</category>
      <category>ajax</category>
      <category>javascript</category>
      <category>rjs</category>
      <category>rails</category>
      <category>dojo</category>
    </item>
    <item>
      <title>"Prototype - oficjalne API i dokumentacja" by Marcin Kaszy&#324;ski</title>
      <description>&lt;p&gt;Ej&#380;e, ten tekst Jacoba to stycze&#324; 2006 :)  W mi&#281;dzyczasie plany uleg&#322;y zmianie i Django, przynajmniej na razie, nie b&#281;dzie u&#322;atwia&#263; po&#322;&#261;czenia z &#380;adn&#261; konkretn&#261; bibliotek&#261; JS.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://groups.google.com/group/django-users/browse_frm/thread/ddda4643b1b818cd/" rel="nofollow"&gt;Tutaj&lt;/a&gt;
mo&#380;na przeczyta&#263; bardziej aktualne wypowiedzi.&lt;/p&gt;</description>
      <pubDate>Sat, 20 Jan 2007 19:51:07 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:61532e34-e1f4-46d7-8855-b3fea7016cd7</guid>
      <link>http://blog.zabiello.com/articles/2007/01/19/prototype-oficjalne-api-i-dokumentacja#comment-424</link>
    </item>
    <item>
      <title>"Prototype - oficjalne API i dokumentacja" by lopex</title>
      <description>&lt;p&gt;mogli by to podpi&#261;&#263; na &lt;a href="http://gotapi.com/...&lt;/p" rel="nofollow"&gt;http://gotapi.com/...&lt;/a&gt;&lt;/p&gt;&gt;</description>
      <pubDate>Sat, 20 Jan 2007 15:46:23 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:122a830d-d90b-4870-af26-b40851e72ecf</guid>
      <link>http://blog.zabiello.com/articles/2007/01/19/prototype-oficjalne-api-i-dokumentacja#comment-423</link>
    </item>
    <item>
      <title>"Prototype - oficjalne API i dokumentacja" by riklaunim</title>
      <description>&lt;p&gt;Django nie zrobi czego&#347; og&#243;lnego na r&#243;&#380;ne biblioteki Ajaxa ;) Django lubi dziwne decyzje i &amp;#8220;reinventing the wheel&amp;#8221; ;)&lt;/p&gt;</description>
      <pubDate>Sat, 20 Jan 2007 12:16:49 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:50707fbf-942b-44b9-b58f-0bf1a19b1779</guid>
      <link>http://blog.zabiello.com/articles/2007/01/19/prototype-oficjalne-api-i-dokumentacja#comment-422</link>
    </item>
    <item>
      <title>"Prototype - oficjalne API i dokumentacja" by tharkang</title>
      <description>&lt;p&gt;Mi osobi&#347;cie najbardziej podoba si&#281; &lt;a href="http://developer.yahoo.com/yui/" rel="nofollow"&gt;YUI&lt;/a&gt;. Dzia&#322;a dobrze, jest przeno&#347;ne, ma &#347;wietn&#261; dokumentacj&#281; i nie udziwnia JavaScriptu pr&#243;buj&#261;c uczyni&#263; go czym&#347; innym ni&#380; jest &amp;#8211; bo tego dobrze zrobi&#263; si&#281; nie da.&lt;/p&gt;


	&lt;p&gt;Do Prototype zniech&#281;ca mnie na przyk&#322;ad b&#322;&#261;d pod Konquerorem (Can&amp;#8217;t find variable: HTMLFormElement).
Dojo za&#347; kilkakrotnie przy &#322;adowaniu (strona projektu-&amp;gt;dema) zamrozi&#322;o ca&#322;&#261; przegl&#261;dark&#281; &amp;#8211; i to nie tylko Konquerora ale te&#380; Firefoxa.&lt;/p&gt;


	&lt;p&gt;YUI dzia&#322;a dobrze wsz&#281;dzie. I dobrze wsp&#243;&#322;pracuje z Django, co mo&#380;na zobaczy&#263; na przyk&#322;adach w wiki djangowym (a tak&#380;e na Django Book).&lt;/p&gt;


	&lt;p&gt;Najlepiej gdyby Django umo&#380;liwi&#322;o wsp&#243;&#322;prac&#281; z r&#243;&#380;nymi toolkitami AJAXowymi &amp;#8211; zrobi&#322;o og&#243;lne metody i ich implementacje dla g&#322;&#243;wnych toolkit&#243;w.&lt;/p&gt;</description>
      <pubDate>Sat, 20 Jan 2007 09:56:49 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:4eb5292c-380c-4603-b43a-aca65b55eca9</guid>
      <link>http://blog.zabiello.com/articles/2007/01/19/prototype-oficjalne-api-i-dokumentacja#comment-421</link>
    </item>
    <item>
      <title>"Prototype - oficjalne API i dokumentacja" by riklaunim</title>
      <description>&lt;p&gt;jQuery sypie si&#281; troch&#281; pod Konquerorem ;)&lt;/p&gt;</description>
      <pubDate>Sat, 20 Jan 2007 00:44:14 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:e933963a-1153-4843-ae7b-6521336868ac</guid>
      <link>http://blog.zabiello.com/articles/2007/01/19/prototype-oficjalne-api-i-dokumentacja#comment-419</link>
    </item>
    <item>
      <title>"Prototype - oficjalne API i dokumentacja" by pawel</title>
      <description>&lt;p&gt;Przedwczoraj trafilem te ich nowa stronke, wreszcie jest gdzies dokumentacja API. jQuery jest swietne zwl. z dodatkami (&lt;a href="http://interface.eyecon.ro/demos" rel="nofollow"&gt;Interface Elements&lt;/a&gt; , &lt;a href="http://jquery.com/demo/grey/" rel="nofollow"&gt;Greybox&lt;/a&gt;, &lt;a href="http://jquery.com/demo/thickbox/" rel="nofollow"&gt;ThickBox&lt;/a&gt;) ale z wygody uzywam Prototype i Aculo (zreszta sa one rownie dobre, mam po prostu takie wrazenie, ze efekty oparte na jQuery sa bardziej plynne i lekkie).&lt;/p&gt;


	&lt;p&gt;BTW. wlasnie wyszla nowa wersja aculo 1.7.0 i oczywiscie od razu jest w trunku railsow.&lt;/p&gt;


	&lt;p&gt;A myslalem, ze pythonowcy preferuja Mochikit :)&lt;/p&gt;</description>
      <pubDate>Fri, 19 Jan 2007 23:28:58 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:827ce336-2813-42db-bb86-bffe857aa10f</guid>
      <link>http://blog.zabiello.com/articles/2007/01/19/prototype-oficjalne-api-i-dokumentacja#comment-417</link>
    </item>
    <item>
      <title>"Prototype - oficjalne API i dokumentacja" by Tomasz Bielecki</title>
      <description>&lt;p&gt;Tak, RJS znowu ratuje mi ty&#322;ek:) Z innych ciekawych bibliotek lubi&#281; jeszcze moo.fx &amp;#8211; sporo ciekawych rozwi&#261;za&#324;, np. dodawanie zdarze&#324; poprzez klasy css.&lt;/p&gt;</description>
      <pubDate>Fri, 19 Jan 2007 20:11:35 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:9221522f-8083-4950-ac9c-4238fc9494cf</guid>
      <link>http://blog.zabiello.com/articles/2007/01/19/prototype-oficjalne-api-i-dokumentacja#comment-416</link>
    </item>
    <item>
      <title>"Prototype - oficjalne API i dokumentacja" by Adi</title>
      <description>&lt;p&gt;Pomy&#322;ka, &#378;le spojrza&#322;em, Dojo podobnej sk&#322;adni raczej nie ma :) (przyznam szczerze, &#380;e nie u&#380;ywa&#322;em), ale z jQuery i Prototype wol&#281; to pierwsze.&lt;/p&gt;</description>
      <pubDate>Fri, 19 Jan 2007 18:07:57 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:cc208c76-3094-48eb-b9a6-b093b7d25e58</guid>
      <link>http://blog.zabiello.com/articles/2007/01/19/prototype-oficjalne-api-i-dokumentacja#comment-415</link>
    </item>
    <item>
      <title>"Prototype - oficjalne API i dokumentacja" by Adi</title>
      <description>&lt;p&gt;A ja najbardziej lubi&#281; &lt;a href="http://www.jquery.net" rel="nofollow"&gt;jQuery&lt;/a&gt;. Podoba mi si&#281; sk&#322;adnia, IMHO najlepsza, w sumie w Dojo podobna.&lt;/p&gt;</description>
      <pubDate>Fri, 19 Jan 2007 18:04:57 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:900f8eff-1b28-4811-84da-ce53d26e0706</guid>
      <link>http://blog.zabiello.com/articles/2007/01/19/prototype-oficjalne-api-i-dokumentacja#comment-414</link>
    </item>
  </channel>
</rss>
