<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ferrante.pl - simplicity of web programming &#187; JavaScript</title>
	<atom:link href="http://ferrante.pl/category/tech/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://ferrante.pl</link>
	<description>Technologie internetowe, PHP5, Python, Javascript. Publicystyka i kursy w najlepszym wydaniu.</description>
	<lastBuildDate>Wed, 01 Sep 2010 21:21:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Kobiety front-endu</title>
		<link>http://ferrante.pl/2010/09/01/kobiety-front-endu/</link>
		<comments>http://ferrante.pl/2010/09/01/kobiety-front-endu/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 20:30:40 +0000</pubDate>
		<dc:creator>ferrante</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ferrante.pl/?p=820</guid>
		<description><![CDATA[Nie trzeba pracować w dużych korporacjach, by stwierdzić, że obecność kobiet w zespołach IT z reguły poprawia atmosferę oraz wydajność, a także nie pozwala zwariować w męskim towarzystwie. Kobieta to dobry pracownik, dbający o detale, bardzo często z zacięciem artystyczno-graficznym i dobrym gustem. Kobiety coraz śmielej wybierają naszą branżę i wypada się tylko z tego [...]]]></description>
			<content:encoded><![CDATA[<p>Nie trzeba pracować w dużych korporacjach, by stwierdzić, że obecność kobiet w zespołach IT z reguły poprawia atmosferę oraz wydajność, a także nie pozwala zwariować w męskim towarzystwie. Kobieta to dobry pracownik, dbający o detale, bardzo często z zacięciem artystyczno-graficznym i dobrym gustem. Kobiety coraz śmielej wybierają naszą branżę i wypada się tylko z tego cieszyć. Front-end to idealna działka dla osób o wspomnianych przeze mnie predyspozycjach.<span id="more-820"></span></p>
<p>Rozmawiałem kiedyś z moim dobrym znajomym o tym, jak trudno znaleźć do teamu programistę front-endu płci przeciwnej. Ichni HR, wspierany przez decyzje wewnątrz zespołu, intensywnie forsował pewne zmiany w jego strukturze, nasuwając temat zaangażowania programistki. Niestety na próbach się skończyło &#8211; w pewnej fazie nie było kandydatek, a kiedy się znalazły, nie przechodziły przez interview. Tak było kilka lat temu.</p>
<p style="text-align:center;"><a href="http://www.flickr.com/photos/larissa-meek/2078297337/" title="Larissa_Meek_17 by Larissa Meek, on Flickr"><img src="http://farm3.static.flickr.com/2314/2078297337_a4de755db6.jpg" width="300" height="452" alt="Larissa_Meek_17" /></a><br />Larissa Meek</p>
<p>Ostatnio znów zainteresował mnie ten temat, a to przy okazji konferencji <a href="http://frontenddesignconference.com">Front-end Design Conference</a>, gdzie wśród siedmiu spikerów, sześć to kobiety! I to o niebagatelnej urodzie i umiejętnościach. Nigdy nie spodziewałbym się, że aż tyle barwnych osobowości pracuje we front-endzie (pomijam tutaj osoby zajmujące się tylko i wyłącznie dizajnem). <a href="http://larissameek.com/">Larissa Meek</a> na przykład to Pani grafik z zacięciem koderskim, która ma też dość spore doświadczenie w modelingu. <a href="http://www.sazzy.co.uk/">Sarah Parmenter</a> to z kolei piękna UX designerka z Leigh-on-Sea, która w wolnych chwilach pracuje przy&#8230; remontowaniu domów. Na FDC przemawiała też <a href="http://sushiandrobots.com/">Jina Bolton</a>, specjalistka od CSS, pracująca do niedawna w Apple jako front-end developerka. Mógłbym opisać każdą z nich, ale to, co nasuwa się na myśl, to przełamanie pewnych stereotypów. Po pierwsze &#8211; tak, w tej branży są kobiety &#8211; i to nie tylko dizajnerki, a po drugie &#8211; obraz siedzącej w domu geek-okularnicy dobrej z matematyki możemy włożyć między bajki. Od tych dziewczyn aż bije pasja. Robią po sto różnych rzeczy i wsadzanie ich w jakiekolwiek ramy byłoby ogromnym nadużyciem.</p>
<p style="text-align:center;"><a href="http://www.flickr.com/photos/sarahparmenter/4598579548/" title="Sarah 2 b&amp;w by Sarah Parmenter, on Flickr"><img src="http://farm2.static.flickr.com/1079/4598579548_d193cbbba9.jpg" width="364" height="500" alt="Sarah 2 b&amp;w" /></a><br />Sarah Parmenter</p>
<p>Front-end Design Conference to jedno. Front-endem na świecie zajmuje się także wiele innych kobiet. Jedną z najbardziej znanych jest <a href="http://www.stubbornella.org/">Nicole Sullivan</a>, która parała się CSSem m.in. w Yahoo! i często występuje na różnych konferencjach branżowych &#8211; na przykład promując swój <a href="http://ferrante.pl/2009/03/01/obiektowy-css-wolne-zarty/">OOCSS</a>. Wśród znanych kobiet front-endu należy wymienić <a href="http://molly.com">Molly E. Holzschlag</a>, pasjonatkę web standardów, autorkę ponad 35 książek o tej tematyce (za Wiki). Oczywiście jest również <a href="http://slash7.com/">Amy Hoy</a>, bardzo zdolna programistka Ruby i JavaScript, prywatnie partnerka <a href="http://mir.aculo.us/">Thomasa Fuchsa</a>, twórcy script.aculo.us.</p>
<p style="text-align:center;"><a href="http://www.flickr.com/photos/zeldman/4635330465/" title="Nicole Sullivan (@stubornella) on CSS Optimization at An Event Apart Boston 2010 by Jeffrey, on Flickr"><img src="http://farm4.static.flickr.com/3334/4635330465_47be2ba907.jpg" width="500" height="375" alt="Nicole Sullivan (@stubornella) on CSS Optimization at An Event Apart Boston 2010" /></a><br />Nicole Sullivan</p>
<p>To tylko kilka z najbardziej rozpoznawalnych kobiet we front-endzie na świecie. Polska społeczność może znać również <a href="http://yaili.com/">Inayaili de León</a>, która wystąpiła na tegorocznym SparkUpie. Wkrótce do Polski przyjedzie natomiast <a href="http://leaverou.me">Lea Verou z Grecji</a>, która w zasadzie reprezentuje nową falę młodych i zdolnych dziewczyn, znających front-end lepiej niż niejeden mężczyzna. Lea przez dwie godziny omówi najnowsze tajniki CSS3 <a href="http://front-trends.com">na konferencji Front-Trends 2010 w Warszawie</a>.</p>
<p style="text-align:center;"><a href="http://www.flickr.com/photos/drewm/4356501922/" title="Inayaili de León by drewm, on Flickr"><img src="http://farm5.static.flickr.com/4054/4356501922_5e3aea545f.jpg" width="500" height="500" alt="Inayaili de León" /></a><br />Inayaili de León</p>
<p>Generalnie rzecz biorąc, tendencja pojawiania się kobiet w tym zawodzie jest rosnąca. Racja, od zawsze było w tej branży wiele dizajnerek, jednak teraz czas także na specjalistki HTML, CSS i czasem JS. Co ciekawe, prawie każda z nich posiada naprawdę piękne strony prywatne, co tylko potwierdza, że wrodzona estetyka to duża zaleta kobiet w tej dziedzinie. Google z kolei <a href="http://jsconf.eu/2010/google_jsconfeu_2010_conferenc.html">sponsoruje konferencję JSConf.eu w unikalny sposób</a>, ogłaszając konkurs tylko dla kobiet, gdzie do wygrania jest darmowa wejściówka oraz zwrot kosztów przejazdu.</p>
<p style="text-align:center;"><a href="http://www.goldenline.pl/aleksandra-drachal"><img src="http://static.goldenline.pl/user_photo/210/user_210_a7335e_huge.jpg" alt="Aleksandra Drachal" /></a><br />Aleksandra Drachal</p>
<p>A jak wypada Polska? Tak sobie. Jest jeszcze duży, niewykorzystany potencjał. Co prawda, mój znajomy w końcu znalazł programistkę, ba, nawet kilka, ale patrząc na temat nieco z szerszej perspektywy, stwierdzam, że jest dużo do zrobienia. Oczywiście są dizajnerki, a do najzdolniejszych zaliczam przede wszystkim <a href="http://a.drachal.com/">Aleksandrę Drachal</a>. Jest też <a href="http://helen.pl">Helena Pryłowska</a> (<abbr title="pardon, nienawidzę słowa graficzka">Pani grafik</abbr> z bardzo dobrym warsztatem, aczkolwiek widzę jeszcze potencjał) czy też <a href="http://witflow.com/kim-jestesmy.html">dziewczyny z WitFlow</a>, którym UX niestraszny.</p>
<p>Z programistek front-endu kojarzę natomiast <a href="http://e404.pl/">Kamilę Romanowską</a> czy <a href="http://twitter.com/karolinaszczur">Karolinę Szczur</a>. Niestety, ale o ile w grafice webowej znalazłbym jeszcze kilka, może kilkanaście nazwisk, tak w kodowaniu front-endu bardzo ciężko jest mi wymienić kobietę, która w dodatku prowadziłaby swojego bloga lub twittera. Tłumaczy to poniekąd GoldenLine, gdzie <a href=" http://www.goldenline.pl/ludzie/szukaj?q=programistka">znalazłem jedynie 53 nazwiska na słowo &#8220;programistka&#8221;</a>. Chyba nie musimy czekać na to, aż program <a href="http://www.dziewczynynapolitechniki.pl/">Dziewczyny na Politechniki</a> zaowocuje większą ilością kobiet we front-endzie?</p>
<p>O ile na świecie jest wiele programistek i dizajnerek, tak w Polsce musimy jeszcze poczekać choćby na pierwszą Polkę wyróżnioną np. na <a href="http://ajaxian.com">Ajaxianie</a> czy <a href="http://alistapart.com">A List Apart</a>. Trochę brakuje nam swego rodzaju <strong>rockstarów</strong>, a już na pewno tych płci przeciwnej. Kobiet, które udzielają się na swoim blogu, twitterze, w komentarzach u innych. Przydałby się taki kobiecy Wojtek Zając, Patrys, Ludwik, czy Riddle, prawda? Inny (kobiecy) punkt widzenia jest zawsze w cenie. W dodatku nasila się tendencja zatrudniania kobiet w wielu firmach w celu balansowania przewagi płci męskiej w zespołach. Jest to dobra wiadomość dla kobiet, chcących działać w tym kierunku. Myślę, że na przestrzeni następnych 10 lat zmieni się jeszcze wiele w tym temacie. Tymczasem zapraszam wszystkie kobiety do webowego front-endu wzorem koleżanek z zachodu. To naprawdę kreatywna i fajna branża, czyż nie?</p>
]]></content:encoded>
			<wfw:commentRss>http://ferrante.pl/2010/09/01/kobiety-front-endu/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Co tam u Front-Trends?</title>
		<link>http://ferrante.pl/2010/08/18/co-tam-u-front-trends/</link>
		<comments>http://ferrante.pl/2010/08/18/co-tam-u-front-trends/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 07:51:32 +0000</pubDate>
		<dc:creator>ferrante</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[W sieci...]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ferrante.pl/?p=801</guid>
		<description><![CDATA[Miło mi poinformować, że sprzedaliśmy do tej pory grubo ponad 100 biletów. Jednocześnie zapraszamy do zakupu ostatnich wejściówek w cenie Regular za 198€. Tym bardziej, że wielu z Was, jak zauważyłem, postanowiło poprzestać na obserwacji Front-Trends 2010 na różnych portalach społecznościowych. Śmiało, wypełnienie formularza zakupu zajmie Wam tylko kilka minut. Niewątpliwie zapowiada się jedno z [...]]]></description>
			<content:encoded><![CDATA[<p>Miło mi poinformować, że sprzedaliśmy do tej pory grubo ponad 100 biletów. Jednocześnie <a href="http://front-trends.com/registration">zapraszamy do zakupu</a> ostatnich wejściówek w cenie <span class="f">Regular</span> za <span class="f">198€</span>. Tym bardziej, że wielu z Was, jak zauważyłem, postanowiło poprzestać na obserwacji Front-Trends 2010 na różnych portalach społecznościowych. Śmiało, wypełnienie formularza zakupu zajmie Wam tylko kilka minut. Niewątpliwie zapowiada się jedno z ważniejszych wydarzeń na mapie polskiego web developmentu i warto zapisać się wspólnie z nami na kartach historii.</p>
<p>Wypada też wspomnieć, że przygotowaliśmy już teraz kilka niespodzianek. Kilka z nich ujawniamy już teraz. Oto pierwsi speakerzy Front-Trends 2010 specjalnie dla uczestników konferencji:</p>
<p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/L2_Ky7L15nw?fs=1&amp;hl=pl_PL"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/L2_Ky7L15nw?fs=1&amp;hl=pl_PL" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>
<p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/fq3AD3yokW0?fs=1&amp;hl=pl_PL"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/fq3AD3yokW0?fs=1&amp;hl=pl_PL" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>
<p>Wkrótce więcej tego typu filmików, a to tylko początek &#8211; wszystkie będziecie mogli znaleźć <a href="http://www.youtube.com/user/FrontTrends">na specjalnym kanale YouTube</a>. A propos, żaden event nie może odbyć się bez towarzyszącej mu imprezy, prawda? ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://ferrante.pl/2010/08/18/co-tam-u-front-trends/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Front-Trends 2010 &#8211; najtańsza konferencja w Europie?</title>
		<link>http://ferrante.pl/2010/07/27/front-trends-2010-najtansza-konferencja-w-europie/</link>
		<comments>http://ferrante.pl/2010/07/27/front-trends-2010-najtansza-konferencja-w-europie/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 19:28:32 +0000</pubDate>
		<dc:creator>ferrante</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ferrante.pl/?p=799</guid>
		<description><![CDATA[A już na pewno, jeśli chodzi o tę tematykę i taki line-up. Uruchomiliśmy właśnie sprzedaż biletów na Front-Trends 2010, na której pojawią się w tym roku elektryzujące nazwiska, jak Douglas Crockford, Tantek Çelik i Peter-Paul Koch. Pierwsza tura biletów jest ekstremalnie tania, bo 98€ za sztukę! Biletów jest dwadzieścia, więc proszę się spieszyć! Ponadto bilety [...]]]></description>
			<content:encoded><![CDATA[<p>A już na pewno, jeśli chodzi o tę tematykę i <a href="http://front-trends.com/schedule">taki line-up</a>. Uruchomiliśmy właśnie <a href="http://front-trends.com/registration">sprzedaż biletów</a> na Front-Trends 2010, na której pojawią się w tym roku elektryzujące nazwiska, jak Douglas Crockford, Tantek Çelik i Peter-Paul Koch. Pierwsza tura biletów jest <strong>ekstremalnie tania</strong>, bo 98€ za sztukę! Biletów jest dwadzieścia, więc proszę się spieszyć! Ponadto bilety Early Birds są również bardzo tanie, bo 148€. Nie ma chyba innej konferencji z takimi nazwiskami za taką cenę! Zrobiliśmy chyba wszystko, by umożliwić Polakom i obywatelom krajów sąsiednich jak najlepszy dostęp do liderów branży front-end na świecie. Warto było czekać.</p>
<p>To jak, widzimy się na Front-Trends 2010?</p>
]]></content:encoded>
			<wfw:commentRss>http://ferrante.pl/2010/07/27/front-trends-2010-najtansza-konferencja-w-europie/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Wygraj bilet na Front-Trends 2010</title>
		<link>http://ferrante.pl/2010/06/10/wygraj-bilet-na-front-trends-2010/</link>
		<comments>http://ferrante.pl/2010/06/10/wygraj-bilet-na-front-trends-2010/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 21:11:54 +0000</pubDate>
		<dc:creator>ferrante</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ferrante.pl/?p=782</guid>
		<description><![CDATA[Przygotowaliśmy specjalny konkurs dla wszystkich, którzy chcieliby być na Front-Trends 2010 w Warszawie. Sprawa jest prosta &#8211; przygotuj ciekawy efekt, stronę, animację, cokolwiek, co jest zbudowane w HTML5, CSS3 lub JS, i udowodnij w swojej pracy, że warto przyjść na Front Trends 2010. Biorąc pod uwagę, że można zaoszczędzić dobrych kilkaset złotych (i przy okazji [...]]]></description>
			<content:encoded><![CDATA[<p style="font-weight: normal !important;">Przygotowaliśmy <a href="http://front-trends.com/konkurs.html">specjalny konkurs</a> dla wszystkich, którzy chcieliby być <a href="http://front-trends.com">na Front-Trends 2010 w Warszawie</a>. Sprawa jest prosta &#8211; przygotuj ciekawy efekt, stronę, animację, cokolwiek, co jest zbudowane w HTML5, CSS3 lub JS, i udowodnij w swojej pracy, że warto przyjść na Front Trends 2010. Biorąc pod uwagę, że można zaoszczędzić dobrych kilkaset złotych (i przy okazji czegoś się nauczyć) polecam gorąco!</p>
]]></content:encoded>
			<wfw:commentRss>http://ferrante.pl/2010/06/10/wygraj-bilet-na-front-trends-2010/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Szkolenia dla firm</title>
		<link>http://ferrante.pl/2010/05/29/szkolenia-dla-firm/</link>
		<comments>http://ferrante.pl/2010/05/29/szkolenia-dla-firm/#comments</comments>
		<pubDate>Sat, 29 May 2010 18:15:01 +0000</pubDate>
		<dc:creator>ferrante</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ferrante.pl/?p=770</guid>
		<description><![CDATA[Dostaję ostatnio wiele zapytań od firm, czy prowadzę też komercyjne szkolenia z JavaScript, HTML5 i jQuery. Odpowiedź jest prosta &#8211; oczywiście. Jeśli Twoja firma jest zainteresowana przeprowadzeniem profesjonalnego szkolenia z JavaScript, HTML5 lub jQuery (bądź wszystkich) przekieruj proszę kontakt na mojego maila, który dostępny jest w stopce strony. Cena jest zależna od indywidualnych wymagań, ponieważ [...]]]></description>
			<content:encoded><![CDATA[<p style="font-weight: normal !important;">Dostaję ostatnio wiele zapytań od firm, czy prowadzę też komercyjne szkolenia z JavaScript, HTML5 i jQuery. Odpowiedź jest prosta &#8211; oczywiście. Jeśli Twoja firma jest zainteresowana przeprowadzeniem profesjonalnego szkolenia z JavaScript, HTML5 lub jQuery (bądź wszystkich) przekieruj proszę kontakt na mojego maila, który dostępny jest w stopce strony. Cena jest zależna od indywidualnych wymagań, ponieważ każde ze szkoleń jest dostosowywane do poziomu uczestników i celów, jakie powinny zostać osiągnięte po ukończeniu danego kursu. Jeśli Twoja firma nie jest jeszcze pewna, czy JS to dobry pomysł, wyślij szefowi kilka linków: </p>
<ul>
<li><a href="http://ferrante.pl/2009/03/17/zostan-lepszym-programista-front-endu-fakty-i-mity/">Zostań lepszym programistą front-endu</a></li>
<li><a href="http://ferrante.pl/2008/06/21/frontend/">Front-end</a></li>
<li><a href="http://pawelstawicki.blogspot.com/2010/03/javascript-training.html">Szkolenie &#8211; recenzja</a></li>
<li><a href="http://ferrante.pl/2010/03/15/szkolenie-w-szczecinie/">Szkolenie w Szczecinie</a></li>
<li><a href="http://ferrante.pl/2010/03/23/szczecin-czesc-trzecia/">Szkolenie w Szczecinie &#8211; relacja</a></li>
<li><a href="http://ferrante.pl/2010/02/23/var-szawa-done/">Szkolenie w Warszawie &#8211; relacja</a></li>
<li><a href="http://ferrante.pl/2010/02/02/darmowe-szkolenie-javascript-we-wroclawiu">Szkolenie we Wrocławiu &#8211; relacja</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ferrante.pl/2010/05/29/szkolenia-dla-firm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Konferencyjna Polska</title>
		<link>http://ferrante.pl/2010/05/26/konferencyjna-polska/</link>
		<comments>http://ferrante.pl/2010/05/26/konferencyjna-polska/#comments</comments>
		<pubDate>Wed, 26 May 2010 21:01:24 +0000</pubDate>
		<dc:creator>ferrante</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ferrante.pl/?p=766</guid>
		<description><![CDATA[We wtorek miałem przyjemność uczestniczyć w SparkUp, prawdopodobnie pierwszej w Polsce konferencji o webdev i ux, zrealizowanej z tak dużym rozmachem. Jestem pod wrażeniem atmosfery i ludzi, którzy pojawili się w Poznaniu. Biletów sprzedano masę i dobitnie świadczy to o tym, że w Polsce jest ogromny potencjał i świetny klimat dla takich inicjatyw.
Nie jeździsz na [...]]]></description>
			<content:encoded><![CDATA[<p>We wtorek miałem przyjemność uczestniczyć w <a href="http://sparkup.pl">SparkUp</a>, prawdopodobnie pierwszej w Polsce konferencji o webdev i ux, zrealizowanej z tak dużym rozmachem. Jestem pod wrażeniem atmosfery i ludzi, którzy pojawili się w Poznaniu. Biletów sprzedano masę i dobitnie świadczy to o tym, że w Polsce jest ogromny potencjał i świetny klimat dla takich inicjatyw.<span id="more-766"></span></p>
<h3>Nie jeździsz na konferencje &#8211; tracisz!</h3>
<p>Przede wszystkim, zastałem w stolicy Wielkopolski mnóstwo nieprzypadowych gości. Byli tam managerowie, programiści, designerzy, blogerzy, internetowi celebryci, Czytelnicy tego bloga, uczestnicy moich szkoleń i masa innych specjalistów, którzy na co dzień tworzą nasz polski internet. Motywowały zasłyszane przeze mnie kuluarowe rozmowy, zainspirowane zapewne obejrzanymi wcześniej wystąpieniami. <i>Wiesz, zamiast trzech buttonów dajemy jeden, a to to w ogóle porażka, nie wiem czemu tak zrobiliśmy&#8230;</i> &#8211; spierał się siedzący za mną zespół developerów. Tym ludziom po prostu zależało, a strzelam, że takich dyskusji było tego dnia więcej.</p>
<p>Powiedzmy sobie głośno, jeśli jeszcze tego nie wiesz &#8211; nie bywasz na konferencjach &#8211; przegrywasz. Przegrywasz wiedzę, kontakty biznesowe, potencjalnie wartościowych, nowych znajomych. A w ogólnym rozrachunku &#8211; pieniądze, które mógłbyś zdobyć dzięki powyższym. Na sali kręciły się osoby, związane z takimi markami jak Microsoft, Opera, Nokia, Roche, czy Allegro. Pytanie &#8220;szukasz pracy?&#8221; zdecydowanie nie było tematem tabu.</p>
<h3>Przeglądarka Twoim domem</h3>
<p>Następna dekada to czas nowoczesnego, zgodnego ze standardami front-endu. JavaScript jest już dostępny na większości zaawansowanych urządzeń mobilnych, świat podbija niesamowity HTML5 (i krążące wokół niego nowinki), a <a href="http://www.apple.com/hotnews/thoughts-on-flash/">Flash umiera</a>. W dużych korporacjach &#8220;J2ME&#8221; zaczyna być ustawiany w parze z takimi słowami jak skansen czy muzeum, a zaawansowane, webowe aplikacje sprawiają wrażenie software&#8217;u desktopowego &#8211; są szybkie, lekkie, wygodne i działają w przeglądarce. Jest rzeczą niezwykle ważną, abyśmy nie przegapili pewnego skoku jakościowo &#8211; technologicznego, który niedługo się dokona. Tym bardziej cieszy fakt, że na horyzoncie pojawiły się wydarzenia, dzięki którym możemy poczuć się jak np. Brytyjczycy, którzy mają u siebie co roku kilkanaście (o ile nie więcej) takich konferencji.</p>
<h3>SparkUp &#8211; jestem na tak</h3>
<p>Nie chciałbym oceniać poszczególnych elementów konferencji SparkUp. Jak na każdej, były rzeczy, które należałoby poprawić, jak i te, za które należą się oklaski. Ogólne wrażenie było bardzo dobre. Nie będzie więc tutaj szyderczej i bratobójczej krytyki, którą z pewnością wielu blogerów by podniosło. Zresztą, najlepiej konferencję ocenią/ocenili jej uczestnicy na <a href="http://blip.pl/tags/sparkup">Blipie</a> czy <a href="http://twitter.com/#search?q=sparkupconf">Twitterze</a>. Jest to wręcz idealny kanał komunikacji dla takich eventów, czego kiedyś nie doceniałem.</p>
<p>Miałem też okazję porozmawiać dłuższą chwilę z jednym z organizatorów &#8211; Piotrem Czekałą. Wielkie gratulacje za chęci i sprawienie, że konferencja się odbyła! Miejcie świadomość, że SparkUp organizują sympatyczni ludzie z głową na karku. Przy okazji dowiedzieliśmy się kilku ciekawych rzeczy, co z pewnością przemyślimy w kontekście <a href="http://front-trends.com">Front Trends</a>.</p>
<h3>Front Trends</h3>
<p>No właśnie, Front Trends. Pojawiło się ostatnio mnóstwo pytań, co do konferencji, która odbędzie się w Warszawie 21 i 22 października. Wiedzcie, że pracujemy bardzo ciężko nad pełną wersją strony internetowej, a także nad cenami i ścieżkami tematycznymi. Nie chcę składać żadnych obietnic czasowych, ponieważ mamy zamiar zaoferować Wam jak najlepszą konferencję i dbamy o dopracowanie każdego szczegółu. Zbliża się najwyższy moment na podanie wszystkich, wiążących informacji, więc proszę o odrobinę cierpliwości!</p>
<h3>Konferencji czas</h3>
<p>Muszę przyznać, że jestem wielkim optymistą, jeśli chodzi o przyszłość konferencyjną w Polsce. Po tym, co usłyszałem i zobaczyłem we wtorek, jestem pewien, że Polska pragnie takich wydarzeń. I będzie je miała, bo taki potencjał nie może zostać zmarnowany.</p>
]]></content:encoded>
			<wfw:commentRss>http://ferrante.pl/2010/05/26/konferencyjna-polska/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ferrante.pl w HTML5</title>
		<link>http://ferrante.pl/2010/05/02/ferrante-pl-w-html5/</link>
		<comments>http://ferrante.pl/2010/05/02/ferrante-pl-w-html5/#comments</comments>
		<pubDate>Sun, 02 May 2010 18:48:10 +0000</pubDate>
		<dc:creator>ferrante</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[ferrante.pl]]></category>

		<guid isPermaLink="false">http://ferrante.pl/?p=754</guid>
		<description><![CDATA[Przepisałem bloga, używając HTML5, co kolejny raz było dużą przyjemnością. Muszę powiedzieć, że specyfikacja zmierza w bardzo dobrym kierunku (dodajmy do tego &#60;video /&#62;, &#60;audio /&#62; i &#60;canvas /&#62;).
Na posta o HTML5 pewnie przyjdzie jeszcze czas, pozwolę sobie wymienić tylko, ze strona działa o wiele lepiej z wyłączonymi obrazkami (wypróbowałem chyba wszystkie metody image-replacementu). Dodałem [...]]]></description>
			<content:encoded><![CDATA[<p>Przepisałem bloga, używając HTML5, co kolejny raz było dużą przyjemnością. Muszę powiedzieć, że specyfikacja zmierza w bardzo dobrym kierunku (dodajmy do tego &lt;video /&gt;, &lt;audio /&gt; i &lt;canvas /&gt;).<span id="more-754"></span></p>
<p>Na posta o HTML5 pewnie przyjdzie jeszcze czas, pozwolę sobie wymienić tylko, ze strona działa o wiele lepiej z wyłączonymi obrazkami (wypróbowałem chyba wszystkie metody <em>image-replacementu</em>). Dodałem też możliwość pokazywania kodu w dwóch trybach. Teraz możecie przełączyć się do czystego tekstu i spokojnie skopiować kod bez numerów linii i tak dalej:</p>
<pre><code>if (blog === "ferrante") {
	alert("dobrze trafiłeś, przyjacielu");
}</code></pre>
<p>Co do kolorowania składni &#8211; zostawiam je Waszym edytorom, dość ciężko dobrać coś do obecnego designu&#8230; Poza tym widoczne są teraz 3 najpotrzebniejsze tagi do pisania komentarzy<a href="#przypis-1" class="hint"><sup>1</sup></a> na tym blogu. Mam nadzieję, że teraz nikt nie będzie stronił się od pisania kodu czy cytowania.</p>
<p>Oprócz tego nie szczędziłem sobie selektorów, takich jak <span class="f">nth-child</span> czy <span class="f">first-child</span>, więc nawet nie otwierajcie strony w Internet Explorerze.</p>
<p>Przemeblowałem trochę blogrolla &#8211; jeśli znacie jakiś ciekawy blog po polsku dajcie znać, zdecydowanie za mało tam polskiej myśli technicznej&#8230;</p>
<p>Z ciekawych rzeczy, można znaleźć mnie na Twitterze, chociaż muszę stwierdzić, że jak na razie nie jest to mój ulubiony kanał komunikacji. Może czas to zmieni, kto wie. Poza tym <a href="http://varjs.com">varJS.com</a> nabiera rozpędu i prawdopodobnie blog ruszy w tym miesiącu. Będzie się działo, choć niestety nie doszły mnie jeszcze słuchy, że doba zwiększyła liczbę godzin. Niestety. Cały czas brakuje mi czasu na pracę typowo researchingową. Staram się to zmienić &#8211; byłoby to z korzyścią dla tego bloga i dla moich projektów. Trzymajcie kciuki.</p>
<hr />
<ol id="notes">
<li id="przypis-1">Przy okazji zwracam uwagę, że a) tutoriale do JS i jQuery są dość stare (kiedy jQuery było w wersji 1.1, stąd możliwe niescisłości) b) nie jest to tablica ogłoszeń &#8211; po odpowiedzi na pytania zapraszam na specjalistyczne forum. Tam na pewno ktoś Wam pomoże!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ferrante.pl/2010/05/02/ferrante-pl-w-html5/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>varJS.com &#8211; zaawansowany JavaScript za darmo!</title>
		<link>http://ferrante.pl/2010/04/15/varjs-com-zaawansowany-javascript-za-darmo/</link>
		<comments>http://ferrante.pl/2010/04/15/varjs-com-zaawansowany-javascript-za-darmo/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 20:24:11 +0000</pubDate>
		<dc:creator>ferrante</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Vademecum]]></category>

		<guid isPermaLink="false">http://ferrante.pl/?p=745</guid>
		<description><![CDATA[To nie koniec niespodzianek w tym tygodniu! Uruchomiłem właśnie stronę varJS.com, gdzie wkrótce powstanie blog poświęcony JavaScript i pochodnym. Tym razem po angielsku. Mam zamiar publikować tam także kolejne rozdziały mojej książki o JavaScript zupełnie za darmo. Być może będzie to funkcjonowało na zasadzie wiki, tego jeszcze nie ustaliłem.
Co jednak dzisiaj istotne, wydałem prawie 250-stronicowy, [...]]]></description>
			<content:encoded><![CDATA[<p>To nie koniec niespodzianek w tym tygodniu! Uruchomiłem właśnie stronę <a href="http://varjs.com">varJS.com</a>, gdzie wkrótce powstanie blog poświęcony JavaScript i pochodnym. Tym razem po angielsku. Mam zamiar publikować tam także kolejne rozdziały mojej książki o JavaScript zupełnie za darmo. Być może będzie to funkcjonowało na zasadzie wiki, tego jeszcze nie ustaliłem.</p>
<p>Co jednak dzisiaj istotne, wydałem prawie 250-stronicowy, długo oczekiwany materiał PDF ze szkoleń i mojego dotychczasowego researchu o nazwie <span class="f">Just Advanced JavaScript</span>. Książka, a w zasadzie slajdy mają charakter ściągawki &#8211; opisana została lwia część języka oraz mnóstwo ciekawostek i haczyków. Wszystko znajdziecie pod <a href="http://varjs.com">varJS.com</a> &#8211; serdecznie zapraszam! Prawdopodobnie wkrótce rozszerzę to o kolejne rozdziały i linki do innych pożytecznych stron, które również możecie tam spotkać.</p>
<p>Niniejszym dziękuje <a href="http://kukawski.pl">Rafałowi Kukawskiemu</a> oraz <a href="http://leaverou.me">Lei Verou</a>, którzy odpowiadali za korektę i poprawę ewentualnych błędów merytorycznych. Z całego serca polecam współpracę z nimi, prawdziwi eksperci!</p>
]]></content:encoded>
			<wfw:commentRss>http://ferrante.pl/2010/04/15/varjs-com-zaawansowany-javascript-za-darmo/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Front-Trends 2010 &#8211; konferencja, jakiej w Polsce nie było</title>
		<link>http://ferrante.pl/2010/04/13/front-trends-2010-konferencja-jakiej-w-polsce-nie-bylo/</link>
		<comments>http://ferrante.pl/2010/04/13/front-trends-2010-konferencja-jakiej-w-polsce-nie-bylo/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 08:39:27 +0000</pubDate>
		<dc:creator>ferrante</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[W sieci...]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ferrante.pl/?p=736</guid>
		<description><![CDATA[Wielkie wydarzenie w świecie polskiego i wschodnioeuropejskiego front-endu. Z inicjatywy Pawła Czerskiego i Damiana Wielgosika oraz firmy Frontend Force, 21-22 października br. w Warszawie odbędzie się konferencja Front-Trends 2010. Największe światowe gwiazdy JavaScript, CSS3 i HTML5 przyjadą do stolicy Polski podzielić się swoją wiedzą i doświadczeniem. Wśród nich między innymi Douglas Crockford, Peter-Paul Koch, Paul [...]]]></description>
			<content:encoded><![CDATA[<p>Wielkie wydarzenie w świecie polskiego i wschodnioeuropejskiego front-endu. Z inicjatywy Pawła Czerskiego i Damiana Wielgosika oraz firmy <a href="http://frontendforce.com">Frontend Force</a>, <strong>21-22 października br. w Warszawie</strong> odbędzie się konferencja <a href="http://front-trends.com">Front-Trends 2010</a>. Największe światowe gwiazdy JavaScript, CSS3 i HTML5 przyjadą do stolicy Polski podzielić się swoją wiedzą i doświadczeniem. Wśród nich między innymi <strong>Douglas Crockford, Peter-Paul Koch, Paul Bakaus,</strong> czy <strong>Dmitry Baranovskiy</strong>.</p>
<p>Można powiedzieć, że marzenia się spełniają. Długo zapowiadana niespodzianka stała się faktem. Szykuje się <strong>największe w tej części Europy</strong> święto dla wszystkich ludzi odpowiedzialnych za kształt Internetu.</p>
<p>Niniejszym zapraszam na stronę informacyjną konferencji &#8211; <a href="http://front-trends.com">Front-Trends.com</a>. Jak dotąd, udało się nam zebrać samą śmietankę w postaci <strong>naukowców</strong>, <strong>ewangelizatorów</strong> i <strong>twórców popularnych frameworków</strong>. Ludzi, którzy kreują światowy web. Już wkrótce kolejne, równie gorące nazwiska!</p>
<p>Oficjalna strona wydarzenia ma obecnie charakter wyłącznie informacyjny. Identyfikacja wizualna wraz logo i pełną wersją strony (w tym płatnościami) pojawią się <strong>już niedługo</strong>. Jednocześnie zapraszamy na <a href="http://twitter.com/fronttrends">Twittera</a> oraz <a href="http://fronttrends.blip.pl">Blip</a> po najnowsze wiadomości.</p>
]]></content:encoded>
			<wfw:commentRss>http://ferrante.pl/2010/04/13/front-trends-2010-konferencja-jakiej-w-polsce-nie-bylo/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Klasyczne klasy w JavaScript</title>
		<link>http://ferrante.pl/2010/04/02/klasyczne-klasy-w-javascript/</link>
		<comments>http://ferrante.pl/2010/04/02/klasyczne-klasy-w-javascript/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 22:07:39 +0000</pubDate>
		<dc:creator>ferrante</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://ferrante.pl/?p=728</guid>
		<description><![CDATA[JavaScript nie oferuje klasycznej obiektowości, wszystko opiera się tutaj na prototypach. Nie ma słówka kluczowego Class i tak dalej. Tego typu pozorna niedogodność, ale przede wszystkim chęć organizacji kodu, wymusza czasem zastosowanie pewnych, dodatkowych narzędzi. Jednym z nich jest abstrakcja klas. Ma to mootools, Prototype, są odpowiednie pluginy do jQuery. O co chodzi?
Wyobraźmy sobie, że [...]]]></description>
			<content:encoded><![CDATA[<p>JavaScript nie oferuje klasycznej obiektowości, wszystko opiera się tutaj na prototypach. Nie ma słówka kluczowego <em>Class</em> i tak dalej. Tego typu pozorna niedogodność, ale przede wszystkim chęć organizacji kodu, wymusza czasem zastosowanie pewnych, dodatkowych narzędzi. Jednym z nich jest abstrakcja klas. Ma to mootools, Prototype, są odpowiednie pluginy do jQuery. O co chodzi?<span id="more-728"></span></p>
<p>Wyobraźmy sobie, że nie odpowiada nam dzielenie kodu na konstruktory i rozszerzanie ich prototypów:</p>
<pre><code>var Animal = function(age) {
	this.age = age;
};
Animal.prototype.getAge = function() { return this.age; };
Animal.prototype.setAge = function(age) { this.age = age; };</code></pre>
<pre><code>var Dog = function(age) {
	this.setAge(age);
};
Dog.prototype = new Animal; // dziedziczymy po Animal
Dog.prototype.constructor = Dog;
Dog.prototype.getVoice = function() { return "hau hau"; }</code></pre>
<p>Używamy tego w ten sposób:</p>
<pre><code>var dog = new Dog(10);
dog.getVoice(); // hau hau
dog.getAge(); // 10</code></pre>
<p>W przypadku dużych i rozbudowanych systemów może rodzić to pewne kłopoty z utrzymaniem i czystością kodu. W związku z tym powstały abstrakcje klas. Stosując jedną z nich, można by napisać tak:</p>
<pre><code>var Animal = new Klass({
	Init: function(age) {
		this.setAge(age);
	},
	age: null,
	getAge: function() { return this.age; },
	setAge: function(age) { this.age = age; }
});

var Dog = new Klass({
	Extends: Animal,
	getVoice: function() { return "hau hau"; }
});</code></pre>
<p>Powiedzmy sobie szczerze &#8211; jest to bardziej przejrzyste rozwiązanie, pozwalające na stworzenie lepszej dokumentacji, testów i tak dalej. Jest też, sądzę, łatwiejsze do zrozumienia dla developerów nie mających zbyt dużego rozeznania w JavaScript. Zobaczmy więc, jak można coś takiego łatwo stworzyć.</p>
<p>Pierwsze, co jest nam potrzebne, to odpowiedni konstruktor <span class="f">Klass</span>. </p>
<pre><code>var Klass = (function() {
// ...
})();</code></pre>
<p>Jak widać, w tym momencie <em>Klass</em> ma wartość <span class="f">undefined</span> &#8211; to jasne, ponieważ funkcja nie mająca zdefiniowanego <em>return</em> zwraca <em>undefined</em>. Jako że mamy zamiar używać <em>Klass</em> w ten sposób &#8211; <span class="f">new Klass({});</span> &#8211; wiemy, że pod <em>Klass</em> musi znajdować się jakiś konstruktor, przyjmujący argument, który będzie zawierał pola i metody przyszłych klas. Szybka korekta i możemy iść dalej:</p>
<pre><code>var Klass = (function() {
	return function(classDefinition) {};
})();</code></pre>
<p>Dobrze, pora zająć się metodami <span class="f">Init</span>, uruchamiającymi się podczas konstruowania przyszłych obiektów z naszych klas. Zdefiniujmy sobie zmienną <span class="f">dummyClass</span>, która będzie z kolei konstruktorem-funkcją. Będziemy dekorować ją potem atrybutami z <span class="f">classDefinition</span>.</p>
<pre><code>var Klass = (function() {
	return function(classDefinition) {
		var dummyClass = function() {
			this.Init &#038;&#038; typeof this.Init === "function" &#038;&#038; this.Init.apply(this, arguments);
		};

		return dummyClass;
	};
})();</code></pre>
<p>Co dzieje się w <em>dummyClass</em>? Sprawdzamy po kolei, czy po wywołaniu <em>new JakasNaszaKlasa</em> istnieje coś takiego jak metoda <em>Init</em>, która ma pełnić rolę konstruktora. Następnie upewniamy się, że jest to funkcja, by potem odpalić ją poprzez <span class="f">this.Init.apply(this, arguments)</span>.</p>
<p>Nasza <em>dummyClass</em> musi jednak jakoś wiedzieć o <em>Init</em>, którą możemy podać w <em>classDefinition</em>. Zresztą, tak jak o innych polach i metodach naszych przyszłych klas. Najlepiej będzie więc przepisać wszystko z <em>classDefinition</em> do prototypu <em>dummyClass</em>:</p>
<pre><code>var Klass = (function() {
	return function(classDefinition) {
		var dummyClass = function() {
			this.Init &#038;&#038; typeof this.Init === "function" &#038;&#038; this.Init.apply(this, arguments);
		};

		<b>for (var member in classDefinition) {
			if (classDefinition.hasOwnProperty(member)) {
				dummyClass.prototype[member] = classDefinition[member];
				classDefinition[member] = null;
			}
		}</b>
		return dummyClass;
	};
})();</code></pre>
<p>Zrobiliśmy to prostą iteracją przez wszystkie klucze <em>classDefinition</em>, a więc w wypadku klasy <em>Animal</em> iterujemy przez:</p>
<pre><code>Init: function(age) {
	this.setAge(age);
},
age: null,
getAge: function() { return this.age; },
setAge: function(age) { this.age = age; }</code></pre>
<p>Sprawdźmy, czy nasz dotychczasowy kod działa:</p>
<pre><code>var Animal = new Klass({
	Init: function(age) { this.age = age; },
	age: null
});
var zwierze = new Animal(10);
alert(zwierze.age); // 10</code></pre>
<p>Jest fajnie, ale brakuje czegoś istotnego. Oczywiście chodzi o dziedziczenie, które zadziała, kiedy podamy w definicji klasy słówko <span class="f">Extends</span>.</p>
<pre><code>var Klass = (function() {
	return function(classDefinition) {
		var dummyClass = function() {
			this.Init &#038;&#038; typeof this.Init === "function" &#038;&#038; this.Init.apply(this, arguments);
		};

		<b>if (typeof classDefinition.Extends === "function") {}
		delete classDefinition.Extends;</b>

		for (var member in classDefinition) {
			if (classDefinition.hasOwnProperty(member)) {
				dummyClass.prototype[member] = classDefinition[member];
				classDefinition[member] = null;
			}
		}
		return dummyClass;
	};
})();</code></pre>
<p>Umiejętnie rozpoznaliśmy sytuację, kiedy należy rozszerzyć klasę potomną o klasę bazową. Następnie usunęliśmy wartość <em>Extends</em>, by nie była kopiowana w pętli, chociaż to od nas zależy. Równie dobrze można by ją zostawić. </p>
<p>Wiemy, że musimy rozszerzyć <span class="f">dummyClass</span> o <span class="f">classDefinition.Extends</span>. Automatycznie myślimy więc o <em>prototypach</em>, które należy przekazać do <em>classDefinition</em>. Można więc zrobić tak:</p>
<pre><code>dummyClass.prototype = classDefinition.Extends.prototype</code></pre>
<p>Jak wiemy, wartość <span class="f">.prototype</span> jest referencją do obiektu. Jeśli więc coś zmieni się w prototypie <em>classDefinition.Extends</em>, zmieni się również w prototypie <em>dummyClass</em>. </p>
<p>Słowem, dwa różne obiekty korzystałyby z tego samego prototypu, co może wywołać wiele zagrożeń. Zaradzić temu można w ten sposób:</p>
<pre><code>var Klass = (function() {
	return function(classDefinition) {
		var dummyClass = function() {
			this.Init &#038;&#038; typeof this.Init === "function" &#038;&#038; this.Init.apply(this, arguments);
		};

		if (typeof classDefinition.Extends === "function") {
			<b>var temp = function() {};
			temp.prototype = classDefinition.Extends.prototype;
			dummyClass.prototype = new temp;
			temp = null;</b>
		}
		delete classDefinition.Extends;

		for (var member in classDefinition) {
			if (classDefinition.hasOwnProperty(member)) {
				dummyClass.prototype[member] = classDefinition[member];
				classDefinition[member] = null;
			}
		}
		return dummyClass;
	};
})();</code></pre>
<p>I tak właśnie powstała dość funkcjonalna fabryczka klas, choć z wieloma ograniczeniami, które z pewnością łatwo dostrzeżecie. Brakuje, co ważne, metody na wzór <em>super()</em>, która odnosiłaby się do analogicznych metod z klasy bazowej. Zadanie to postaram opisać się później. Temat poruszę też prawdopodobnie także na następnym szkoleniu.</p>
<p>Na koniec wypada przetestować nasz kod:</p>
<pre><code>var Animal = new Klass({
	Init: function(age) {
		this.setAge(age);
	},
	age: null,
	getAge: function() { return this.age; },
	setAge: function(age) { this.age = age; }
});

var Dog = new Klass({
	Extends: Animal,
	getVoice: function() { return "hau hau"; }
});

var pies = new Dog(10);
pies.getVoice(); // "hau hau";
pies.getAge(); // 10
pies.setAge(100);
pies.getAge(); // 100
pies instanceof Animal; // true
pies instanceof Dog; // true</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://ferrante.pl/2010/04/02/klasyczne-klasy-w-javascript/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>
