mmofacts.com

Google JavaScript-Werkzeuge

gepostet vor 14 Jahre, 6 Monate von Murmeli

Hi,

das ist ja schick. Das werd ich bei gelegenheit direkt mal ausprobieren :)

gepostet vor 14 Jahre, 6 Monate von knalli

Original von Murmeli

Hi,

das ist ja schick. Das werd ich bei gelegenheit direkt mal ausprobieren :)

Auf Anhieb gefällt mir der "Closure Compiler" besser als der YUI-Compressor, zudem er - scheinbar - besser kompiliert. Irgendwer ebenfalls Erfahrungen? Leider hat er ein paar Probleme mit Codekommentaren (bzw. entsprechenden "JsDoc"-Annotationen).

Das Firebug-Plugin hat mich bisher funktional nicht überzeugt - wo ist da der echte Vorteil zu vorher? Abgesehen der offensichtlichen Tatsache, das er den minified/compressed Sourcecode über die Map-Dateien wieder "sichtbar" zu machen, habe ich da noch keine nennenswerten Unterschiede feststellen können.

gepostet vor 14 Jahre, 6 Monate von Phoscur

Schaut nicht schlecht aus. Jetzt weiß ich allerdings überhaupt nicht mehr welches JavaScript Framework ich nehmen soll.

gepostet vor 14 Jahre, 6 Monate von Kampfhoernchen

Am besten ein Framework dass schnittstellen zu allen Frameworks bietet, so kann man problemlos das Framework tauschen ;)

gepostet vor 14 Jahre, 4 Monate von phi

fein fein, muss ich mal ausprobieren...

gepostet vor 14 Jahre, 4 Monate von Phoscur

Original von Kampfhoernchen

Am besten ein Framework dass schnittstellen zu allen Frameworks bietet, so kann man problemlos das Framework tauschen ;)

Ehrlich gesagt bin ich wirklich dabei einzelne Komponenten unabhängig von einem Framework zu schreiben. Falls ich dann mal ein Stückchen jQuery (immer noch mein Favorit) benötige gehe ich trotzdem einen Umweg über meinModul.tollerNameFuerBenoetigteFunktion, was ich dann halt in einer Art Konfiguration mit dem jQuery Feature belege. Das ließe sich aber leicht gegen ein ähnliches oder gleiches Feature eines anderen Frameworks austauschen..

gepostet vor 14 Jahre, 4 Monate von knalli

Original von Kampfhoernchen

Am besten ein Framework dass schnittstellen zu allen Frameworks bietet, so kann man problemlos das Framework tauschen ;)

Beispiel: Der ExtJS Core (Base). Man hat die Wahl zwischen ExtBase, jQuery, Prototype und mW mootools.

gepostet vor 14 Jahre, 4 Monate von Phoscur

Okay. Dann halt so. Spricht etwas gegen meine Auslegung? Dass das aufwendig bei Verwendung von vielen verschiedenen Features wird, das ist mir klar. Trotzdem macht es doch Sinn Module unabhängig von Frameworks zu entwickeln? Okay, das ist dann jetzt wohl OT, sehe aber nicht genügend Anlass, dazu einen neuen Topic aufzumachen...

gepostet vor 14 Jahre, 4 Monate von TheUndeadable

@Phoscur:

Eine Abstraktion hat meist die Folge, dass du auf den niedrigste Funktionalität aller abstrahierten Frameworks gehen musst.

Ähnlich der Gleichberechtigung: Man senkt das Niveau soweit, bis alle die gleichen Chancen haben

Da man gute Frameworks auch parallel nutzen kann, hast du auch ein schönes Migrationsszenario, falls dir ein Framework eine bestimmte Funktionalität nicht mehr bietet.

Die 1-Mann-Abstraktionsschicht führt meist auch dazu, dass du zwar abstrahierst, aber so krass gegen ein Framework abstrahierst, dass es schwierig wird andere Frameworks zu abstrahieren. Allein deswegen, weil du dich während der Entwicklung meist nur mit einem Framework beschäftigst.

Ich persönlich würde es lassen.

Zwiebelbauen ist nicht sonderlich sinnvoll...

Ansonsten würde ich mir auch noch eine Meta-Sprache entwickeln, die dein Skript automatisch in PHP|Perl|Ruby umformt, so dass du auch die Programmiersprache bei Bedarf wechseln kannst ;-)

Zusammengefasst:
Durch Abstraktion sammelst du meist alle Nachteile aller Abstrahierten und verzichtest auf Alleinstellungsmerkmale.

gepostet vor 14 Jahre, 4 Monate von Phoscur

Okay, bevor du mich jetzt für meine Idee verurteilst, hier wie ich das gemacht habe.

JavaScript:

// configuration example with jQuery and the language-getter I've written
Template.Getter.request = jQuery.get; // function (url, callback)
Template.transform = jQuery; // function(html).appendTo(node)
Template.getLang = getLang; //
Template.Exception = Exception;

Bisher ist das in einem Rahmen, wo man jQuery leicht austauschen könnte, wobei man einen vielleicht einen kleinen Adapter zwischenschalten muss.

Zudem habe ich ja gar nicht vor die Idee auszureizen. Wenn ich ein spezielles Framework verwenden will, das mache ich das auch ohne Rücksicht ob Austauschbarkeit.

Diese Idee bietet aber auch noch einen weiteren Vorteil: Man kann eigene Methodennamen bestimmten, die besser zum Kontext passen.

gepostet vor 14 Jahre, 4 Monate von buhrmi

Das sind aber alles Ideen der JavaScript-Erfinder und nicht deine :P

gepostet vor 14 Jahre, 4 Monate von Phoscur

Aha? Dann tut es mir Leid, dass ich sie als meine bezeichnet habe. Abgeschrieben hab ich das allerdings nirgends.. Kannst du dich expliziter ausdrücken?

gepostet vor 14 Jahre, 4 Monate von TheUndeadable

Als Abstraktion würde ich das nicht bezeichnen.

Höchstens als Schnellzugriff/Shortcut auf die Methoden.

Eine gute Abstraktion abstrahiert unter anderem die Methodensignatur. Das tust du nicht. Du gehst davon aus, dass alle Frameworks die gleiche Methodensignatur besitzen.

http://de.wikipedia.org/wiki/Methodensignatur

gepostet vor 14 Jahre, 4 Monate von buhrmi

Original von Phoscur

Aha? Dann tut es mir Leid, dass ich sie als meine bezeichnet habe. Abgeschrieben hab ich das allerdings nirgends.. Kannst du dich expliziter ausdrücken?

Naja du kapselst einfach Funktionspointer in ein JS Objekt. Das ist ein Feature der Sprache und sehr Ideenreich ist das jetzt irgendwie nicht *g*

Ich würde auch nicht daherlaufen und sagen hey ich hab eine tolle Idee: Anstatt überall den Wert 5 zu schreiben benutz ich einfach eine Konstante mit dem Wert 5. Ist halt ein Sprachfeature, mehr nicht.

Eine echte Abstraktion hättest du, wenn dein Objekt eine eigene API zur Verfügung stellt, welche wiederum die konfigurierten Frameworks aufruft. Z.B. Template.DOM.animateMyObjectAlongAPath(obj, pathObj) , und diese Funktion ruft widerrum die entsprechenden jquery oder scriptaculous etc funktionen auf.

gepostet vor 14 Jahre, 4 Monate von Phoscur

Ich soll einen Adapter (oder eben eine Abstraktionsschicht) schreiben, obwohl ich noch gar keinen brauche? Die Methodensignatur lässt sich doch leicht ändern in JavaScript (ja buhrmi, wenn du das meinst mit den Ideen der Entwickler, dann hast du wohl recht).

Hatte ich das jetzt als geniale Idee angepriesen oder warum müsst ihr deshalb so rumflamen?

Was ihr vorschlagt, ist dass ich quasi eine eigene andere API für DOM, Effekte etc. zwischenschalten könnte? Yeah, just another API to learn. Da nehme ich lieber die selben Methodensignaturen wie jQuery und schreibe ein paar Adapter, wenn ich denn doch wechseln will.

Das Konstrukt hat auch noch einen Vorteil: Die Module können gleichzeitig geladen werden um erst danach verknüpft zu werden. Man könnte sogar zur Laufzeit das Framework tauschen, wofür auch immer das gut sein sollte^^.

gepostet vor 14 Jahre, 4 Monate von buhrmi

ok

Auf diese Diskussion antworten