<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Komentarze do: O frameworkach&#8230;</title>
	<atom:link href="http://blog.malcom.pl/2008/05/18/o-frameworkach/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.malcom.pl/2008/05/18/o-frameworkach/</link>
	<description>Just another programmer</description>
	<lastBuildDate>Thu, 03 Feb 2011 12:16:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
	<item>
		<title>Autor: Zyx</title>
		<link>http://blog.malcom.pl/2008/05/18/o-frameworkach/#comment-12237</link>
		<dc:creator>Zyx</dc:creator>
		<pubDate>Fri, 30 May 2008 08:31:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.malcom.pl/?p=364#comment-12237</guid>
		<description>Mnie we współczesnych frameworkach rozwala ich modularyzacja, która osiągnęła już chyba kres. Autorzy, gdyby mogli, umieszczaliby w osobnym pliku każdą instrukcję warunkową :). Oczywiście ma to swoje odbicie w wydajności, przynajmniej na mniejszych serwerach niewyposażonych w wiele &quot;przyspieszaczy&quot; w stylu ramdysków, akceleratorów i innych.

PS. Od baz danych obecnie jest PDO, a dodatkowa warstwa abstrakcji skupiająca całą obsługę baz danych w jednym miejscu (tak, że kontrolery itd. w ogóle nie muszą wiedzieć, że na jakiejś bazie siedzą) ma wiele zalet, głównie w kwestii wprowadzania poprawek i optymalizacji. Ostatnio przekonuję się powoli jednak do korzystania z gotowych systemów jej tworzenia (szczególnie PHP Doctrine), jako że ręczne pisanie wszystkich takich klas jest długawe i nużące. Ponadto np. PHP-Doctrine posiada wbudowaną implementację drzew na bazie danych, która w moim wykonaniu liczyła sobie prawie 60 kb kodu.</description>
		<content:encoded><![CDATA[<p>Mnie we współczesnych frameworkach rozwala ich modularyzacja, która osiągnęła już chyba kres. Autorzy, gdyby mogli, umieszczaliby w osobnym pliku każdą instrukcję warunkową :). Oczywiście ma to swoje odbicie w wydajności, przynajmniej na mniejszych serwerach niewyposażonych w wiele &#8222;przyspieszaczy&#8221; w stylu ramdysków, akceleratorów i innych.</p>
<p>PS. Od baz danych obecnie jest PDO, a dodatkowa warstwa abstrakcji skupiająca całą obsługę baz danych w jednym miejscu (tak, że kontrolery itd. w ogóle nie muszą wiedzieć, że na jakiejś bazie siedzą) ma wiele zalet, głównie w kwestii wprowadzania poprawek i optymalizacji. Ostatnio przekonuję się powoli jednak do korzystania z gotowych systemów jej tworzenia (szczególnie PHP Doctrine), jako że ręczne pisanie wszystkich takich klas jest długawe i nużące. Ponadto np. PHP-Doctrine posiada wbudowaną implementację drzew na bazie danych, która w moim wykonaniu liczyła sobie prawie 60 kb kodu.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Obiektowo czy strukturalnie? &#124; #!/bin/nwkr devblog</title>
		<link>http://blog.malcom.pl/2008/05/18/o-frameworkach/#comment-12230</link>
		<dc:creator>Obiektowo czy strukturalnie? &#124; #!/bin/nwkr devblog</dc:creator>
		<pubDate>Wed, 28 May 2008 21:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.malcom.pl/?p=364#comment-12230</guid>
		<description>[...] Malcom na swoim blogu podzielił się swoimi przemyśleniami na temat obiektowości w webdevelopingu, choć nie tylko. Jako że nie zgadzam się za bardzo, z tym, co napisał - odpisałem mu w komentarzu. Tak się tam rozpisałem, że zyskałem i materiał na wpis na moim blogu :) [...]</description>
		<content:encoded><![CDATA[<p>[...] Malcom na swoim blogu podzielił się swoimi przemyśleniami na temat obiektowości w webdevelopingu, choć nie tylko. Jako że nie zgadzam się za bardzo, z tym, co napisał &#8211; odpisałem mu w komentarzu. Tak się tam rozpisałem, że zyskałem i materiał na wpis na moim blogu :) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: malcom</title>
		<link>http://blog.malcom.pl/2008/05/18/o-frameworkach/#comment-12220</link>
		<dc:creator>malcom</dc:creator>
		<pubDate>Tue, 27 May 2008 21:19:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.malcom.pl/?p=364#comment-12220</guid>
		<description>Oczywiscie, ze mozesz ;)
W sumie wystarczy &quot;puscic&quot; ping/trackbacka i stosowna adnotacja sie pojawi przy tym wpisie.</description>
		<content:encoded><![CDATA[<p>Oczywiscie, ze mozesz ;)<br />
W sumie wystarczy &#8222;puscic&#8221; ping/trackbacka i stosowna adnotacja sie pojawi przy tym wpisie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Nowaker</title>
		<link>http://blog.malcom.pl/2008/05/18/o-frameworkach/#comment-12219</link>
		<dc:creator>Nowaker</dc:creator>
		<pubDate>Tue, 27 May 2008 15:34:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.malcom.pl/?p=364#comment-12219</guid>
		<description>Czy mógłbym umieścić część Twojego wpisu u mnie na blogu wraz z moimi odpowiedziami? Bo w zasadzie rozpisałem się trochę i szkoda, by to uleciało ;) A wydaje mi się, że materiał jest ciekawy.</description>
		<content:encoded><![CDATA[<p>Czy mógłbym umieścić część Twojego wpisu u mnie na blogu wraz z moimi odpowiedziami? Bo w zasadzie rozpisałem się trochę i szkoda, by to uleciało ;) A wydaje mi się, że materiał jest ciekawy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: malcom</title>
		<link>http://blog.malcom.pl/2008/05/18/o-frameworkach/#comment-12169</link>
		<dc:creator>malcom</dc:creator>
		<pubDate>Sun, 18 May 2008 17:27:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.malcom.pl/?p=364#comment-12169</guid>
		<description>Musialbym kiedys znalezc czas na zabranie sie za homepage&#039;a, oraz udostenienie wszelakich projektow i infomacji o nich, bo troche kodu sie napsialo, a malo co jest dostepne ;)

A VideoDownloaderowi przydalaby sie jakis update o nowa funckjonalnosc, no ale kazdy wie jak z czasem bywa :P</description>
		<content:encoded><![CDATA[<p>Musialbym kiedys znalezc czas na zabranie sie za homepage&#8217;a, oraz udostenienie wszelakich projektow i infomacji o nich, bo troche kodu sie napsialo, a malo co jest dostepne ;)</p>
<p>A VideoDownloaderowi przydalaby sie jakis update o nowa funckjonalnosc, no ale kazdy wie jak z czasem bywa :P</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Nowaker</title>
		<link>http://blog.malcom.pl/2008/05/18/o-frameworkach/#comment-12168</link>
		<dc:creator>Nowaker</dc:creator>
		<pubDate>Sun, 18 May 2008 17:21:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.malcom.pl/?p=364#comment-12168</guid>
		<description>Mały offtop: wszedłem sobie dzisiaj w Twoje portfolio i zobaczyłem VideoDownloader. Nieźle, mam ten widżet już dość długo, nawet nie wiedząc, że to Twoja robota ;)</description>
		<content:encoded><![CDATA[<p>Mały offtop: wszedłem sobie dzisiaj w Twoje portfolio i zobaczyłem VideoDownloader. Nieźle, mam ten widżet już dość długo, nawet nie wiedząc, że to Twoja robota ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: malcom</title>
		<link>http://blog.malcom.pl/2008/05/18/o-frameworkach/#comment-12166</link>
		<dc:creator>malcom</dc:creator>
		<pubDate>Sun, 18 May 2008 12:29:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.malcom.pl/?p=364#comment-12166</guid>
		<description>Oczywiscie masz racje, dzieki za przydlugawego wpisu. Choc wiekszosc poruszanych tematow jest mi znana ;)

O Kohanie slyszalem to i owo, ale jak wspomnialem webdeveloperka nie jest juz jednym z glownych moim zajec i co raz mniej mam z nia stycznosci.

A projekt upadl bo nie bylo czasu, za duzo projektow rozpoczetych, za malo konczonych, ale obecnie najwazniejszy jest komunikator ;)</description>
		<content:encoded><![CDATA[<p>Oczywiscie masz racje, dzieki za przydlugawego wpisu. Choc wiekszosc poruszanych tematow jest mi znana ;)</p>
<p>O Kohanie slyszalem to i owo, ale jak wspomnialem webdeveloperka nie jest juz jednym z glownych moim zajec i co raz mniej mam z nia stycznosci.</p>
<p>A projekt upadl bo nie bylo czasu, za duzo projektow rozpoczetych, za malo konczonych, ale obecnie najwazniejszy jest komunikator ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Nowaker</title>
		<link>http://blog.malcom.pl/2008/05/18/o-frameworkach/#comment-12158</link>
		<dc:creator>Nowaker</dc:creator>
		<pubDate>Sun, 18 May 2008 00:24:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.malcom.pl/?p=364#comment-12158</guid>
		<description>&lt;blockquote&gt;&quot;Ale czy znów tak często zmieniamy bazę danych, szczególnie w nieco mniejszych aplikacjach?&quot;&lt;/blockquote&gt;
Często może i nie, co nie oznacza, że nie warto stosować warstwy abstrakcji na bazę danych. Za pół roku możesz np. zdecydować, że przenosisz swoje wszystkie projekty ze względów wydajnościowych z MySQL na PostgreSQL - i co wtedy zrobisz? Albo mozolnie zmienisz wszędzie mysql_ na odpowiedniki pg_ albo... olejesz sprawę, bo będzie z tym zbyt dużo roboty.

&lt;blockquote&gt;Już kiedyś cos pisałem z “jego pomocą” i nawet przyjemnie się pisało, tylko ta ociężałość i rozbudowana struktura i funkcjonalność czasem może trochę sprawić problemów.&lt;/blockquote&gt;
Ja polecam frameworka &lt;a href=&quot;http://www.nowaker.net/devblog/framework-php/kohana-php-framework&quot; rel=&quot;nofollow&quot;&gt;KohanaPHP&lt;/a&gt; - mały i lekki framework, początkowo fork CodeIgnitera. Mi framework oferuje tyle, ile potrzeba. (Choć pewnie do ogromnych projektów się nie nada i takie Symfony okaże się lepsze)

&lt;blockquote&gt;Inna sprawa, to porozrzucanie po 40 klasach 4 funkcji, i tworzenie 10 obiektów tylko po to, aby zmienić jakąś regule w routingu czy funkcjonalność w innym module. I później przedzierać się przez tony dokumentacji i kodu, aby w efekcie otrzymać zamierzony cel działania ;)&lt;/blockquote&gt;
Wg mnie nie masz tutaj racji, ponieważ dokumentację bedziesz musiał tylko raz przejrzeć, aby skumać bazę [;)], ale później już nie będziesz tego odczuwał. Gdy zaś przyjdzie czas na jakąś przeróbkę w routingu, pójdzie ona gładko, podczas gdy w strukturalnym projekcie nie obeszło by się bez skakania po plikach i zmieniania wszystkie po kolei w wielu miejscach.

&lt;blockquote&gt;Głównie z braku czasu i zmian w zapotrzebowaniu i użytkowaniu danego produktu (projektu).&lt;/blockquote&gt;
Hmmm, na moje to upadło w wyniku strukturalnego projektowania ;) Zmieniło się zapotrzebowanie i okazało się, że napisany strukturalnie system nie jest już przydatny.

Trochę się rozpisałem, wenę dziś załapałem ;]</description>
		<content:encoded><![CDATA[<blockquote><p>&#8222;Ale czy znów tak często zmieniamy bazę danych, szczególnie w nieco mniejszych aplikacjach?&#8221;</p></blockquote>
<p>Często może i nie, co nie oznacza, że nie warto stosować warstwy abstrakcji na bazę danych. Za pół roku możesz np. zdecydować, że przenosisz swoje wszystkie projekty ze względów wydajnościowych z MySQL na PostgreSQL &#8211; i co wtedy zrobisz? Albo mozolnie zmienisz wszędzie mysql_ na odpowiedniki pg_ albo&#8230; olejesz sprawę, bo będzie z tym zbyt dużo roboty.</p>
<blockquote><p>Już kiedyś cos pisałem z “jego pomocą” i nawet przyjemnie się pisało, tylko ta ociężałość i rozbudowana struktura i funkcjonalność czasem może trochę sprawić problemów.</p></blockquote>
<p>Ja polecam frameworka <a href="http://www.nowaker.net/devblog/framework-php/kohana-php-framework" rel="nofollow">KohanaPHP</a> &#8211; mały i lekki framework, początkowo fork CodeIgnitera. Mi framework oferuje tyle, ile potrzeba. (Choć pewnie do ogromnych projektów się nie nada i takie Symfony okaże się lepsze)</p>
<blockquote><p>Inna sprawa, to porozrzucanie po 40 klasach 4 funkcji, i tworzenie 10 obiektów tylko po to, aby zmienić jakąś regule w routingu czy funkcjonalność w innym module. I później przedzierać się przez tony dokumentacji i kodu, aby w efekcie otrzymać zamierzony cel działania ;)</p></blockquote>
<p>Wg mnie nie masz tutaj racji, ponieważ dokumentację bedziesz musiał tylko raz przejrzeć, aby skumać bazę [;)], ale później już nie będziesz tego odczuwał. Gdy zaś przyjdzie czas na jakąś przeróbkę w routingu, pójdzie ona gładko, podczas gdy w strukturalnym projekcie nie obeszło by się bez skakania po plikach i zmieniania wszystkie po kolei w wielu miejscach.</p>
<blockquote><p>Głównie z braku czasu i zmian w zapotrzebowaniu i użytkowaniu danego produktu (projektu).</p></blockquote>
<p>Hmmm, na moje to upadło w wyniku strukturalnego projektowania ;) Zmieniło się zapotrzebowanie i okazało się, że napisany strukturalnie system nie jest już przydatny.</p>
<p>Trochę się rozpisałem, wenę dziś załapałem ;]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

