2010-07-09 8 views
13

Chcę wiedzieć, co myślicie o tych 2 ram, w kategoriach:Dojo vs YUI javascript ramy

  • solidności,
  • jakość kodu,
  • rdzeniowe deweloperzy naprzód z nowymi funkcjami,
  • krzyż problemy przeglądarki,
  • elementy modułowe,
  • najłatwiejszy do nauczenia się i integrować

już wiem i używać jQuery, niedawno okazało się, że brakuje w kategoriach „przedsiębiorstwo” gotowych komponentów do dużych aplikacji internetowej.

Teraz nie chcę zaczynać debaty na temat jquery, lub dlaczego nie ma tam mootools, chcę wiedzieć, co myślicie o tych dwóch frameworkach.

Dzięki!

+0

Można zobaczyć Yahoo konstrukcja i funkcjonalność strona główna zdecydować, czy iść z YUI lub nie .. – Exception

+0

Biblioteka YUI nie jest już aktualizowany. Więcej informacji tutaj: https://yahooeng.tumblr.com/post/96098168666/important-announcement-regarding-yui – GibboK

Odpowiedz

24

Oświadczenie: Ja committer Dojo.

Jakoś nikt nie przedstawił strony Dojo w tym porównaniu — to nie jest porównanie bez niego, prawda? Pozwól mi przejrzeć twoje punkty.

Solidność

Dojo jest używany w wielu projektów IT przez dużych międzynarodowych korporacji. Osobiście uczestniczyłem w projektach dla VMware, IBM, Cisco, Reuters Thomson, aby wymienić tylko kilka. Zamiast przesyłać Cię do "literatury marketingowej", mogę wyświetlić listę rzeczywistych autorów: http://docs.dojocampus.org/developer/contributors — przewiń w dół, aby zobaczyć firmy, które przyczyniają się (i używają) Dojo.

Utrzymujemy listę indywidualnych i korporacyjnych autorów, więc nasi użytkownicy mogą być pewni, że linia IP kodu Dojo jest czysty — każdy specjalista podpisuje CLA stwierdzając, że on/ona/on napisał przyczyniło kodu i/lub posiada prawo do wniesienia go na podstawie podwójnej licencji AFL/BSD. Do tej pory nie mieliśmy z tym żadnych problemów.

O ile mogę powiedzieć, że YUI jest w większości rozwijany przez jedną firmę: Yahoo! YUI started to accept external contributions only two years ago jest rozwijany od 2005 roku i teraz wymaga również CLA.

Nie jestem ekspertem rynku akcji, ale coś jest zawsze z Yahoo !: jeden dzień próbuje ukształtować sojusz z Google, następnego dnia zabija swoją działalność wyszukiwarki i odchodzi z Microsoftu, nawet selling the whole company to Microsoft was discussed back in 2008 — kto może przewidzieć, co to zrobi jutro. Teraz w 2010 roku, the share price went down since 2008 — czy będzie ponownie dostępny? OTOH niektórzy twierdzą, że Microsoft byłby lepszą matką dla YUI, jeśli zdecyduje się ją zatrzymać. Z drugiej strony Microsoft ma swoje własne właściwości oprogramowania i nie jest zwolennikiem projektów JavaScript o otwartym kodzie źródłowym.

W przeciwieństwie do YUI Dojo jest wspierana przez kilka firm, z których IBM jest najbardziej wpływowym — zatrudnionych zostało kilku znaczących zleceniodawców. Chociaż Dojo ma silne wsparcie korporacyjne, to nadal jest projektem kierowanym przez społeczność. Jeśli jakakolwiek firma, a nawet kilka firm będzie doświadczać czkawki na rynku, nadal będziemy się rozwijać.

Dojo jest dystrybuowane pod podwójną licencją AFL/BSD i bezpłatne dla wszystkich zastosowań. Wszystkie oficjalnie wydane wersje Dojo są obsługiwane przez AOL i Google CDN.

jakość Kod

jestem stronniczy :-) i uważam kod być bardzo dobrej jakości. Ponieważ program Dojo jest projektem o otwartym kodzie źródłowym, zawsze możesz go osądzić i ulepszyć, jeśli masz na to ochotę.

Kod źródłowy jest przechowywany w Subversion z oficjalnymi lustrami przechowywanymi na Github (git) i Bitbucket (hg). Dla wygody istnieje lustro na Launchpad (bzr).

deweloperzy rdzeniowe naprzód z nowymi funkcjami

Dojo ma aktywne żywą społeczność, która trzyma koło porusza tak powiem. Będąc jednym z głównych programistów zapewniam was osobiście, że będziemy dalej posuwać się naprzód, popychając przysłowiową otoczkę jeszcze dalej.

Dojo ma udokumentowaną historię innowacji i nie zamierzamy się zatrzymywać.

krzyżowe problemy przeglądarka

Obecnie Dojo 1.4 supports following browsers:

  • Firefox 2 wsparcie spadła. Obsługiwane są przeglądarki Firefox V3 i V3.5.
  • Najnowsze wersje Safari (Safari v4) i najnowszej wersji Chrome (Chrome v3), ale nie wersje wcześniejsze.
  • Wszystkie obsługiwane IE6, IE7, IE8.
  • Najnowsza Opera (Opera v10) (tylko rdzeń Dojo).

Nadchodzący Dojo 1,5 (ukaże się w ciągu kilku dni) została przetestowana w przeglądarkami

  • Firefox 3,5/3,6
  • Safari 4/Safari 5 i chrom 5
  • IE6, IE7, IE8
  • Opera 10.53 i później (tylko Dojo rdzeń)

Aby Highlig Różnice między przeglądarkami klasy A firmy YUI:

  • Dojo obsługuje system Linux oprócz systemu Windows i komputerów Mac.
  • Dojo obsługuje Google Chrome na wszystkich obsługiwanych systemach operacyjnych.
  • Dojo obsługuje Firefoksa na wszystkich obsługiwanych systemach operacyjnych.
  • Dojo Core obsługuje Operę na wszystkich obsługiwanych systemach operacyjnych.

Osobiście mogę dodać, że jeszcze przetestować dojox.gfx (pakiet graficzny cross-platform) na Firefoksie 2 — wiąże Dojo rdzeń i działa zgodnie z oczekiwaniami. Testuję Dojo Core w kilku egzotycznych przeglądarkach, takich jak Midori.

Kolejną różnicą jest to, że Dojo może być używane (i używane) w środowiskach biurowych i serwerowych. Oczywiście poszczególne komponenty przeglądarki nie są używane przez te środowiska.

elementy modułowe

od pierwszego dnia Dojo warunkiem klas, moduły i pakiety (zbiorach modułów). Dijit udostępnia widżety: spakowany HTML + JavaScript z ujednoliconym interfejsem.

Wszystkie klocki są narażone na użytkowników, dzięki czemu mogą one tworzyć własne komponenty, które będzie 1 st obywatele klasy: mogą być ładowane jak wszystkie inne moduły, przetwarzane przez producenta (śledzone zależności, minified, CSS wstępnie przetworzone itd.), nawet egzotyczne kompilacje CDN mogą być wykonane przez użytkowników. Wszystko, co możesz zrobić z zapasowymi komponentami Dojo, które możesz wykonywać za pomocą własnych komponentów.

sam Dojo jest podzielony na 3 podprojektach, które mogą być stosowane oddzielnie:

  • Dojo (włączając Dojo zasady jako pojedynczy plik)
  • Dijit: zbiór widgetów
  • DojoX: jeszcze widżety i ~ 50 pakietów obejmujących wszystko od wykresów międzyplatformowych po szyfrowanie.

najłatwiejszy do nauczenia się i integrować

Dojo jest po prostu JavaScript i regularne HTML/DOM (widgetów). Nie udaje, że jest czymś innym, nie jest kultem z fuhrerem na czele, nie jest "ramą", która przejmuje kontrolę nad twoją aplikacją i zmusza cię do robienia dziwnych rzeczy, Dojo nie chce " poprawić "" niedoskonałe "JavaScript, Dojo nie chce maskaradować przeglądarki, aby była czymś innym. Zamiast tego Dojo zapewnia praktyczne narzędzia, które zwiększają produktywność programisty, ułatwiają korzystanie z RAD, rozwiązują typowe problemy oraz wspierają przydatne techniki i metodologie.

Każdy doświadczony programista zwykle ma mini-bibliotekę rzeczy, które dobrze sprawdziły się w poprzednich projektach. On lub ona wie, czego unikać i czego używać. To "kliknęło" w moją głowę, gdy zdałem sobie sprawę, że Dojo jest tą biblioteką na sterydach —, podobnie jak kilku ekspertów zebrało się razem i starannie połączyło swoje osobiste biblioteki. Oczywiście, ma wiele różnych modułów, ale mogę używać tylko tego, co chcę dla mojego konkretnego projektu. — Nie jestem zmuszony używać wszystkiego i nie płacę za rzeczy, których nie używam. Nawet kary abstrakcji.

Jeśli znasz JavaScript i znasz HTML, CSS i DOM —, będziesz w domu.

+1

Jak zawsze, Eugene, dobrze ułóż. –

9

Myślę, że powodem odrzucenia jQuery brzmi podejrzanie, i polecając ramy jako „przedsiębiorstwo gotowe” to odlew komplement w mojej książce.

Jednak mam dużo doświadczenia z YUI (2 i 3) i myślę, że może zmieścić się przypadków użycia.

  • Solidny - YUI jest używane wewnętrznie przez Yahoo, więc powinno dać pewne wskazówki co do jego solidności.
  • Kodeks Jakości - jestem uczestnikiem projektu, a jakość kodu jest bardzo dobra. Ponieważ jest to open source, możesz take a look for yourself.
  • Moving Forward - jest ona wspierana przez Yahoo (ale zawiera również wkład Wspólnoty), więc do przodu jest dość bezpieczny. Ponownie możesz samemu uzyskać track development and community involvement.
  • Przeglądarka krzyżowa - obsługuje wszystkie moduły Yahoo A-grade browsers
  • - jest tona, a (szczególnie w YUI 3) można łatwo wprowadzić tylko te elementy, których potrzebujesz. Jeśli potrzebujesz głównie modułów GUI, nadal będziesz musiał wymieszać trochę YUI 2 (co jest łatwe do zrobienia). Widgety w YUI3 już wkrótce.
  • Łatwy do nauki i integrować - YUI ma prawdopodobnie best documentation dowolnej biblioteki JS widziałem. Jednak YUI 3 jest bardzo opiniotwórczy, jak piszesz swój javascript. Jest pozytywnie oceniany i daje ci dużo pieniędzy za swoje pieniądze, ale aby po prostu "wpaść" do istniejącego projektu, YUI 2 może być łatwiejsze.
+2

dobrze, ja nie odrzucając go za powiedzmy Właśnie znalazłem jQuery UI brakuje niektórych funkcji muszę, i innych wtyczek nie są tej samej jakości co rdzeń jQuery. –

+1

To prawda. W widżetach YUI znajdziesz bardziej spójną jakość i dokumentację. Po prostu preferuję prostotę i uważam, że widżety są nadużywane :-). –

+0

Nie mogę rozmawiać z Dojo lub JQuery, ale uważam, że jedną z mocnych stron YUI jest rdzeń biblioteki, który sprawia, że ​​tworzenie i rozszerzanie niezawodnych widżetów jest łatwe. Z mojego doświadczenia wynika, że ​​czyjś widget prawie nigdy nie spełnia 100%. Albo zrobisz to, co otrzymasz, albo dostosujesz. YUI zapewnia dobry start i zaawansowane narzędzia do personalizacji. IMO. –

1

YUI ma świetny zestaw narzędzi do testowania i nie zanieczyszcza globalnej przestrzeni nazw. Również wyniki testu YUI mogą być odczytane przez JUnit, co jest plusem w mojej książce. Nie użyłem Dojo, więc nie mogę tego szczegółowo komentować, ale sposób, w jaki integruje się z DOM, jest godny notacji.

1

Wiedząc, że JQuery jest najłatwiejszy w obsłudze i niezwykle popularny, Dojo ma tę zaletę, że jest zintegrowane z Zend Framework. Różnica w byciu biblioteką lub frameworkiem się liczy. - Biblioteka dotyczy funkcji wielokrotnego użytku, ale ramy dotyczą zachowań wielokrotnego użytku. - Biblioteka jest czymś, co wywołujesz/dziedziczysz ze swojego kodu, ale framework to coś, co wywołuje twój kod lub świadczy usługi dla twojego kodu. - Biblioteka jest kolekcja komponentów i klas, gdzie struktura jest sposobem, w jaki klasy abstrakcyjne i komponenty współdziałają ze sobą.