<?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: Szalej&#261;ce frameworki Rubiego i Rack/WSGI</title>
    <link>http://blog.zabiello.com/articles/2008/03/04/frameworki-rubiego-rack-wsgi</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>moje notatki, linki, komentarze</description>
    <item>
      <title>Szalej&#261;ce frameworki Rubiego i Rack/WSGI</title>
      <description>&lt;p&gt;Merb w wersji 0.9 poszed&#322; na ca&#322;o&#347;&#263; i oparli sw&#243;j midleware na &lt;a href="http://rack.rubyforge.org/"&gt;Rack&amp;#8217;u&lt;/a&gt;. Jej tw&#243;rcy nie kryj&#261; si&#281; &#380;e wzorowali si&#281; na pythonowej bibliotece &lt;a href="http://www.wsgi.org/wsgi"&gt;&lt;span class="caps"&gt;WSGI&lt;/span&gt;&lt;/a&gt;. Biblioteka ta robi niez&#322;&#261; furor&#281; w kr&#281;gach Rubiego. Powstaje sporo r&#243;&#380;nych mikroframework&#243;w lub szybkich serwer&#243;w &lt;span class="caps"&gt;HTTP&lt;/span&gt; pracuj&#261;cych asynchronicznie i wykorzystuj&#261;cych Rack. Niedawno powsta&#322; &#347;wietny &lt;a href="http://code.macournoyer.com/thin/"&gt;Thin&lt;/a&gt;, a ju&#380; mo&#380;na przeczyta&#263; o &lt;a href="http://www.rubyinside.com/ebb-web-framework-http-server-786.html"&gt;2x szybszy Ebb&lt;/a&gt;. Co ciekawe, Ebb chce docelowo obs&#322;ugiwa&#263; zar&#243;wno frameworki Rubiego jak i &lt;strong&gt;Pythona&lt;/strong&gt;! Jestem ciekaw czy b&#281;dzie w stanie zdetronizowa&#263; serwer &lt;a href="http://pythonpaste.org/"&gt;Paste&lt;/a&gt;... Rack doczeka&#322; si&#281; ju&#380; swojej &lt;a href="http://github.com/booleanman/rackinterfacefilter/tree/master"&gt;implementacji w JRuby&lt;/a&gt;! Umo&#380;liwia to  tym samym odpalanie w &lt;a href="http://jruby.codehaus.org/"&gt;JRuby&lt;/a&gt; wszystkich framework&#243;w kt&#243;re korzystaj&#261; z Rack&amp;#8217;a.&lt;/p&gt;


	&lt;h2&gt;Frameworki&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://rubyonrails.pl"&gt;&lt;strong&gt;Rails&lt;/strong&gt;&lt;/a&gt; &amp;#8211; najwa&#380;niejszy framework Rubiego, mo&#380;e by&#263; odpalany za pomoc&#261; Thina kt&#243;ry &lt;em&gt;u&#380;ywa Rack&lt;/em&gt;. Rails mo&#380;na odpali&#263; na JRuby nawet prosto z &lt;a href="http://www.netbeans.org/features/ruby/index.html"&gt;Netbeans 6&lt;/a&gt; :)&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://merbivore.com/"&gt;&lt;strong&gt;Merb&lt;/strong&gt;&lt;/a&gt; &amp;#8211; pretendent do detronizacji Rails, _u&#380;ywa Rack_i tym samym mo&#380;na go odpali&#263; na JRuby.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://ramaze.net/"&gt;Ramaze&lt;/a&gt; &amp;#8211; podobnie do Merba, stara si&#281; promowa&#263; bardziek elastyczne podej&#347;cie, &lt;em&gt;u&#380;ywa Rack&lt;/em&gt;, raczej nie zagrozi Merbowi&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://fuzed.rubyforge.org/"&gt;Fuzed&lt;/a&gt; &amp;#8211; Rails z &lt;a href="http://yaws.hyber.org/"&gt;&lt;span class="caps"&gt;YAWS&lt;/span&gt;&lt;/a&gt; (szybkim serwerem &lt;span class="caps"&gt;HTTP&lt;/span&gt; napisanym w &lt;a href="http://en.wikipedia.org/wiki/Erlang_programming_language"&gt;Erlangu&lt;/a&gt;)&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.nitroproject.org/"&gt;Nitro&lt;/a&gt; &amp;#8211; typu &lt;span class="caps"&gt;MVC&lt;/span&gt; z w&#322;asnym &lt;span class="caps"&gt;ORM&lt;/span&gt; &amp;#8211; &lt;a href="http://www.nitroproject.org/docs/rdoc/classes/Og.html"&gt;Ogg&lt;/a&gt; i naciskiem na &lt;span class="caps"&gt;AJAX&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://enigo.com/projects/iowa/"&gt;&lt;span class="caps"&gt;IOWA&lt;/span&gt;&lt;/a&gt; &amp;#8211; komponentowy, &lt;/li&gt;
		&lt;li&gt;&lt;a href="https://rubyforge.org/projects/wee/"&gt;Wee&lt;/a&gt; wzorowany na smalltalkowym &lt;a href="http://www.seaside.st/"&gt;Seaside&lt;/a&gt; u&#380;ywaj&#261;cym &lt;a href="http://en.wikipedia.org/wiki/Continuation"&gt;kontynuacji&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://sinatra.rubyforge.org/"&gt;Sinatra&lt;/a&gt; &amp;#8211; mikroframework wzorowany na minimalistycznym, pythonowym &lt;a href="http://webpy.org"&gt;Web.py&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://sergiosantos.info/2007/7/camping-a-ruby-microframework"&gt;Camping&lt;/a&gt; &amp;#8211; kolejny mikroframework w Ruby&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://rubywaves.com/"&gt;Wave&lt;/a&gt; &amp;#8211; wzorowany na Camping, te&#380; u&#380;ywa Rack i Rubiego wsz&#281;dzie gdzie si&#281; da.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://github.com/macournoyer/invisible/tree/master"&gt;Invisible&lt;/a&gt; mikroframework u&#380;ywaj&#261;cy Rack napisany w 35 linijkach kodu Rubiego (bardziej ciekawostka)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h2&gt;Mongrel i sp&#243;&#322;ka&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.webrick.org/"&gt;Webrick&lt;/a&gt; &amp;#8211; serwer http dost&#281;pny razem ze standardow&#261; bibliotek&#261; Rubiego&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://dev.robotcoop.com/Libraries/webrick-high-performance/classes/WEBrick/HighPerformanceServer.html"&gt;Highperformance Webrick&lt;/a&gt; &amp;#8211; szybsza wersja Webricka (u&#380;ywaj&#261;ca uniksowych fork&#243;w)&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://mongrel.rubyforge.org/"&gt;Mongrel&lt;/a&gt; &amp;#8211; klasyka, napisany cz&#281;&#347;ciowo w C, to od niego zacz&#281;&#322;a si&#281; rewolucja i odej&#347;cie od FastCGI jako metody odpalania Rails&#243;w.&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://swiftiply.swiftcore.org/mongrel.html"&gt;Swiftyply i evented_mongrel&lt;/a&gt; asychroniczne, szybsze wersje Mongrela&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://code.macournoyer.com/thin/"&gt;&lt;strong&gt;Thin&lt;/strong&gt;&lt;/a&gt; &amp;#8211; asynchroniczny web server u&#380;ywaj&#261;cy Mongrela i Rack&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://ebb.rubyforge.org/"&gt;&lt;strong&gt;Ebb&lt;/strong&gt;&lt;/a&gt; &amp;#8211; u&#380;ywa Rack, wi&#281;kszo&#347;&#263; kodu jest w C, dlatego jest taki szybki, na razie ma&#322;o dokumentacji, by&#263; mo&#380;e nast&#281;pca Thin&lt;/li&gt;
	&lt;/ul&gt;</description>
      <pubDate>Tue, 04 Mar 2008 22:56:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:bdcbae56-a710-43b1-84a6-77d5471f8cac</guid>
      <author>Jaros&#322;aw Zabie&#322;&#322;o</author>
      <link>http://blog.zabiello.com/articles/2008/03/04/frameworki-rubiego-rack-wsgi</link>
      <category>merb</category>
      <category>jruby</category>
      <category>rack</category>
      <category>python</category>
      <category>ruby</category>
      <category>frameworks</category>
      <category>thin</category>
      <category>rails</category>
      <category>ramaze</category>
      <category>mongerl</category>
      <category>ebb</category>
      <category>fuzed</category>
    </item>
    <item>
      <title>"Szalej&#261;ce frameworki Rubiego i Rack/WSGI" by Czajnik</title>
      <description>&lt;p&gt;@Jiima: Nie por&#243;wnywa&#322;bym Servlet API i CGI/FastCGI :-)&lt;/p&gt;


	&lt;p&gt;A WSGI wydaje mi si&#281; przekombinowane je&#347;li chodzi o obs&#322;ug&#281; b&#322;&#281;d&#243;w, zw&#322;aszcza w por&#243;wnaniu z Servlet API :)&lt;/p&gt;</description>
      <pubDate>Fri, 28 Mar 2008 12:04:37 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:5f164814-5bc1-4335-943c-a208767b4ff3</guid>
      <link>http://blog.zabiello.com/articles/2008/03/04/frameworki-rubiego-rack-wsgi#comment-1526</link>
    </item>
    <item>
      <title>"Szalej&#261;ce frameworki Rubiego i Rack/WSGI" by Jiima</title>
      <description>&lt;p&gt;@Rsz&lt;/p&gt;


	&lt;p&gt;Niezupe&#322;nie :P. Pisanie frameworka wynika z ideologii na og&#243;&#322;, a nie z potrzeby. Ot &amp;#8211; nie podoba mi si&#281; par&#281; rzeczy, wi&#281;c to zmieni&#281;.&lt;/p&gt;


	&lt;p&gt;Za to w PHP wynika to albo z potrzeby, albp z ?... Sam nie wiem. Jest taka kategoria developer&#243;w, kt&#243;rzy nie wiedz&#261; co to google, biblioteka itp. Do&#347;&#263; cz&#281;sto spotykany gatunek w PHP development&amp;#8230; Cho&#263; ja ostatnio akurat spotka&#322;em takich w &#347;wiatku Javy, co wi&#281;cej s&#261; to &amp;#8220;profesjonalni konsultanci&amp;#8221;. Maj&#261;c Prototype w projekcie pisz&#261; od zera &#380;&#261;dania XHR, maj&#261;c iBatisa pisz&#261; od zera &#380;&#261;dania JDBC, a jeden to nawet w&#322;asn&#261; klas&#281; loggera napisa&#322;&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Mon, 10 Mar 2008 11:37:21 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:3422a884-f505-4a91-b1b6-6d7610bf5486</guid>
      <link>http://blog.zabiello.com/articles/2008/03/04/frameworki-rubiego-rack-wsgi#comment-1487</link>
    </item>
    <item>
      <title>"Szalej&#261;ce frameworki Rubiego i Rack/WSGI" by rsz</title>
      <description>&lt;p&gt;Tomash: ale przecie&#380; pisanie przez ka&#380;dego w&#322;asnego frameworka to w&#322;a&#347;nie JEST ideologicznie (i cz&#281;sto praktycznie) to samo, co pisanie przez ka&#380;dego w&#322;asnej warstwy abstrakcji danych&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Sun, 09 Mar 2008 18:14:05 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:786bbf0a-9f45-4110-9509-4a90320615d4</guid>
      <link>http://blog.zabiello.com/articles/2008/03/04/frameworki-rubiego-rack-wsgi#comment-1486</link>
    </item>
    <item>
      <title>"Szalej&#261;ce frameworki Rubiego i Rack/WSGI" by greno</title>
      <description>&lt;p&gt;Na razie testuj&#281; pono&#263; rails killer tj.Merb&amp;#8217;a i znalaz&#322;em niedor&#243;bki: merb_helpers nie do ko&#324;ca chce wsp&#243;&#322;pracowa&#263; z widokami haml.Przyk&#322;ad: zr&#243;bcie przyk&#322;ad dla &amp;#8220;form_for&amp;#8221; dokumentacji dla szablon&#243;w haml&amp;#8217;a; dzia&#322;a poprawnie na szablonach *.erb.&lt;/p&gt;</description>
      <pubDate>Sat, 08 Mar 2008 18:30:14 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:8445e588-f19b-44d7-a091-6396e3d5c3e8</guid>
      <link>http://blog.zabiello.com/articles/2008/03/04/frameworki-rubiego-rack-wsgi#comment-1484</link>
    </item>
    <item>
      <title>"Szalej&#261;ce frameworki Rubiego i Rack/WSGI" by Tomash</title>
      <description>&lt;p&gt;Lepsze to ni&#380; ka&#380;dy pehapowiec pisz&#261;cy w&#322;asn&#261; warstw&#281; abstrakcji do obs&#322;ugi bazy danych (czy czegokolwiek innego) ;)&lt;/p&gt;


	&lt;p&gt;@Jaros&#322;aw: Waves na razie nie oferuj&#261; nic ponad Railsy, a ponadto maj&#261; paskudny system szablon&#243;w (jaki&#347; ezoteryczny DSL na bazie Rubiego, zamiast solidnych htmli ze wstawkami). Ale zapowiadaj&#261; si&#281; ciekawie.&lt;/p&gt;</description>
      <pubDate>Sat, 08 Mar 2008 01:15:46 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:def55cba-3e1f-44f0-934f-20dca85bbd23</guid>
      <link>http://blog.zabiello.com/articles/2008/03/04/frameworki-rubiego-rack-wsgi#comment-1483</link>
    </item>
    <item>
      <title>"Szalej&#261;ce frameworki Rubiego i Rack/WSGI" by Framework Madness</title>
      <description>&lt;p&gt;Niedlugo kazdy szanujacy sie rubysta bedzie musial napisac swoj framework.&lt;/p&gt;</description>
      <pubDate>Fri, 07 Mar 2008 21:50:52 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:51a9dbd1-d0a6-4b8f-97a3-214c79f21a49</guid>
      <link>http://blog.zabiello.com/articles/2008/03/04/frameworki-rubiego-rack-wsgi#comment-1482</link>
    </item>
    <item>
      <title>"Szalej&#261;ce frameworki Rubiego i Rack/WSGI" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;Ten Wave mnie jako&#347; nie porywa. Wszystko w Ruby, wsz&#281;dzie bloki, jaki&#347; taki nieczytelny na pierwszy rzut oka. No i te sesje oparte na plikach (ale to pewnie dlatego, &#380;e jeszcze to mocno niedojrza&#322;y projekt) Z tym Ebb to chyba sam zaczn&#281; go te&#380; u&#380;ywa&#263; skoro taki szybki.&lt;/p&gt;


	&lt;p&gt;Na stronie Ramaze jest zgromadzona jeszcze &lt;a href="http://ramaze.net/#other-frameworks" rel="nofollow"&gt;wi&#281;ksza lista&lt;/a&gt; framework&#243;w w Ruby. To zaczyna wygl&#261;da&#263; na jakie&#347; szale&#324;stwo :)&lt;/p&gt;</description>
      <pubDate>Fri, 07 Mar 2008 17:04:20 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:a8f86309-4ce4-4bfc-a5f8-25479162d32b</guid>
      <link>http://blog.zabiello.com/articles/2008/03/04/frameworki-rubiego-rack-wsgi#comment-1481</link>
    </item>
    <item>
      <title>"Szalej&#261;ce frameworki Rubiego i Rack/WSGI" by Tomash</title>
      <description>&lt;p&gt;Przeoczy&#322;e&#347; jeden nowy, zapowiadaj&#261;cy si&#281; ciekawie framework &amp;#8211; Waves:
&lt;a href="http://rubywaves.com/" rel="nofollow"&gt;http://rubywaves.com/&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Ebb sprawdzili&#347;my w firmie z chwil&#261; trafienia na niusa na RubyInside i&amp;#8230; dzia&#322;a! Prawdopodobnie aktualnie robiony projekt postawimy ju&#380; na Ebb, zamiast Mongrelu.&lt;/p&gt;</description>
      <pubDate>Fri, 07 Mar 2008 09:22:31 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:5fd6cf1a-3333-4579-83cd-cb7984551ffa</guid>
      <link>http://blog.zabiello.com/articles/2008/03/04/frameworki-rubiego-rack-wsgi#comment-1478</link>
    </item>
    <item>
      <title>"Szalej&#261;ce frameworki Rubiego i Rack/WSGI" by Jiima</title>
      <description>&lt;p&gt;Cz&#281;&#347;&#263; tych framework&#243;w to zabawki, kt&#243;re zamar&#322;y w rozwoju. Ale skoro wspominasz o r&#243;&#380;nych projektach opartych na Rack&amp;#8217;u, to spojrzyj jeszcze na Waves:&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://rubywaves.com/" rel="nofollow"&gt;http://rubywaves.com/&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Autor twierdzi, &#380;e inspiracj&#261; dla niego by&#322; Camping.&lt;/p&gt;


	&lt;p&gt;BTW, zbudowanie czego&#347; w stylu WSGI by&#322;o dobrym pomys&#322;em. Tego typu API bardzo pomaga, gdy&#380; nie trzeba od pocz&#261;tku wynajdowa&#263; ko&#322;a. Wystarczy spojrze&#263; na Servlet API i jaki to by&#322; skok w stosunku do CGI i FastCGI :)&lt;/p&gt;</description>
      <pubDate>Thu, 06 Mar 2008 12:51:05 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:99458a3d-bdd2-4258-9031-1934d095c48d</guid>
      <link>http://blog.zabiello.com/articles/2008/03/04/frameworki-rubiego-rack-wsgi#comment-1475</link>
    </item>
  </channel>
</rss>
