... ist dojo so wenig beliebt? zu viel gewicht? das ist zumindest bei mir der grund warum ich lieber mit prototype als js framework arbeite. jquery soll zwar an manchen ecken "einfacher" sein, aber bisher fehlte mir nichts bei prototype...
Wir sind von Dojo ueber Prototype zu jQuery gekommen und haben unsere JS-Entwicklung dadurch massiv beschleunigt.
Dojo war/ist ueberladen, fehlerhaft, inkonsistent, unheimlich verbose und hat(te) keine auch nur ansatzweise brauchbare Dokumentation. Prototype ist da wesentlich besser, wird aber nur sehr langsam weiterentwickelt und hat zeitweise unter Fehlern gelitten (IE8-Release). Wenn man sich mal an jQuerys kurze aber ausdrucksstarke Syntax gewoehnt hat, faellt es ohnehin schwer etwas anderes zu benutzen.
Was bei Prototype im Vergleich zu jQuery besonders nervt, ist die Unterscheidung zw. "Selektiere ein Element" ($) und "Selektiere mehrere Elemente" ($$) und davon abhaengig, ob Aktionen auf einer resultierenden leeren Menge einfach nichts machen oder crashen. JQuery ist eben einfach daraus ausgelegt, dass man kein, ein oder mehrere Elemente selektiert haben kann und das merkt man.
Da ich jetzt aber abschweife, reicht das erstmal von mir.
Genauso wars bei uns auch..
erst Dojo:
bringt styles mit, sieht schön aus, allerdings völlig überladen und langsam, schlechte doku
dann prototype.js
schlank, schlechte updatezyklen
jetzt jquery
kann alles, funktioniert, schön schlank, einfach zu benutzen
:)
@ja
Kann ich nur unterschreiben.
Dojo habe ich mir damals auch als erstes angesehen. Als ich dann von jQuery hörte und ein paar kleine Gehversuche unternahm, stand für mich sofort fest, dass Dojo nicht mithalten kann.
Alle Links in einem Dokument rot färben, mit einer Begrüßung versehen und darin zusätzlich die Linkadresse ausgeben:
$("a").click(function() {
alert( "Hi! Target URL: " + $(this).attr("href") );
}).css({
'color' : 'red'
});
Einfacher und übersichtlicher geht's halt nicht. ;-)
Und dann die ganzen Plugins...Herrlich! :)
yayoko schrieb:
--------------------------------------------------------------------------------
>
> $("a").click(function() {
> alert( "Hi! Target URL: " + $(this).attr("href") );
> }).css({
> 'color' : 'red'
> });
>
> Einfacher und übersichtlicher geht's halt nicht. ;-)
WTF? Selbst in C schreibe ich nicht solche verwurstelten Dinger, die kein Mensch mehr lesen kann. Ganz davon abgesehen, dass sowas und zwar zu recht, in jedem coding guide verboten wird.
Ja, sieht sch... aus, haste recht. Aber hier werden leider keine Tabs dargestellt. Sonst wäre es ein hübsches, lesbares Dinglein. Und das "verwurstelte" wird bei jQuery als "Chaining" bezeichnet. Ist in Wirklichkeit ein nettes Feature...
Naja, sei's drum.
Mitdiskutierer schrieb:
--------------------------------------------------------------------------------
> yayoko schrieb:
> ---------------------------------------------------------------------------
> -----
> >
> > $("a").click(function() {
> > alert( "Hi! Target URL: " + $(this).attr("href") );
> > }).css({
> > 'color' : 'red'
> > });
> >
> > Einfacher und übersichtlicher geht's halt nicht. ;-)
>
> WTF? Selbst in C schreibe ich nicht solche verwurstelten Dinger, die kein
> Mensch mehr lesen kann. Ganz davon abgesehen, dass sowas und zwar zu recht,
> in jedem coding guide verboten wird.
Du scheinst weder Ahnung von Fluent Interfaces noch von Closures oder Objektliteralen zu haben. Sprich: von JavaScript hast du keine Ahnung.
schön und schnell.
Operand schrieb:
--------------------------------------------------------------------------------
> schön und schnell.
heißt doch jetzt sencha ;-)
Wieso eigentlich immer diese infektiöse GPL und der Zwang die eigene Software ebenfalls unter GPL zu stellen?! Der Preis für die kommerzielle Lizenz (ab $729) finde ich ein Hammer. Wenn es unter einer LGPL-Lizenz wäre, könnte ich es mir ja überlegen, aber so ist es für mich ein NO-GO!
Da greife ich lieber auf jQuery (MIT-Lizenz) zurück und kann es auch in proprietäre Skripte schreiben bzw. ergänzen.
Ich stelle auch meine Skripte unter einer großzügigeren Lizenz wie z.B. BSD, MIT, LGPL u.s.w. Somit kann jeder meine Skripte unter eine anderen Lizenz in dessen proprietären Software weiter vertreiben. Das kommt auf jedenfall besser an und man bekommt auf diesem Wege auch mehr zurück als unter einer zwanghaften GPL-Lizenz.
GPL? Das war mal.
Freespacer schrieb:
--------------------------------------------------------------------------------
> Wieso eigentlich immer diese infektiöse GPL und der Zwang die eigene
> Software ebenfalls unter GPL zu stellen?! Der Preis für die kommerzielle
> Lizenz (ab $729) finde ich ein Hammer.
Das stimmt schon, aber für kommerzielle Produkte ist der Preis OK.
ExtJS hätte sich sicher viel schneller verbreitet, wenn das nicht wäre.
Andererseits wollen die Leute, die da alle Zeit (und noch mehr) reinstecken auch von was leben, so wie ich.
Ich habe null Ahnung von C, etwas Ahnung von JavaScript noch etwas mehr Ahnung von DOM und CSS und finde den Code absolut verständlich.
Ließe sich bestimmt auch für C-Naz*s etwas übersichtlicher gestalten, aber vermutlich sorgt die doppelte Verwendung von $("a") (für css()) dann auch für doppelt so viel Ausführungszeit und mehr click-Events, die verwaltet werden müssen.
Muss mir endlich mal jQuery reinziehen, scheint echt sexy zu sein.
etwas übersichtlicher geht so.
var links = $("a");
links.click(function() {
alert( "Hi! Target URL: " + $(this).attr("href") );
});
links.css({
'color' : 'red'
});
wer will kann noch sein Werk noch prototype-kompatibel machen
jQuery.noConflict();
jQuery(function($) {
...zeug
});
und in prototype:
$$('a').each(function(el) {
el.observe('click', function(evt) { alert('...' + el.href });
el.setStyle({'color':'red'});
});
Prototype hat bei immer noch die Nase vorn, wenn es um Klassen, Enums,etc geht.
Da ist es um einiges eleganter als jQuery
Hi(hi),
eigentlich habe ich den "dreckigen" Schnipsel (ähh, ich meine natürlich: Mein auf Fluent Interfaces, Closures und Objektliteralen basierendes Codesegment) nur mal in mein Posting eingebaut, um zu demonstrieren, wie ZackZack "sowas" mit jQuery gehen kann. Hätte ich mir in nem "Entwicklerforum" wohl mal besser schenken sollen...
Naja, lustig ist aber trotzdem, dass es hier nun eigentlich nur noch um "Code Conventions", "Ahnung haben", "Lizenzen" und "Konkurrenzprodukte" geht. DOJO? Nie gehört! :-)
<?php
exit();
?>
jQuery ftw!
jquery != dojo
was leider IMMER bei derartigen diskussionen vergessen wird ist, dass dojo nicht die selben ziele hat wie jquery. jquery bietet starke methoden um websiten aufzupeppen. es hilft bei dom-manipulation usw.
dojo hat hierfür natürlich auch methoden. jedoch die stärke und das eigentliche einsatzgebiet von dojo sind benutzeroberflächen. es stellt eine stabile und umfangreiche widget-bibliothek bereit mit der sich desktopartige web-applikationen realisieren lassen. für die jquery-user hier : jquery UI ... dass hier dojo jquery um längen vorraus ist kann wohl niemand abstreiten bei der bescheidenen auswahl von widgets in der jquery UI.
das beispiel von vorhin mit den links spricht doch für sich ... mach doch bitte mal mit der gleichen anzahl von zeilen einen DataGrid der die links auflistet? ;-)
auch wenn google das 10-fache an jquery tutorials als an dojo-tutorials ausspuckt, sind das so gut wie immer mit hilfe von jquery erzeugte controls die weder gewartet noch für alle browser getestet wurden. im gegensatz zu dojo-widgets(dijits) werden vom entwicklerteam getestet und gewartet.
noch ein paar worte zu "langsam" und "überladen" ...
es ist eben mehr notwendig als nur mal eben reinschnuppern und ein tutorial zu kopieren. dojo bietet extrem viele module. welche man selbst benötigt muss man selektieren und hat die möglichkeit durch den mitgelieferten js-compressor einen custom-build zu erstellen welcher um das hundertfache schneller ist als ein unkomprimiertes release mit allen modulen, welcher wohl von 90% der kritiker verwendet wird.
also bitte denkt darüber nach .. jquery = websiten; dojo = webapplikationen
yayoko schrieb:
--------------------------------------------------------------------------------
> @ja
>
> Kann ich nur unterschreiben.
> Dojo habe ich mir damals auch als erstes angesehen. Als ich dann von jQuery
> hörte und ein paar kleine Gehversuche unternahm, stand für mich sofort
> fest, dass Dojo nicht mithalten kann.
>
> Alle Links in einem Dokument rot färben, mit einer Begrüßung versehen und
> darin zusätzlich die Linkadresse ausgeben:
>
> $("a").click(function() {
> alert( "Hi! Target URL: " + $(this).attr("href") );
> }).css({
> 'color' : 'red'
> });
>
> Einfacher und übersichtlicher geht's halt nicht. ;-)
>
> Und dann die ganzen Plugins...Herrlich! :)
Ich stimme dem wuhi zum 100% zu. Dojo kann man mit dem Builder vielfach beschleunigen und ist sogar mit ie6 kompatibel. Ist universell einsetzbar ,wenn mann es kann und es ist ein Arbeitstier. Doku ist sehr schwer zu verstehen und man entdeckt immer wieder was Neues, wird sehr(zu) schnell und vielseitig entwickelt. Miese Editor unterstutzung, am besstens mit vi schreiben :) und keine Fehler machen. jQuery ist super wenn man schnell Halli Galli braucht.
Hab schon vergessen:
dojo.query("a").forEach( ...machwasduwillst... );
oder
dojo.query("a",container).onclick(function(e){ ...machwasduwillst... });
noch besser und für die Anfänger: ein klick auf einen der Elemente das eine der zwei klassen mit Eltern Element mit #xID (kann beliebige element oder Bild sein) hat, gibt dem irgendEinId Inhalt aus text.php
dojo.query(".redClass.blueClass","xID").onclick(function(e){
dijit.byId("irgendEinId").set('href','text.php');
}); Bis hier ist jQuery OK.
und wenn ich jetzt aus der DB was mit xhr auslesen wer was sehen darf und benutzerspezifische gui kreiren, daten bearbeiten und die Bearbeitung vereinfachen will? Das kann ich mit Dojo sehr konform und einfach mit zweizeiler über die Widgets machen....
Für die anspruchsvolle Datenverarbeitung ist Dojo Tool einfachste Lösung.
Kommentare: 172 | letzter Beitrag 22:36 Uhr
Kommentare: 94 | letzter Beitrag 26.05. 19:45
Kommentare: 79 | letzter Beitrag 22:43 Uhr
Kommentare: 71 | letzter Beitrag 22:20 Uhr
Kommentare: 63 | letzter Beitrag 23:15 Uhr
E-Mail an news@golem.de

Lockheed Martin hat eine neue Version des Exoskeletts Hulc vorgestellt, das es einem Menschen ermöglicht, schwere Lasten zu heben und zu tragen. Der Hersteller will das System im Spätsommer testen und, wenn alles gutgeht, danach an US-Soldaten in Afghanistan ausliefern.

Immer wieder zeigt Google seine Project Glass genannten Datenbrillen, ohne aber bislang konkrete Ankündigungen zu machen. Neben zahlreichen Fotos, die mit der Brille gemacht wurden, stellte Google nun auch ein erstes Video, das mit der Brille aufgenommen wurde, ins Netz.

Symantec hat sich zu den Aussagen der Bundesregierung geäußert, nach denen Geheimdienste in der Lage seien, SSH oder PGP zu knacken oder zu umgehen. Mathematisch gesehen sei kein wirksamer Angriff bekannt.

Renesas ist nach Elpida der zweite schwer angeschlagene japanische Chiphersteller. Renesas, das Hitachi, Mitsubishi Electric und NEC gehört, macht Verlust und will seine größte Fabrik verkaufen.

RIM soll in den kommenden Tagen erneut einen massiven Stellenabbau ankündigen. "Ich habe herausgefunden, welche Teile ich in meinem Puzzle nicht mehr benötige", sagte Firmenchef Thorsten Heins.

Ein britisches Blog will erfahren haben, dass Facebook den norwegischen Browserhersteller Opera Software kaufen will. Beide Unternehmen wollen sich dazu nicht äußern.