<?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>mzacher.de&#187; javascript</title>
	<atom:link href="http://mzacher.de/posts/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://mzacher.de</link>
	<description>Marc Zacher - Weblog und Lifestream</description>
	<lastBuildDate>Thu, 09 Dec 2010 21:26:47 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Native document.getElementsByClassName Implementation in Firefox 3</title>
		<link>http://mzacher.de/posts/native-documentgetelementsbyclassname-implemtation-in-firefox-3/</link>
		<comments>http://mzacher.de/posts/native-documentgetelementsbyclassname-implemtation-in-firefox-3/#comments</comments>
		<pubDate>Sun, 25 Mar 2007 10:32:46 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[mzacher.de]]></category>
		<category><![CDATA[Digital_Media]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://mzacher.de/posts/native-documentgetelementsbyclassname-implemtation-in-firefox-3/</guid>
		<description><![CDATA[John Resig kündigt an, dass Firefox 3 die Funktion getElementsByClassName unterstützen wird. Diese wird nach seinen Untersuchungen 11x schneller als eine Umsetzung mittels XPath und 77x schneller als eine DOM Implementation sein. Cool.
Weniger cool ist (ebenfalls von Resig angemerkt), dass die Javascript Bibliothek prototype die Funktion im &#8220;offiziellen&#8221; Namespace implementiert hat, ohne zu testen, ob [...]]]></description>
			<content:encoded><![CDATA[<p>John Resig <a href="http://ejohn.org/blog/getelementsbyclassname-in-firefox-3/">kündigt an</a>, dass Firefox 3 die Funktion getElementsByClassName unterstützen wird. Diese wird <a href="http://ejohn.org/blog/getelementsbyclassname-speed-comparison/">nach seinen Untersuchungen</a> 11x schneller als eine Umsetzung mittels XPath und 77x schneller als eine DOM Implementation sein. Cool.</p>
<p>Weniger cool ist (ebenfalls von Resig angemerkt), dass die Javascript Bibliothek <a href="http://www.prototypejs.org/">prototype</a> die Funktion im &#8220;offiziellen&#8221; Namespace implementiert hat, ohne zu testen, ob diese Methode bereits vorhanden ist. Wird prototype also im Firefox 3 eingesetzt wird die native getElementByClassName Funktion durch eine 11x langsamere Nachimplementierung überschrieben.</p>
<p>So viel zum Thema Design von Javascript Bibliotheken.</p>
]]></content:encoded>
			<wfw:commentRss>http://mzacher.de/posts/native-documentgetelementsbyclassname-implemtation-in-firefox-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dojo roadmap</title>
		<link>http://mzacher.de/posts/dojo-roadmap/</link>
		<comments>http://mzacher.de/posts/dojo-roadmap/#comments</comments>
		<pubDate>Sat, 24 Mar 2007 13:13:13 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[mzacher.de]]></category>
		<category><![CDATA[Digital_Media]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://mzacher.de/posts/dojo-roadmap/</guid>
		<description><![CDATA[Mehr zum Thema Javascript: dojo wird einen Versionssprung auf 0.9 machen (aktuell 4.2). Dabei wird keine Rücksicht auf Backwards Compatibility genommen, keine Deprecation warnings, nichts. Wir hatten schon Probleme mit dem Upgrade von 3.1 auf 4.1 in einem größeren Projekt. Versprochen ist aber ein porting guide für 0.4.2 user. Das riecht nach Arbeit &#8230;
Des weiteren [...]]]></description>
			<content:encoded><![CDATA[<p>Mehr zum Thema Javascript: dojo wird einen Versionssprung auf 0.9 machen (aktuell 4.2). Dabei wird keine Rücksicht auf Backwards Compatibility genommen, keine Deprecation warnings, nichts. Wir hatten schon Probleme mit dem Upgrade von 3.1 auf 4.1 in einem größeren Projekt. Versprochen ist aber ein porting guide für 0.4.2 user. Das riecht nach Arbeit &#8230;</p>
<p>Des weiteren wird es künftig drei größere Teilprojekte geben: dojo core für die low level API, dijit wird die widget engine und die wichtigsten widgets beinhalten und dojox ist der platz für eher experimentelle(?) module wie dojo.storage und dojo.chart.</p>
<p><a href="http://blog.dojotoolkit.org/2007/02/15/dojo-042-and-beyond">Mehr Info</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mzacher.de/posts/dojo-roadmap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript Bibliotheken: Mono- oder Mischkultur?</title>
		<link>http://mzacher.de/posts/javascript-bibliotheken-mono-oder-mischkultur/</link>
		<comments>http://mzacher.de/posts/javascript-bibliotheken-mono-oder-mischkultur/#comments</comments>
		<pubDate>Sat, 24 Mar 2007 10:48:56 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[mzacher.de]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://mzacher.de/?p=101</guid>
		<description><![CDATA[Ich habe mich im Rahmen meiner Arbeit recht ausgiebig mit Javascript Bibliotheken auseinandergesetzt. Diese ermöglichen in erster Linie effizienteres Programmieren und sorgen für Browserkompatibilität. 
Es gibt da draussen Lösungen verschiedenster Ausprägung: Tuning der Kernfunktionalität (Objekte, DOM, Event handling, XMLHttpRequests: z.B. prototype, jQuery, base2), UI bezogen mit und ohne Widgets (z.B. script.aculo.us), YUI), Spezielle Aufgaben (Lightbox, [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe mich im Rahmen meiner Arbeit recht ausgiebig mit Javascript Bibliotheken auseinandergesetzt. Diese ermöglichen in erster Linie effizienteres Programmieren und sorgen für Browserkompatibilität. </p>
<p>Es gibt da draussen Lösungen verschiedenster Ausprägung: Tuning der Kernfunktionalität (Objekte, DOM, Event handling, XMLHttpRequests: z.B. <a href="http://www.prototypejs.org/">prototype</a>, <a href="http://jquery.com/">jQuery</a>, <a href="http://dean.edwards.name/weblog/2007/03/yet-another/">base2</a>), UI bezogen mit und ohne Widgets (z.B. <a href="http://script.aculo.us/">script.aculo.us)</a>, <a href="http://developer.yahoo.com/yui/">YUI</a>), Spezielle Aufgaben (<a href="http://www.huddletogether.com/projects/lightbox2/">Lightbox</a>, <a href="http://jsjac.jabberstudio.org/">JSJaC</a>) oder aber umfangreiche Lösungen, die eine möglichst große Bandbreite abdecken (<a href="http://dojotoolkit.org">Dojo toolkit</a>, prototype + script.aculo.us).</p>
<p>Fraglich ist, ob man eher auf eine möglichst umfangreiche Lösung bauen sollte oder eine Mischkultur aus Mini Bibliotheken, bzw. Module aus verschiedenen Bibliotheken setzen sollte. Dazu hier mal einige Überlegungen:</p>
<h4>Monokultur</h4>
<ul class="bulletlist">
<li>Keine Kompatibilitätsprobleme (siehe <a href="http://erik.eae.net/archives/2005/06/06/22.13.54">http://erik.eae.net/archives/2005/06/06/22.13.54</a>, selbst erfahren mit prototype und JSJaC)</li>
<li>Weniger Code, da Basismodule (mylib.base) nicht redundant sind</li>
<li>Mehr Code, da eine Komplettlösung, vor allem wenn sie nur eingeschränkt modularisierbar ist (durch Buildmechanismen) &#8211; aufgebläht sein kann</li>
<li>Einfacher aktuell zu halten (Entwicklung verfolgen, eine Codebase)</li>
<li>Abhängigkeit vom Erfolg, der Weiterentwicklung der Bibliothek</li>
<li>Falls Contrbution: einfacher, weil nur ein Projekt</li>
</ul>
<h4>Mischkultur</h4>
<ul class="bulletlist">
<li>Spezialbibliotheken bieten bessere Lösungen für bestimmte Aufgaben, da Autoren Experten auf diesem Gebiet sind (UI, DOM). Umgekehrt werden ggf. an große Bibliotheken weniger gute/gut gepflegte Lösungen angeflanscht</li>
<li>Weniger Code, wenn Lösungen sich ergänzen, nicht redundant sind</li>
<li>Mehr Code &#8230; </li>
<li>Inkompatibel, wenn Javascript Objekte erweitert werden</li>
<li>Mehr Möglichkeiten</li>
<li>Höherer Aufwand für Beobachtung und Aktualisierung der einzelnen Lösungen</li>
</ul>
<p>Eines der Hauptprobleme meines Erachtens: Basisfunktionen müssen immer vorhanden sein, hier gibt es schnell Redundanz (getElementsByClassName, inArray). Ich bin mir selbst nicht sicher, was ich grundsätzlich bevorzugen soll. Vermutlich würde ich die Entscheidung jeweils von der aktuellen Problemstellung im Projekt abhängig machen. Je kleiner, vorhersehbarer es ist bezüglich der Funktionalität, desto eher würde ich auf eine Mischkultur setzen.</p>
<p>Passend zum Thema hat Dean Edwards einige <a href="http://dean.edwards.name/weblog/2007/03/rules/">Regeln für Autoren von Javascript Bibliotheken</a> aufgeschrieben, welchen ich sehr zustimme.</p>
<p>Was mein Ihr?</p>
]]></content:encoded>
			<wfw:commentRss>http://mzacher.de/posts/javascript-bibliotheken-mono-oder-mischkultur/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>dojo.fx.html demo</title>
		<link>http://mzacher.de/posts/dojofxhtml-demo/</link>
		<comments>http://mzacher.de/posts/dojofxhtml-demo/#comments</comments>
		<pubDate>Wed, 12 Apr 2006 12:03:52 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[mzacher.de]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://mzacher.de/?p=85</guid>
		<description><![CDATA[In my company we are using the dojo javascript library for a project. It has an html effects module (dojo.fx.html) which is not documented yet (dojo documentation). Therefore I created a little demo that shows all basic effects.
]]></description>
			<content:encoded><![CDATA[<p>In my company we are using the <a href="http://dojotoolkit.org">dojo javascript library</a> for a project. It has an html effects module (dojo.fx.html) which is not documented yet (<a href="http://manual.dojotoolkit.org/">dojo documentation</a>). Therefore I created a little <a href="http://mzacher.de/sandbox/dojo.html">demo</a> that shows all basic effects.</p>
]]></content:encoded>
			<wfw:commentRss>http://mzacher.de/posts/dojofxhtml-demo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

