Tag Archives: perfmatters

Quick-Hints #13

Animiertes SVG mit Clipping Masks

Mit dem nötigen Talent oder dank einer engen Zusammenarbeit mit Grafiker, können dank Clipping Mask sehr einfach sehr coole Animationen mit SVG entstehen. So wird in folgender Demo ein iPhone 5C nach und nach aufgebaut, alles im puren SVG: http://www.pencilscoop.com/demos/animating-svg-clipping-masks/; dort findet ihr auch das entsprechende Tutorial.

Canvas für mehr Performance?

Continue reading

Quick-Hints #12

Repository for Web Components

Für die Web Components (W3C Working Draft) gibt es mit customelements.io eine Sammlung von vielen netten Custom HTML-Elementen. Das ganze ist ähnlich einem NPM (Node) oder Nexus (Java) aufgebaut. Die Web Components bieten (dank Polyfill auch heute schon), die Möglichkeit – wie es der ein oder andere von euch (in ähnlicher Form) schon aus AngularJS kennt -, das Spektrum an HTML-Elementen zu erweitern. So findet sich auf der Website zum Beispiel ein Calendar-Element, welches durch einfache Benutzung des Tags

<x-calendar view="2013-06-09"></x-calendar>

einen Kalendender in eure Website zaubert. Natürlich ganz normal mit CSS stylebar. Viele weitere Elemente und Informationen könnt ihr auch unter x-tags.org finden.

#perfmatters

Performance im Front-end ist immer wieder ein Thema auf meinem Blog. Vor allem beim Scrollen von Webseiten gilt immer wieder die Herausforderung, die 60 FPS zu halten. Mittlerweile gibt es sehr viele Kniffe und Hinweise, wie einem das gelingen kann. Ein guter Artikel zu diesem Thema ist hier zu finden: Continue reading

Quick-Hints #10

Yay Jubiläum

#perfmatters

#perfmatters ist ein beliebtes Thema derzeit auf meinem Blog. Hier hinzufügen möchte ich noch ein paar Slides von Addy Osmani mit Case-Studies und weiterem Hintergrundwissen zur Erhöhung der Rendering-Performance im Browser. Es kommt aber nicht nur auf die Geschwindigkeit beim Rendering an, auch der Weg vom Server zum Browser muss bedacht werden. Google Mitarbeiter Ilya Grigorik hat einiges tief gehendes Wissen zu “High Performance Browser Networking” in einer Präsentation verpackt und kann dir so auch in diesem Gebiet zu besserer Performance deiner WebApp verhelfen. Vor allen bei mobilen Webseiten ist die Latency ein großes Problem. Ein CDN kann hier zumindest ein wenig Milderung verschaffen.

Wenn du zukünftig die Veränderungen deiner Performanceoptimierung tracken willst, kannst du dies mit Google Analytics machen. Am besten fügst du hierfür vor:

Continue reading

Quick-Hints #9

JavaScript Tutorials

Promise Cartoon by Wilf Eddings

Promise Cartoon by Wilf Eddings / @iamwilf

Wie so häufig in den Quick-Hints; ein paar JavaScript Tutorials. Im letzten Quick-Hints hatte ich schon ein CheatSheet zum Thema Promises verlinkt, jetzt hab ich noch etwas gefunden, was ich unbedingt noch hinzufügen möchte: Ein Cartoon, der sehr anschaulich Promises erklärt.

Ich gehöre nicht zu den riesen Fans von AngularJS, aber in Verbindung mit der detaillierten Erklärung, wie man ChromeApps entwickelt, ist ein dabei ein gutes “ChromeApp mit AngularJS entwickeln” Tutorial herausgekommen.

StartUp-Doku

Jetzt noch zwei Dokumentationen zum Thema StartUp / Firmengründung. Bei startingupinamerica.com ist eine Doku zu finden, in der USA-Einwanderer von Ihrer Business-Story berichten und die Vorteile für ihr neues Land verdeutlichen. Umgekehrt werden hier auch die Vorteile eines StartUps in Amerika gegenüber anderen Ländern aufgezeigt.

Das folgende YouTube-Video ist die Hintergrundgeschichte zu Minecraft. Es erzählt ein wenig über die Entstehung von Mojang, der Firma hinter Minecraft und rund um den Entwickler notch.

#perfmatters

Wenn du als PHP- oder Java-Entwickler aus der (standardmäßig) blockierend Input/Output Welt kommst, solltest du dich bei JavaScript (nodeJS) relativ schnell mit dem Thema non-blocking IO beschäftigen und dazu hier der passende (englische) Einstieg: Zen of non-blocking IO. Als Bonus gibt es dort auch eine schöne Übersicht, was einen WebServer ausmacht.

Um die Performance seiner Webanwendungen verbessern zu können, ist es essentiell, dass du verstehst, wie ein Browser arbeitet und funktioniert. Genauer, wie stellt der Browser deinen HTML und CSS Code dar. Auf Youtube habe ich hierzu ein nettes Einstiegsvideo “How Browser Works” gefunden, vier Minuten und die Basics sind klar. Wenn du über diese Basics hinaus bist, musst du UNBEDINGT dieses Experten-Video sehen. 51 Minuten geballtes Wissen über Rendering-Performance und wie diese in deiner WebApp gesteigert werden kann. Den Speaker anschließend noch folgen: Google Mitarbeiter Paul Lewis auf Twitter.

Quick-Hints #7

Als Webentwickler muss man sein Produkt ständig in mehreren Browsern und am besten noch in mehreren Umgebungen testen. Hier eine schöne Möglichkeit: http://blog.mattbailey.co/post/50337824984/grunt-synchronised-testing-between-browsers-devices

Mit SVG-Grafiken in Webseiten kann man viele schöne Dinge anstellen. Zum Beispiel ein Logo / eine Schrift animieren: http://jakearchibald.com/2013/animated-line-drawing-svg/

Ein paar nette CSS3 Effekte für Menüs / Links sind unter folgendem Link zu finden: http://tympanus.net/Development/CreativeLinkEffects/. Um diese auch in vielen Browsern nutzen zu können, empfiehlt sich der Einsatz eines Autoprefixers, zum Beispiel: http://css-tricks.com/autoprefixer/

Für Fälle, in denen man das letzte Element eines Arrays möchte, gibt es viele Möglichkeiten. Wenn man wert auf die Performance legt sollte man ganz klar “array[array.length – 1]; benutzen. Siehe: http://jsperf.com/get-last-item-from-array/10