<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel><title>MatthiasSchuetz.com</title>

<link>http://matthiasschuetz.com/</link>
<description>Webdesigner / Webentwickler / Grafiker</description>
<generator>http://textpattern.com/</generator>
<lastBuildDate>Thu, 06 Jun 2013 19:27:26 GMT</lastBuildDate>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MatthiasSchuetz" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="matthiasschuetz" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Scrubby: JavaScript-Werte in Echtzeit verändern</title>
<description>
<![CDATA[<p>Wer sich für Animationen, Spiele und interaktive Grafikanwendungen in HTML/JavaScript interessiert, wird Seiten wie <a href="http://creativejs.com/">CreativeJS</a> oder die <a href="http://glsl.heroku.com/">GLSL Sandbox</a> bereits kennen. Für das Erstellen und Bearbeiten von Canvas-Animationen direkt im Browser hatte ich vor einem Jahr den <a href="http://matthiasschuetz.com/canvas-animation-playground-animationen-im-browser/">Canvas Animation Playground</a> entwickelt, der das Schreiben von Animationen beschleunigen soll.<br />Ein interessantes Skript in diesem Zusammenhang stellt <a href="http://nornagon.github.io/scrubby/">Scrubby</a> dar: Damit können die Zahlenwerte von JavaScript-Codes per Schieberegler verändert werden, wodurch sich eine HTML5-Canvas-Anwendung in Echtzeit manipulieren lässt.</p>
								<p class="articleimage"><img src="http://matthiasschuetz.com/content/blog/scrubbyjs.jpg" title="Scrubby - Tweak values in JavaScript without having to reload" alt="Scrubby - Tweak values in JavaScript without having to reload" width="493" height="187" /></p>
								<p class="lastblock">Für das direkte Bearbeiten von Animationen im Browser eignet sich Scrubby also hervorragend, da gerade für die Berechnungen von Positionen, Farben und Effekten etliche Anpassungen erforderlich sein können. Ein Skript-Block muss nur mit dem Typ <code>&quot;text/scrubby&quot;</code> gekennzeichnet werden, damit sich Werte interaktive verändern lassen.<br />Scrubby setzt dafür die ECMAScript-Tools <a href="https://github.com/constellation/esprima">Esprima</a> und <a href="https://github.com/constellation/escodegen">Escodegen</a> ein. Bei <a href="https://github.com/nornagon/scrubby">GitHub</a> findet sich der Quellcode zu Scrubby und eine Roadmap. So sind bereits weitere interessante Features geplant, wie etwa das Verändern von Strings oder das Einblenden eines Farbwählers.</p>]]>
</description>
<link>http://matthiasschuetz.com/scrubby-javascript-werte-in-echtzeit-veraendern</link>
<pubDate>Fri, 31 May 2013 13:28:32 GMT</pubDate>
<dc:creator>Matthias Schütz</dc:creator>
<guid isPermaLink="false">tag:matthiasschuetz.com,2013-05-31:2a56271ccc925f63624dd8907c4522d8/3620657cdb0f97d1cd16bb77ab950bc5</guid>

<category>entwicklung</category>
<category>html-css</category>
<category>javascript</category>
<category>werkzeuge</category>
<category>tricks</category>
<category>webgl</category>
</item>
<item><title>Webentwicklung: Frontend-Paketmanager im Vergleich</title>
<description>
<![CDATA[<p>Sie heißen <a href="http://bower.io/">Bower</a>, <a href="https://github.com/component/component">Component</a> oder <a href="http://volojs.org/">Volo</a>: Frontend-Paketmanager, die sich dank der Popularität von <a href="http://nodejs.org/">Node.js</a> immer mehr durchsetzen und Webentwicklern diverse Aufgaben abnehmen. So müssen JavaScript-Bibliotheken und andere Komponenten eines Web-Projekts nicht mehr manuell installiert oder aktualisiert werden, sondern können einfach über eine Konfigurationsdatei definiert werden. Hierbei können Abhängigkeiten festgelegt werden, die dann mit einem Script-Loader wie <a href="http://requirejs.org/">RequireJS</a> geladen werden können.<br />Der Entwickler Wil Moore hat sich die Mühe gemacht und bei GitHub eine <a href="https://github.com/wilmoore/frontend-packagers">&quot;Front-End Package Manager Comparison&quot;</a> zusammengestellt, in der die verschiedenen Tools beleuchtet werden.</p>
								<p class="articleimage"><img src="http://matthiasschuetz.com/content/blog/frontendpackagemanagers.jpg" title="Front-End Package Manager Comparison" alt="Front-End Package Manager Comparison" width="493" height="185" /></p>
								<p class="lastblock">Das GitHub-Dokument listet unter Anderem die Konfigurationsdateien der Paketmanager auf und gibt Einblick in die Funktionalitäten. Dazu zählen beispielsweise Scaffolding, Bootstrapping, Build Automation oder Script-Loading. Zudem gibt es eine Liste der unterstützten Schreibweisen für Module (AMD, CommonJS, globales Skript). Die Vergleichsmatrix dürfte einen guten Überblick über die bisher existierenden Frontend-Paketmanager geben und Entwicklern damit die Auswahl erleichtern.<br />Wer nach einer Komplettlösung sucht, mit der sich per Knopfdruck Webprojekte erzeugen und testen lassen, sollte hingegen einen Blick auf <a href="http://yeoman.io/">Yeoman</a> werfen.</p>]]>
</description>
<link>http://matthiasschuetz.com/webentwicklung-frontend-paketmanager-im-vergleich</link>
<pubDate>Thu, 30 May 2013 20:13:33 GMT</pubDate>
<dc:creator>Matthias Schütz</dc:creator>
<guid isPermaLink="false">tag:matthiasschuetz.com,2013-05-24:2a56271ccc925f63624dd8907c4522d8/69054ab5c4a6c0c001d5e2e4647ae092</guid>

<category>werkzeuge</category>
<category>tipps</category>
<category>tricks</category>
<category>entwicklung</category>
<category>javascript</category>
</item>
<item><title>JavaScript: Ein Blick auf moderne Web-Frameworks</title>
<description>
<![CDATA[<p>Steve Sanderson, der Entwickler von <a href="http://knockoutjs.com/">Knockout</a>, dürfte mit seinen Worten die Zukunft von JavaScript-Anwendungen sehr gut beschreiben: Während eine größere Web-Applikation bisher mit Server-Rendering, Ajax-Schnittstellen und etwas jQuery-Code auskam, werden zukünftige Anwendungen geeignete Datenmodelle und ein solides Client-Side-Rendering erfordern. Aus diesem Grund wurden MVW-Frameworks (Model-View-Whatever) wie Knockout, <a href="http://backbonejs.org/">Backbone</a> oder <a href="http://angularjs.org/">AngularJS</a> ins Leben gerufen. Mit dem <a href="http://todomvc.com/">TodoMVC-Projekt</a> soll Entwicklern die Wahl des richtigen Frameworks erleichtert werden.<br />Die Leute von &quot;SoftFinity&quot; haben ein paar interessante Artikel zu dieser Thematik veröffentlicht, in denen sie die genannten Bibliotheken beleuchten.</p>
								<p class="articleimage"><img src="http://matthiasschuetz.com/content/blog/knockoutjsbackbonejsangularjs.jpg" title="The Battle of Modern Javascript Frameworks – Knockout, Backbone.js und AngularJS" alt="The Battle of Modern Javascript Frameworks – Knockout, Backbone.js und AngularJS" width="493" height="213" /></p>
								<p>Die Artikelreihe <a href="http://www.softfinity.com/blog/the-battle-of-modern-javascript-frameworks-part-i/">&quot;The Battle of Modern Javascript Frameworks&quot;</a> zeigt Kernfunktionen, Vor- und Nachteile sowie Community-Support (Stack Overflow, GitHub) der beliebtesten Frameworks auf. Abschließend gibt es ein Fazit. Hier die Artikelreihe im Überblick:</p>
								<ul class="list">
									<li><a href="http://www.softfinity.com/blog/the-battle-of-modern-javascript-frameworks-part-ii-knockout-js/">The Battle of Modern Javascript Frameworks – Part II: Knockout.js</a></li>
									<li><a href="http://www.softfinity.com/blog/battle-of-modern-javascript-frameworks-part-iii-backbone-js/">The Battle of Modern Javascript Frameworks – Part III: Backbone.js</a></li>
									<li><a href="http://www.softfinity.com/blog/battle-of-modern-javascript-frameworks-part-iv-angularjs/">The Battle of Modern Javascript Frameworks – Part IV: Angular.js</a></li>
									<li><a href="http://www.softfinity.com/blog/the-battle-of-modern-javascript-frameworks-part-v-ember-js/">The Battle of Modern Javascript Frameworks – Part V: Ember.js</a></li>
									<li><a href="http://www.softfinity.com/blog/the-battle-of-modern-javascript-frameworks-conclusion-which-one-to-choose/">The Battle of Modern Javascript Frameworks &#8211; Conclusion</a></li>
								</ul>
								<p class="lastblock">Insgesamt schneidet Knockout dank seiner guten Dokumentation und dem interaktiven Tutorial-System sehr gut ab, wenn es um kleine bis mittlere Projekte geht. Für größere Projekte eignet sich Backbone, wobei es hier keine <code>data-bindings</code> gibt und strenge Konventionen eingehalten werden müssen. Wer Knockout und Backbone vereint haben möchte, greift entweder zu <a href="http://matthiasschuetz.com/knockback-backbone-js-und-knockout-js-vereint">Knockback</a> oder wirft einen Blick auf AngularJS, das ebenfalls viele Funktionen vereint und auf komplexere Projekte ausgelegt ist. Alles Weitere findet sich in der kurzen und dennoch sehr gelungenen Artikelreihe.</p>]]>
</description>
<link>http://matthiasschuetz.com/javascript-ein-blick-auf-moderne-web-frameworks</link>
<pubDate>Tue, 28 May 2013 20:06:42 GMT</pubDate>
<dc:creator>Matthias Schütz</dc:creator>
<guid isPermaLink="false">tag:matthiasschuetz.com,2013-05-28:2a56271ccc925f63624dd8907c4522d8/b106e57e5b5f24f0a73d8e89888cbf7e</guid>

<category>werkzeuge</category>
<category>entwicklung</category>
<category>oop-mvc</category>
<category>tipps</category>
<category>tricks</category>
<category>tutorials</category>
<category>javascript</category>
</item>
<item><title>Lazy.js: Utilities für JavaScript mit Deferred Execution</title>
<description>
<![CDATA[<p>Für die Arbeit mit unterschiedlichen Datenstrukturen in JavaScript können Hilfsbibliotheken wie <a href="http://underscorejs.org/">Underscore.js</a> oder <a href="http://lodash.com/">Lo-Dash</a> sehr nützlich sein. Gerade wenn es sich um die Verarbeitung von größeren JSON-Datensätzen handelt, dürften die Funktionen der genannten Bibliotheken interessant sein, mit denen sich Arrays, Objekte und Collections schneller verarbeiten lassen.<br />In diesem Zusammenhang wurde auch das Skript <a href="http://dtao.github.io/lazy.js/">Lazy.js</a> entwickelt, das ähnlich wie Underscore.js arbeitet, aber Sequenzen erzeugt und damit eine verzögerte Ausführung (Deferred Execution) ermöglicht.</p>
								<p class="articleimage"><img src="http://matthiasschuetz.com/content/blog/lazyjs.png" title="Lazy.js: Utilities für JavaScript mit Deferred Execution" alt="Lazy.js: Utilities für JavaScript mit Deferred Execution" width="493" height="186" /></p>
								<p>Der Vorteil von Lazy.js liegt also darin, dass Iterationen erst beim Aufruf der <code>each</code>-Methode ausgeführt werden und keine Zwischen-Arrays erzeugt werden. Ein Beispiel, bei dem die ersten 10 geraden Quadratzahlen eines Arrays mit 1000 Ganzzahlen ausgegeben werden:</p>
								<ul class="codelist">
									<li>function square(x) { return x * x; }</li>
									<li>function isEven(x) { return x % 2 === 0; }</li>
									<li>&nbsp;</li>
									<li>var arr = Lazy.range(1000).toArray();</li>
									<li>var result = Lazy(arr).map(square).filter(isEven).take(100);</li>
								</ul>
								<p class="lastblock">Auf der Seite finden sich noch weitere Beispiele, bei denen unter Anderem eindeutige Zufallszahlen erzeugt werden oder die Maus-Koordinaten direkt als Sequenz verarbeitet werden.<br />Der Quellcode zu Lazy.js findet sich wieder bei <a href="https://github.com/dtao/lazy.js">GitHub</a>.</p>]]>
</description>
<link>http://matthiasschuetz.com/lazyjs-utilities-fuer-javascript-mit-deferred-execution</link>
<pubDate>Mon, 27 May 2013 21:03:58 GMT</pubDate>
<dc:creator>Matthias Schütz</dc:creator>
<guid isPermaLink="false">tag:matthiasschuetz.com,2013-05-24:2a56271ccc925f63624dd8907c4522d8/e2ff0b1baf7bcceee4e8c2dbf110e5ee</guid>

<category>werkzeuge</category>
<category>entwicklung</category>
<category>javascript</category>
<category>tricks</category>
</item>
<item><title>Unheap: Übersichtliche jQuery-Plugin-Sammlung</title>
<description>
<![CDATA[<p>Die Zahl der neu entwickelten jQuery-Plugins dürfte täglich ansteigen. Durch die einfache Architektur ist es sehr einfach, ein <a href="http://matthiasschuetz.com/jquery-tutorial-eigenes-tooltip-plugin-erstellen">jQuery-Plugin</a> zu schreiben. Mittlerweile gibt es bereits <a href="http://matthiasschuetz.com/jquery-weitere-sammlung-an-ausgesuchten-plugins">große Online-Sammlungen</a>, die in Kategorien unterteilt sind und ein breites Spektrum an Plugins beinhalten.<br />Eine etwas modernere Auflistung findet sich auf der Seite <a href="http://www.unheap.com/">Unheap</a>: Auch hier wurden die verschiedenen Plugins in Kategorien unterteilt und lassen sich so besser unterscheiden.</p>
								<p class="articleimage"><img src="http://matthiasschuetz.com/content/blog/jqunheap.jpg" title="Unheap - A tidy repository of jQuery plugins" alt="Unheap - A tidy repository of jQuery plugins" width="493" height="192" /></p>
								<p class="lastblock">Unheap ist sehr gut strukturiert und beinhaltet aktuelle Plugins für alle denkbaren Bereiche. Von Navigationen über UI-Widgets bis hin zu Video-Playern und Galerien. Es gibt eine Suchfunktion und neue Plugins können einfach über ein Formular eingereicht werden.<br />Weitere Sammlungen dieser Art, die nicht auf jQuery beschränkt sind, wären <a href="http://matthiasschuetz.com/jsdbio-datenbank-mit-allen-javascript-bibliotheken">JSDB.io</a> oder <a href="http://matthiasschuetz.com/jster-alle-javascript-libraries-in-einer-sammlung">Jster</a>.</p>]]>
</description>
<link>http://matthiasschuetz.com/unheap-uebersichtliche-jquery-plugin-sammlung</link>
<pubDate>Thu, 23 May 2013 20:17:48 GMT</pubDate>
<dc:creator>Matthias Schütz</dc:creator>
<guid isPermaLink="false">tag:matthiasschuetz.com,2013-05-24:2a56271ccc925f63624dd8907c4522d8/c1838382bb5f34ea4ab9f4cd73d07dc2</guid>

<category>werkzeuge</category>
<category>entwicklung</category>
<category>jquery</category>
<category>webdesign</category>
</item>
<item><title>Firefox 23: Firefox Developer Tool mit Netzerkmonitor</title>
<description>
<![CDATA[<p>Die integrierten Entwicklerwerkzeuge, die seit <a href="http://matthiasschuetz.com/firefox-10-eingebaute-tools-fuer-webentwickler">Version 10</a> in Firefox zur Grundausstattung zählen, bekommen im August mit Version 23 des Browsers ein Update spendiert, in dem auch ein Netzwerkmonitor enthalten sein wird. Wie im <a href="https://hacks.mozilla.org/2013/05/firefox-developer-tool-features-for-firefox-23/">Mozilla Hacks-Blog</a> zu lesen ist, wird es zudem einen &quot;Remote Style Editor&quot; geben, mit dem sich eine Seite auch auf mobile Geräten in Echtzeit anpassen lässt. Voraussetzung auf dem Endgerät dafür ist ein installierter Firefox, der etwa für Android vorliegt.</p>
								<p class="articleimage"><img src="http://matthiasschuetz.com/content/blog/firefoxdevelopertoolnetworkmonitor.jpg" title="Firefox Developer Tool - Netzerkmonitor" alt="Firefox Developer Tool - Netzerkmonitor" width="493" height="145" /></p>
								<p class="lastblock">Weiterhin wird es ein &quot;Option Panel&quot; geben, in dem sich bestimmte Tools an- und ausschalten lassen. Auch ein erster Support für <a href="https://wiki.mozilla.org/DevTools/Features/SourceMap">SourceMaps</a> wird integriert sein, wodurch sich komprimierter JavaScript-Code in ursprünglicher Form anzeigen und mit Breakpoints versehen lässt. Wer sich selbst einen Eindruck von den Features verschaffen möchte, kann einfach <a href="http://www.mozilla.org/en-US/firefox/aurora/">Firefox Aurora</a> installieren und ausprobieren.<br />Doch nicht nur das Developer Tool von Firefox bekommt Neuerungen: Auch der immer noch unangefochtene Firebug wird stets aktualisiert und erhält mit <a href="http://blog.getfirebug.com/">Version 1.12</a> ebenfalls interessante Funktionen.</p>]]>
</description>
<link>http://matthiasschuetz.com/firefox-23-firefox-developer-tool-mit-netzerkmonitor</link>
<pubDate>Wed, 22 May 2013 20:45:29 GMT</pubDate>
<dc:creator>Matthias Schütz</dc:creator>
<guid isPermaLink="false">tag:matthiasschuetz.com,2013-05-22:2a56271ccc925f63624dd8907c4522d8/5b8e3bd369d1f22537535adfc36280f7</guid>

<category>entwicklung</category>
<category>firefox</category>
<category>firebug</category>
<category>werkzeuge</category>
</item>
<item><title>Reguläre Ausdrücke: Umfangreiche Anleitung online</title>
<description>
<![CDATA[<p>Das Entwickeln von regulären Ausdrücken ist essentiell und kann in jeder Programmiersprache zur Herausforderung werden, wenn komplexere Ausdrücke eingesetzt werden müssen. Gerade für Neueinsteiger dürfte das Verstehen und Schreiben von regulären Ausdrücken schwierig sein, da die verschiedenen Zeichenklassen und Quantifizierer nicht sofort ersichtlich sind. Im Netz finden sich bereits <a href="http://matthiasschuetz.com/regular-expression-library-umfangreiche-sammlung">etliche Quellen</a> sowie <a href="http://matthiasschuetz.com/regulaere-ausdruecke-tools-mit-echtzeit-vorschau">nützliche Tools</a>, die das Testen von Ausdrücken in Echtzeit erlauben.<br />Eine wirklich umfangreiche und gelungene Anleitung für reguläre Ausdrücke in JavaScript steht jetzt mit dem <a href="http://tech.pro/tutorial/1214/javascript-regular-expression-enlightenment">JavaScript Regular Expression Enlightenment</a> auf TechPro zur Verfügung. Auf dieser Seite wird die komplette Materie anhand von Beispielen analysiert und beleuchtet.</p>
								<p class="articleimage"><img src="http://matthiasschuetz.com/content/blog/jsregularexpressionenlightenment.jpg" title="Tech.Pro - JavaScript Regular Expression Enlightenment" alt="Tech.Pro - JavaScript Regular Expression Enlightenment" width="493" height="164" /></p>
								<p class="lastblock">Der Artikel enthält viele interaktive JSFiddle-Bereiche, die einen direkten Einblick in den Aufbau eines Ausdrucks erlauben. Ebenfalls interessant dürfte die Website <a href="http://www.debuggex.com/">Debuggex</a> sein, die in dem Beitrag verwendet wird und ähnlich wie <a href="http://matthiasschuetz.com/regexper-regulaere-javascript-ausdruecke-visualisieren">Regexper</a> reguläre Ausdrücke visualisiert.<br />Zusammen mit den interaktiven Beispielen und den grafischen Darstellungen stellt der Artikel insgesamt eine wichtige Quelle dar, die nicht nur für Einsteiger interessant sein dürfte.</p>]]>
</description>
<link>http://matthiasschuetz.com/regulaere-ausdruecke-umfangreiche-anleitung-online</link>
<pubDate>Tue, 21 May 2013 20:41:39 GMT</pubDate>
<dc:creator>Matthias Schütz</dc:creator>
<guid isPermaLink="false">tag:matthiasschuetz.com,2013-05-20:2a56271ccc925f63624dd8907c4522d8/ae1be16296f40a520cf19b8f4d898f38</guid>

<category>tipps</category>
<category>tricks</category>
<category>entwicklung</category>
<category>javascript</category>
</item>
<item><title>jQuery: Native JavaScript-Äquivalente zu Funktionen</title>
<description>
<![CDATA[<p>Frameworks wie jQuery oder MooTools zeichnen sich vor allem durch ihre einfache und intuitive Schreibweise aus. Hinter den Framework-Funktionen stecken meist komplexere Mechanismen, da Elemente mit speziellen Eigenschaften ausgestattet werden. Manche Funktionalitäten lassen sich aber mittlerweile auch sehr leicht nativ umsetzen, wodurch die Performance erhöht werden kann. Dieser Aspekt ist gerade bei mobilen Geräten sehr wichtig, da hier die Qualität einer WebApp durch übermäßige jQuery-Operationen schnell sinken kann.<br />Lee Brimelow von Adobe hat <a href="http://www.leebrimelow.com/native-methods-jquery/">in einem Beitrag</a> ein paar jQuery-Funktionen aufgezeigt, die in aktuellen Browsern mit nativen JavaScript-Funktionen ersetzt werden können.</p>
								<p class="articleimage"><img src="http://matthiasschuetz.com/content/blog/jqnativeequivalents.jpg" title="Lee Brimelow - Native equivalents of jQuery functions" alt="Lee Brimelow - Native equivalents of jQuery functions" width="493" height="181" /></p>
								<p>In der Aufzählung finden sich so die Äquivalente für Selektoren, DOM-Manipulationen und CSS-Änderungen, wie zum Beispiel:</p>
								<ul class="codelist">
									<li>jQuery:</li>
									<li>$(document.body).append(&quot;&lt;div id='myDiv'&gt;&lt;img src='im.gif' /&gt;&lt;/div&gt;&quot;);</li>
									<li>&nbsp;</li>
									<li>JavaScript:</li>
									<li>var frag = document.createDocumentFragment();</li>
									<li>&nbsp;</li>
									<li>var myDiv = document.createElement(&quot;div&quot;);</li>
									<li>myDiv.id = &quot;myDiv&quot;;</li>
									<li>&nbsp;</li>
									<li>var im = document.createElement(&quot;img&quot;);</li>
									<li>im.src = &quot;im.gif&quot;;</li>
									<li>&nbsp;</li>
									<li>myDiv.appendChild(im);</li>
									<li>frag.appendChild(myDiv);</li>
									<li>document.body.appendChild(frag);</li>
								</ul>
								<p class="lastblock">Sicherleicht ist die jQuery-Syntax kompakter, aber die native Schreibweise lässt sich einfach in einer Funktion verpacken und wenn es um Performance geht, sollten die integrierten Fähigkeiten des Browsers auf jeden Fall ausgenutzt werden. Wer wissen möchte, welcher Browser neuere Selektoren wie &quot;querySelectorAll&quot; unterstützt, kann dies auf <a href="http://caniuse.com/">CanIUse.com</a> nachschlagen.<br />Lee Brimelow hat übrigens auch <a href="http://jsperf.com/jquery-css-vs-native-dom">Benchmarks</a> aufgestellt, in denen der Unterschied von jQuery zu nativen Funktionen deutlich wird.</p>]]>
</description>
<link>http://matthiasschuetz.com/jquery-native-javascript-aequivalente-zu-funktionen</link>
<pubDate>Mon, 20 May 2013 21:29:28 GMT</pubDate>
<dc:creator>Matthias Schütz</dc:creator>
<guid isPermaLink="false">tag:matthiasschuetz.com,2013-05-21:2a56271ccc925f63624dd8907c4522d8/1c76073cc45abc25e3119636900172f8</guid>

<category>tipps</category>
<category>tricks</category>
<category>entwicklung</category>
<category>javascript</category>
<category>jquery</category>
</item>
<item><title>X-Tag: JavaScript-Polylib für Web Components</title>
<description>
<![CDATA[<p>Im Dezember letzten Jahres hatte ich über das <a href="http://matthiasschuetz.com/web-ui-user-interface-bibliothek-fuer-google-dart">Web UI</a> berichtet, einer User Interface-Bibliothek für Google Dart, die von <a href="http://www.w3.org/TR/components-intro/">Web Components</a> Gebrauch macht. Bei den Web Components handelt es sich um eine sehr interessante Methode, um dynamische HTML-Bausteine zu erzeugen und wiederzuverwenden. So lassen sich also eigene Komponenten erstellen, die mit HTML, CSS und JavaScript ausgestattet werden können.<br />Die Web Components befinden sich noch im Standardisierungsprozess des W3C und stehen aktuell nur in Google Chrome zur Verfügung. Dennoch gibt es seit einiger Zeit schon diverse Polyfills, wie beispielsweise <a href="http://www.x-tags.org/">X-Tag</a> von <a href="https://wiki.mozilla.org/Apps/x-tag">Mozilla</a>.</p>
								<p class="articleimage"><img src="http://matthiasschuetz.com/content/blog/xtags.jpg" title="X-Tag - Web Components Custom Element Polylib
" alt="X-Tag - Web Components Custom Element Polylib
" width="493" height="149" /></p>
								<p>Bei X-Tag handelt es sich um eine kleine JavaScript-Bibliothek, die das Verhalten eines Web Components simuliert: So können eigene HTML-Tags definiert werden, die komplette Widgets enthalten können, wie etwa ein Accordion, ein Kontaktformular oder gar eine Kartenansicht. Das <a href="https://github.com/x-tag/panel/tree/xtag-v0.1.1">Panel-Beispiel</a> zeigt etwa das asynchrone Laden einer HTML-Datei in einen Container. Der X-Tag-Code dazu sieht aus wie folgt:</p>
								<ul class="codelist">
									<li>&lt;x-panel src=&quot;some-page.html&quot;&gt;&lt;/x-panel&gt;</li>
								</ul>
								<p class="lastblock">Es gibt noch weitere Polyfills für Web Components, wie beispielsweise <a href="https://github.com/toolkitchen/mdv">Model Driven Views</a>, die ebenfalls vielversprechend aussehen.</p>]]>
</description>
<link>http://matthiasschuetz.com/x-tag-javascript-polylib-fuer-web-components</link>
<pubDate>Wed, 15 May 2013 21:18:23 GMT</pubDate>
<dc:creator>Matthias Schütz</dc:creator>
<guid isPermaLink="false">tag:matthiasschuetz.com,2013-05-16:2a56271ccc925f63624dd8907c4522d8/08c435f876fe8b127e06b684567f1d81</guid>

<category>werkzeuge</category>
<category>tipps</category>
<category>tricks</category>
<category>entwicklung</category>
<category>html-css</category>
<category>javascript</category>
</item>
<item><title>Timbre.js: Klangsynthese mit HTML5 im Browser</title>
<description>
<![CDATA[<p>Das virtuelle Erzeugen von Tönen durch Synthese ist im Web nicht mehr nur durch Flash (z.B. <a href="http://www.audiotool.com/">Audiotool)</a> möglich. Auch HTML5 ermöglicht dank der Web Audio API das Generieren von Wellenformen mittels <a href="https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#OscillatorNode-section">Oszillatoren</a>. Durch die Frequenzen mehrerer Oszillatoren ist also die Frequenzmodulationssynthese möglich, wodurch sich variierende Töne und Melodien erzeugen lassen. Mit der JavaScript-Bibliothek <a href="http://mohayonao.github.io/timbre.js/">Timbre.js</a> stehen für den Bereich der Audio-Programmierung komfortable Werkzeuge bereit.</p>
								<p class="articleimage"><img src="http://matthiasschuetz.com/content/blog/timbrejs.jpg" title="Timbre.js - JavaScript Library for Objective Sound Programming" alt="Timbre.js - JavaScript Library for Objective Sound Programming" width="493" height="189" /></p>
								<p>Timbre.js bildet also die Brücke zur Web Audio API und bietet eine einfache Schreibweise an:</p>
								<ul class="codelist">
									<li>T(&quot;sin&quot;, {freq:880, mul:0.5}).play();</li>
								</ul>
								<p class="lastblock">Das Framework bietet neben dem Erzeugen von Tönen auch etliche Filter (Chorus, Delay, FFT, Equalizer, Phaser, usw.) an. Weiterhin können Audio-Dateien verarbeitet und sogar in Einzelteile (Beat Slicing) zerlegt werden, um sie dann in einer neuen Reihenfolge zusammenzusetzen. Das <a href="http://mohayonao.github.io/timbre.js/beatbox.html">Beatbox-Beispiel</a> zeigt dieses Szenario.<br />Auf der Seite der <a href="http://mohayonao.github.io/timbre/">Vorgängerversion v12</a> finden sich weitere Beispiele.</p>]]>
</description>
<link>http://matthiasschuetz.com/timbrejs-klangsynthese-mit-html5-im-browser</link>
<pubDate>Tue, 14 May 2013 21:03:42 GMT</pubDate>
<dc:creator>Matthias Schütz</dc:creator>
<guid isPermaLink="false">tag:matthiasschuetz.com,2013-05-15:2a56271ccc925f63624dd8907c4522d8/2e47e7db6f2dd36a733b2ba50be1c4a6</guid>

<category>werkzeuge</category>
<category>entwicklung</category>
<category>flash</category>
<category>javascript</category>
<category>tipps</category>
<category>tricks</category>
</item></channel>
</rss>
