Das vorherrschende Sommerloch veranlasst die Working Draft Crew zu einer Spezialrevision: Peter, Anselm und Stefan geben sich in rekordverdächtigen 8 Minuten die Klinke in die Hand und klappern die Eckpfeiler unseres Newspodcasts ab, bevor wir die Tür und Tor für ein ausgedehntes Face To Face Gespräch rund um Ember.js öffnen. Dazu eingeladen sind Runtastic Mitarbeiter und Stahlstadt.js Organisatoren Clemens Müller, Michael Klein, Jakob Lehner und Manuel Mitasch. Viel Spaß!
[00:00:36] News
- Opera Mini auf iOS
- Opera hat die neue Version ihres Mini-Browsers für iOS veröffentlicht und mit dem Turbo Mode ein neues, sehr spannendes Feature entworfen: Anstatt wie bislang die gesamte Seite auf den Presto-Servern des norwegischen Browserherstellers vorrendern zu lassen, kann man nun in unterschiedlichen Qualitätsstufen die Bilder reduzieren. JavaScript und CSS wird wie im hauseigenen Safari interpretiert.
[00:02:00] Keine Schaunotizen
- A Look At preserveAspectRatio in SVG
- Sehr anschaulich und mit vielen Insights erklärt Joni Trythall wie man das Seitenverhältnis in SVG steuert.
- Velocity.js
- Schneller als CSS3 und so komfortabel wie jQuery.animate? Velocity.js machts möglich.
- Grid Layouts in CSS3
- Sehr anschauliche und unmfassende Präsentation zu CSS3 Grid Layouts.
- Installable Web Apps
- JavaScript-Doktor Rauschmayr zeigt den aktuellen Status von installierbaren Web Applikationen unterschiedlichster Plattformen auf.
[00:07:34] Ember.js Interview (Schaunotizen)
- Ember.js
- Nach dem letzten Linzer JavaScript Meetup — stahlstadt.js — konnte Stefan die Organisatoren zu einer sehr ausführlichen Diskussion rund um das Ember.js Framework gewinnen. Wir erfahren, was Ember mit „ambitionierten Web-Applikationen“ meint, welchen Zusammenhang es mit Ruby/Ruby on Rails gibt und welche Prinzipien hinter dem JavaScript Toolset stecken. Außerdem wird aus dem Nähkästchen geplaudert, wie Ember mit Hilfe der Community in die Administrationsoberfläche von Ghost gewandert ist. Bei der nicht unbedingt flachen Lernkurve haben wir ausserdem noch eine Menge Tipps und Informationen für Einsteiger parat!
- Ember-CLI
- Ein ganz eigener Projektgenerator für Ember in Form einer hübschen Command Line.
- Ember.js Codeschool
- Zwar kostenpflichtig, aber laut Expertenmeinung immer noch der beste Kurs zu Ember.
- Ember.js Unit Tests
- Die Ember.js Unit Tests geben guten Einblick in die zahlreichen Features des Frameworks.
- Ember.js Tutorial Video
- Toller Einstieg, der einige Basisfeatures zeigt.
- Getting Started with Ember
- So wünscht man es sich: Die offizielle Doku ist immer noch die Beste.
- Hello Ember
- Wie und warum die Blogging-Plattform Ghost sich für Ember entschieden hat. Inklusive Link auf eine der schönsten Github Diskussionen
Kommentare
Sebastian Basner #
Geschrieben am 14.07.2014 um 10:21
Eine durchweg interessante Episode, allerdings hätte ich gern ein wenig genauer gehört wie sich Ember denn jetzt von Angular abgrenzt und was konkret die Anwendungsfälle für das eine und das andere Framework sind bzw. warum.
Zu runtastic selbst muss ich leider sagen das ich das nicht mehr für unterstützenswert halte seit das ganze von Springer gekauft wurde. Ich bin danach relativ schnell zu was anderem gewechselt weil ich mir schon schlecht vorkam die App zu öffnen. Eigentlich schade denn das Team wirkt kompetent und sympathisch, aber Springer ist einfach ein no go.
Stefan #
Geschrieben am 15.07.2014 um 10:09
Joa, wir haben uns bewusst gegen einen direkten Ember/Angular Vergleich entschieden und gehofft das ganze kann man aus dem Gespräch raushören :-) V.a. weil wir jetzt auch nicht sooo die Angular-Experten sind. So wie ich allerdings beide Frameworks kennengelernt habe, würde ich mal folgende Behauptung aufstellen: Ember ist sehr opinionated, d.h. du hast einen sehr bestimmten Weg wie deine Applikation zu stricken ist. Diesen Weg kann man verlassen, allerdings tut man sich selbst nichts gutes dabei. Der Benefit: Der Weg ist dafür mit Gold gepflastert und man bringt dich in einer Sänfte ans Ziel, sprich: Du hast halt alles da, was man brauchst und kommst mit einem Minimalaufwand zu einem genialen Ergebnis. Bestes Beispiel die ‚loading‘ Route: Einen Ladebildschirm anzuzeigen, während man auf Daten wartet, kostet dich in Ember original *gar* nichts. Das ist ein Template, mehr nicht. Haupteinsatzgebiet sind jedwede Administrationsmasken und Applikationen, bei denen man sich den Mühe der Defaults nicht mehr machen will, sondern einfach loslegt.
So, wie ich Angular kennengelernt habe, gehen die dort doch in eine ganz andere Richtung: Angular ist ein Baukasten, aus dem man mit guten Werkzeugen schnell was zusammenzimmern kann. Ein Toolset, aber ohne Defaults (?) und sehr frei zu verwenden. Das ist auch etwas, was mir Robin zum Beispiel immer bestätigt: Du kannst mit Angular extrem viel machen, aber wenn du nicht weißt worum’s geht halt auch extrem viel falsch. Dafür bist du nicht eingeschränkt und kannst vom kleinen Widget beginnend bis zur riesigen MVVM App alles damit stricken. Ich kann mir durchaus vorstellen, dass für viele Use Cases Angular eine Alternative zu jQuery und Co. sein kann und diese Anwendungsfälle viel besser damit umgesetzt werden können. Außerdem zwingt dich Angular früher oder später in abgekapselte Komponenten zu denken, das ist immer ein Plus.
Das sind zumindest meine Eindrücke davon, muss aber auch sagen, dass ich bei beiden sicher erst an der Oberfläche gekratzt habe und sicher nicht so tief drin bin, wie die Profis ;-)
Michael (@LevelbossMike) #
Geschrieben am 15.07.2014 um 10:35
@Sebastian
Danke für das „sympathische Team“. Seit der Übernahme hat sich bei uns nichts geändert, du kannst also weiterhin die Apps und unsere Homepage guten Gewissens verwenden.
Zu deiner Frage:
Stefan hat das schon ganz gut zusammengefasst. Ember ist ein ‚Framework for building ambitous Web-Applications‘, Angular ist ein ‚Framework for building a Framework‘. Bedeutet: Ember gibt dir Conventions, Angular ist flexibler, dadurch kannst du dich aber auch in einem Eck verrennen und du baust im Grunde wieder dein eigenens In-House-Framework wenn du es verwendest.
Das kann man wollen, ich bezweifle aber dass es der richtige Weg ist wenn du eine wirklich große Applikation hast, an der ein Team arbeitet. Conventions sind für mich eines der Hauptargumente für Ember. Neue Leute können leicht ins Projekt einsteigen und du hast etwas an dem du dich orientieren kannst ob neuer Code an der richtigen Stelle ist (Stichwort Separation of Concerns).
weitere Links zum Thema:
* die verlinkte Diskussion über die Zukunft von Ghost weiter oben
* https://twitter.com/ebryn/status/435604583495106560 (das verlinkte Video)
Wenn du weitere Fragen hast, meld dich einfach bei mir, ich helfe gern.
LG
Michael
Manuel (@manuel_mitasch) #
Geschrieben am 15.07.2014 um 12:29
Michael hat schon ganz gut die Conventions hervorgehoben. Es ist wirklich unglaublich um wieviel produktiver man dadurch wird, weil einem viele triviale Entscheidungen (zB. Namenskonventionen) abgenommen werden.
Wenn du dich mehr für die technischen Unterschiede interessierst hier noch ein paar Ressourcen:
* ng-emberenos Talk von Alex Matchneer (Ember Core Team): Slides https://docs.google.com/presentation/d/1e0z1pT9JuEh8G5DOtib6XFDHK0GUFtrZrU3IfxJynaA/edit#slide=id.g177e4bd2b_0298 oder Video https://docs.google.com/presentation/d/1e0z1pT9JuEh8G5DOtib6XFDHK0GUFtrZrU3IfxJynaA/
* Blog Serie von Ben Leash (vormals Angular Dev, der durch seinen Job bei Jahoo! jetzt an deren Ember Apps arbeitet) http://www.benlesh.com/2014/04/embular-part-1-comparing-ember-and.html
Wesentliche Unterscheide für mich:
* Conventions steigern Produktivität
* Embers URL first approach!!
* Ember Router ist extrem mächtig mit einer tollen DSL. Unterstützt visuell (beliebig tief) genestete Subroutes.
* Embers Standardsaffinität: ES6 Module, Ember Components sind API kompatibel mit Web Components (können in Zukunft leicht ausgetauscht werden)
* Ember besteht aus Microlibraries. Die Implementierung kann ausgetauscht werden und dadurch bekommt man wie im Falle von Handlebars => Htmlbars extreme Performanceverbesserungen. Angular wird derzeit für Version 2.0 auch mit Microlibraries entwickelt.
* Angular verwendet POJOs. Ember ein mächtiges Objekt/Klassensystem (Vererbung + Mixins).
* Community!
Zukunftsmusik:
* Htmlbars: Neue Template-Engine. Syntax bleibt kompatibel. Performance wird wenn man den veröffentlichten Benchmarks glauben darf, mit deutlichem Vorsprung die beste am Markt. Wird in einer der nächsten Releases (alle 6 Wochen) kommen. Ist schon jetzt mit der metal-views branch verwendbar. Dadurch entfällt auch die JQuery Dependency.
* Query Parameters: First class support für QueryParams mit sehr schöner API. Bis der in anderen Frameworks sinnvoll kommt wird es wohl noch dauern.
* Dank ES6 Modulen wird es möglich sein nur die Teile von Ember einzubinden die für die App benötigt werden.
Wenn du weitere Fragen hast kannst du mich auch gerne anschreiben.
RSS-Feed zu diesem Beitrag
Kommentare sind für diesen Beitrag geschlossen.