Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Framework czy niezależne skrypty?
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
WebCM
Do tej pory używałem własnych bibliotek JS: js.js, editor.js, forms.js. Trzeba je jeszcze dopracować i zoptymalizować. Zacząłem znów zastanawiać się nad gotowymi rozwiązaniami, które mogą skrócić czas potrzebny do osiągnięcia ciekawych efektów.

Efekty, które muszę uzyskać:
1. AJAX - pobieranie i wysyłanie danych, przechwytywanie formularzy
2. Okienka (warstwy) z możliwością wyświetlenia obok kursora, na środku bądź równo z przyciskiem
3. Kalendarz - wybór daty i godziny

Przydatne, ale niekonieczne:
1. Sortowanie danych w tabeli
2. Drag & Drop
3. Edytor WYSIWYG
4. Sprawdzanie danych w formularzu
5. Zakładki (np. przy edycji artykułu, który ma wiele stron)

Niestety, większość frameworków jest dość obszerna nawet po kompresji. Wydajność też pozostawia wiele do życzenia. W jednym z testów bada się tylko szybkość przemierzania drzewa przez funkcję $(). Tak naprawdę tylko niektóre jej możliwości są w większości przypadków wykorzystywane.
http://ferrante.pl/2007/12/27/o-frameworka...ript-slow-kilka
http://www.rockstarapps.com/samples/performance

Czy jest sens korzystać z frameworka + własnych rozszerzeń (bez nich się nie obejdzie), jeśli z większości jego ułatwień nie będziemy korzystać? Przecież gdy napiszemy własny kod, ładujemy tylko te funkcje, które są potrzebne w projekcie. Skrypt może stać się kilka razy szybszy. Z drugiej strony na wszystko trzeba czas, a nie zawsze własne rozwiązania są najlepsze. Ewentualnie: własne biblioteki + niezależne gotowe rozwiązania?
batman
Moim zdaniem zawsze lepiej korzystać z gotowych rozwiązań, ponieważ ktoś nad tym cały czas pracuje, rozwija i pilnuje, by było wolne od błędów. Oczywiście własne biblioteki również mogą, a nawet powinny być używane, ale nie oszukujmy się. Nie ma potrzeby wymyślania koła od nowa.
Osobiście polecam jQuery - nie waży za wiele (~ 30 kb), do tego oferuje bardzo duże możliwości. Zaczynam też powoli się przekonywać do dojo.

A argument, że kilkadziesiąt kb to dużo i zamuli stronę, można włożyć między bajki. Obecnie łącza są coraz szybsze, więc dodatkowe kb nie wpłyną aż tak bardzo na wydajność. Czasy wdzwanianego internetu odeszły w niepamięć.
Ociu
Temat zapowiada ciekawą dyskusję, przypinam.
Lonas
Ja też ostatnimi czasy zacząłem pracować z jquery i muszę przyznać że jestem bardzo zadowolony.
Raz że to sprawdzony framework, dwa bardzo prosto się jej uzywa, wiele rzeczy potrzebnych do projektu można dzieki nej napisać w paru linijkach kodu no i jest do niego wiele przydatnych dodatkowych bibliotek.

Ogólnie jestem bardzo zadowolony i polecam smile.gif
phpion
Tyle tylko, że wiele komponentów napisanych w jQuery (np. te z demo na oficjalnej stronie) nie działają pod Operę. Ja ze swojej strony polecam mootools. Nie miałem z nim żadnych problemów.
tommy4
Tak, ja też miałem trochę problemów z jQuery i bynajmniej nie przez źle napisany kod.

Osobiście bardziej polecam Prototype.
hacek
Możesz skorzystać z niezależnych rozwiązań które dają ci prostego Ajax-a dzięki któremu napiszesz swoje funkcje i jest to bardzo lekkie. Zobacz bibliotekę MintAjax, sam obiekt Request wazy tylko 4 KB a daje prostą obłsugę Ajax.

http://mintajax.pl/Pobierz/
Shili
Do tej pory raczej nie mam problemów z jQuery (pod Operą również), ale z tego co tak ogólnie widzę bardziej "w cenie" jest Prototype (również po propozycjach pracy)

A ogólnie, jeśli chodzi o proste rzeczy, takie jak walidacja formularzy czy jakiś pojedynczy popup, to nie widzę sensu dołączać kobył skoro mogę to zrobić równie prosto w czystym js. Ale aktualnie nie wyobrażam sobie pisania bardziej zaawansowanych skryptów jak na przykład rotator zdjęć bez gotowego frameworka. Klientowi i tak to nie robi, byleby działało, a ja dzięki rozszerzeniom oszczędzam naprawdę dużo czasu.
ferr
Kłopoty w jQuery z Opera biora sie przewaznie z tego, ze developerzy frameworka nie palaja specjalnie miloscia do Opery. Jest to europejska przegladarka, majaca marginalne znaczenie w USA, skad pochodza tworcy.

Prototype w cenie? Prototype to dzisiaj przezytek, a ktos opierajacy swoj kod na Prototype ceni raczej duza objetosc kodu i mala jego czytelnosc.

jQuery nie jest idealny, ale z kazda wersja jego szybkosc wzrasta, a do wymagan wymienionych w 1. poscie nadaje sie znakomicie. Biorac pod uwage "fun" i szybkosc pisania, stawiam jQuery na 1. miejscu, przed mootools.

Pozdrawiam
Shili
Cytat
Prototype w cenie? Prototype to dzisiaj przezytek, a ktos opierajacy swoj kod na Prototype ceni raczej duza objetosc kodu i mala jego czytelnosc.
Z frameworków js najczęściej się pojawia przy wymaganych umiejętnościach w ogłoszeniach o pracy. Ogłoszeniach nie tylko na tym forum. Być może skoro przeżytek, wynika to z przyzwyczajenia pracodawców.
ferr
Prowadzisz statystyki jakies? smile.gif Wrecz przeciwnie, mam wrazenie, ze Prototype w wymaganiach pracodawcow widzialem bardzo dawno.

Pozdrawiam
Shili
Interesuję się tym, czego potencjalny pracodawca może ode mnie kiedyś chcieć. Wolę wcześniej mieć rozeznanie, niż w razie palącej potrzeby (zwłaszcza, że przy takiej potrzebie przeważnie bierze się pierwsze co przyjdzie) na hurra zapoznawać się z podstawami jakiejś techniki ^^
batman
@Shili
Jeśli chcesz być cały czas na bieżąco ze wszystkim, to nie tędy droga. Bardzo dobrym wyjściem jest kompletne poznanie jednej biblioteki, dobre poznanie innej oraz znajomość podstaw pozostałych (oczywiście tych najpopularniejszych). Wówczas nawet jeśli nie będziesz wiedziała jak coś napisać, to będziesz miała na tyle pojęcie o problemie, że szybko znajdziesz rozwiązanie.

A wracając do tematu. Szkoda, że ZF ugadał się z dojo, a nie z jQuery. Z drugiej strony jest to motywacja do nauki dosyć ciekawej biblioteki. Szkoda tylko, że w dojo tworzy się kod, który nie waliduje się w3c.
Shili
Cytat
Bardzo dobrym wyjściem jest kompletne poznanie jednej biblioteki, dobre poznanie innej oraz znajomość podstaw pozostałych (oczywiście tych najpopularniejszych).
jQuery umiem w stopniu zadowalającym (nie spotkałam się z problemem narzuconym odgórnie którego nie mogłabym rozwiązaćm od razu zaznaczę - twierdzę, że po 9 latach zapoznawania się z HTMLem i jego xmlową odmianą HTMLa znam dobrze, niekoniecznie kompletnie - oczywiście w połączeniu ze stylami i obsługiwaniem tego przez przeglądarki), dlatego ciekawią mnie wymagania pracodawców względem innych bibliotek. I ciekawi mnie to, jak często te inne się pojawiają.
erix
Cytat
Czy jest sens korzystać z frameworka + własnych rozszerzeń (bez nich się nie obejdzie), jeśli z większości jego ułatwień nie będziemy korzystać? Przecież gdy napiszemy własny kod, ładujemy tylko te funkcje, które są potrzebne w projekcie.

Gdyby wszystkie przeglądarki jednakowo obsługiwały popularnie obsługiwane specyfikacje, to raczej bym sobie darował frameworki.

Ale niestety, jest IE i pisanie za każdym razem obejść dla innej sytuacji jest kompletną stratą czasu...
dyktek
Cytat(ferr @ 19.07.2008, 13:54:46 ) *
Kłopoty w jQuery z Opera biora sie przewaznie z tego, ze developerzy frameworka nie palaja specjalnie miloscia do Opery. Jest to europejska przegladarka, majaca marginalne znaczenie w USA, skad pochodza tworcy.

dość ryzykowna teza...

co do kłopotów w operze to może ktoś podać jakieś konkretne przykłady?

a co do meritum wątku winksmiley.jpg uważam jak pewnie większość, że lepiej używać gotowych rozwiązań.
phpion
Cytat(dyktek @ 21.12.2008, 14:47:04 ) *
co do kłopotów w operze to może ktoś podać jakieś konkretne przykłady?

Proszę bardzo, przykład z dokumentacji:
http://docs.jquery.com/Effects/fadeIn#speedcallback
Pod Operą nie widać "Click here...". Nie wiem czy to wina jQ czy CSS (nie sprawdzałem) ale swego czasu (podczas wyboru frameworka JS) widziałem sporo takich "kwiatków".
Crozin
@phpion: przykład z dokumentacji, Opera:
Cytat
Version
9.62 //o właśnie... musze zaaktualizować
Build
2466
Platform
Linux
Działa pięknie. winksmiley.jpg
phpion
@Crozin:
Ja korzystam z 9.61*. Zdecydowanie wolę MooTools, z którym nie mam tego typu problemów.

* Zaktualizowałem do 9.63 - nadal kupiszon.

Cytat
Version 9.63
Build 10476
Platform Win32
System Windows XP
Riklaunim
W Goldenline i innych związanych aplikacjach jest stosowane jQuery i problemów raczej nie ma, bo założeniem wyjściowym jest obsługa wszystkich kluczowych przeglądarek do IE 6 włącznie. Zgodność z przeglądarkami zależy od zastosowanych elementów jQuery (aptana chyba to ładnie pokazuje). Należy też uwzględnić że uzasadnione użycie tego typu frameworków to nie jest zrobienie tooltipa i lightboxa na stronce, ale znacznie więcej (gridy, obsługa SWF, generowanie danych z JSONów itd.)
dyktek
Cytat(phpion @ 21.12.2008, 14:55:57 ) *
Proszę bardzo, przykład z dokumentacji:
http://docs.jquery.com/Effects/fadeIn#speedcallback
Pod Operą nie widać "Click here...". Nie wiem czy to wina jQ czy CSS (nie sprawdzałem) ale swego czasu (podczas wyboru frameworka JS) widziałem sporo takich "kwiatków".


to kwestia dynamicznego osadzenia iframe, które jest nieszczęśliwie wykonane. Poniżej kod robiący to samo, dołączający dynamicznie iframe a w niego kod przykładowego efektu "fadeIn" i działa tongue.gif

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <script src="jquery-1.2.6.js"></script>
  4.  
  5. $(document).ready(function(){
  6.  
  7. var iframe = document.createElement("iframe");
  8. iframe.src = "test.html";
  9. iframe.id = "hadzia";
  10. iframe.width = "200";
  11. iframe.height = "200";
  12. iframe.style.border = "none";
  13. $('div[id=test]').append( iframe );
  14.  
  15. var doc = iframe.contentDocument || document.frames['hadzia'].document;
  16.  
  17.  
  18.  
  19. var source = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">"+
  20. "<html>"+
  21. "<head>"+
  22. "<script src=\"jquery-1.2.6.js\"><\/script>"+
  23. "<script type=\"text/javascript\">"+
  24. "$(document).ready(function(){"+
  25. "$(document.body).click(function () {"+
  26. "$(\"div:hidden:first\").fadeIn(\"slow\");"+
  27. "});"+
  28. "});"+
  29. "<\/script>"+
  30. "<style>"+
  31. "span { color:red; cursor:pointer; }"+
  32. "div { margin:3px; width:80px; display:none;"+
  33. "height:80px; float:left; }"+
  34. "div#one { background:#f00; }"+
  35. "div#two { background:#0f0; }"+
  36. "div#three { background:#00f; }"+
  37. "</style>"+
  38. "</head>"+
  39. "<body>"+
  40. "<span>Click here...</span>"+
  41. "<div id=\"one\"></div>"+
  42. "<div id=\"two\"></div>"+
  43. "<div id=\"three\"></div>"+
  44. "</body>"+
  45. "</html>";
  46.  
  47. doc.open();
  48. doc.write( source );
  49. doc.close();
  50.  
  51.  
  52. });
  53.  
  54. </head>
  55. <div style="display: block; width: 200px; height: 200px;" id="test"></div>
  56.  
  57. </body>
  58. </html>
kilas88
Cytat(dyktek @ 21.12.2008, 12:47:04 ) *
dość ryzykowna teza...

co do kłopotów w operze to może ktoś podać jakieś konkretne przykłady?

a co do meritum wątku winksmiley.jpg uważam jak pewnie większość, że lepiej używać gotowych rozwiązań.

Temat: jQuery_Powrot_do_poprzedniej_strony
dyktek
Cytat(kilas88 @ 31.01.2009, 02:26:21 ) *


podaj cały kod
WebCM
Tworzę nową platformę w XHTML + CSS + JavaScript dla gry logiczno-przygodowej (podobnej do gier escape lub np. MOTAS). Warto dodać jakieś efekty, aby zwiększyć doznania estetyczne. Czy warto stosować framework? Zależy mi na tym, aby nie było przycięć przeglądarki. Wszystko płynnie. smile.gif
wassago
Cytat(WebCM @ 3.08.2009, 09:43:16 ) *
Tworzę nową platformę w XHTML + CSS + JavaScript dla gry logiczno-przygodowej (podobnej do gier escape lub np. MOTAS). Warto dodać jakieś efekty, aby zwiększyć doznania estetyczne. Czy warto stosować framework? Zależy mi na tym, aby nie było przycięć przeglądarki. Wszystko płynnie. smile.gif


Widzisz, to że do tego typu projektu wręcz trzeba używać Frameworka nie ma żadnych wątpliwości. Jedyne pytanie jakie może się nasuwać to "jaki framework"... Przedstawie to w ten sposób, i proszę odbież to bez obrazy: jeżeli musiałeś zadać pytanie na które dałem Ci odpowiedź, to zdecydowanie najlepszym wyborem dla Ciebie będzie jQuery, jako że jest to framework dla początkujących developerów - tudzież ludzi którzy cenią szybkość pisania kodu/jednolinijkowość. Zaawansowani deweloperzy wiedzą z testów, że jQ nie zdaje egzaminu gdy zaczynamy mówić o zaawansowanym programowaniu OOP, pisaniu klas które mogą zostać rozszerzone w kilka różnych sposobów– tu dominują zdecydowanie MooTools i DOJO (nie będę pisał o Prototype jako, że nie posiada natywnie klasy Fx).

Pozdrawiam,
Oskar Krawczyk
robsons6
Cytat(wassago @ 6.08.2009, 17:06:20 ) *
Widzisz, to że do tego typu projektu wręcz trzeba używać Frameworka nie ma żadnych wątpliwości. Jedyne pytanie jakie może się nasuwać to "jaki framework"... Przedstawie to w ten sposób, i proszę odbież to bez obrazy: jeżeli musiałeś zadać pytanie na które dałem Ci odpowiedź, to zdecydowanie najlepszym wyborem dla Ciebie będzie jQuery, jako że jest to framework dla początkujących developerów - tudzież ludzi którzy cenią szybkość pisania kodu/jednolinijkowość. Zaawansowani deweloperzy wiedzą z testów, że jQ nie zdaje egzaminu gdy zaczynamy mówić o zaawansowanym programowaniu OOP, pisaniu klas które mogą zostać rozszerzone w kilka różnych sposobów– tu dominują zdecydowanie MooTools i DOJO (nie będę pisał o Prototype jako, że nie posiada natywnie klasy Fx).

Pozdrawiam,
Oskar Krawczyk


No nie wiem czy bym Mootools postawil obok DOJO a JQuery uznal za slabszy od Mootools.
Raczej w hierarchii wiekowej to DOJO, JQuery, mootools.
Co do mootools to raczej jeszcze za mlody projekt, mysle ze lepiej polecac DOJO.
Aczkolwiek do zwyklej zabawy w jakas prosta gierke to kazdy sie nadaje byle by posiadal funckje do fxow.

A tak swoja droga... nie lepiej uzyc flexa badz flasha? ( rozumiem ze troche zamulaja ale daja stabilnosc a z JS wiadomo... tu dziala dobrze a w innej przegladarce nagle sie rozjedzie albo cos sie nie zaladuje i gra wyglada jak podziurawione lub rysujace sie "cos" )
skowron-line
Cytat(robsons6 @ 15.09.2009, 22:16:22 ) *
... tu dziala dobrze a w innej przegladarce nagle sie rozjedzie albo cos sie nie zaladuje i gra wyglada jak podziurawione lub rysujace sie "cos" )

Dlatego trzeba ostrożnie dawkować JS do swoich projektów, puki co ( i to chyba się nie zmieni ) użytkownik może sobiw wyłączyć JS w przeglądarce.
pp-layouts
Jeśli w 2009/2010 roku user wyłączy sobie JS w przeglądarce, to jest kosmitą. Jeśli strona ma charakter stricte informacyjny - nie powinna mieć zależności od JS. Może używać, ale musi chodzić bez. Dla botów. Jeśli to interaktywna aplikacja - to może, a nawet powinna, zwyczajnie odmówić odpalenia bez JS i już. 

movax13h
Buduję teraz dość duży panel administracyjny:
ajax, framework,GoogleAPI -chodzi i nawet nieźle -dane są na bieżąco rozkodowywane

Korzystam z gotowego frameworku mooTools -MochaUi na stronie głównej, jQuery -do własnych skryptów działa na ramkach okien MochaUi. Google Api gdzie trzeba.

Chodzi coraz ładniej. Mieliśmy dylematy co robić, były próby przejścia tylko na jQuery, ale zdaje się, że tak jak jest teraz zostanie. MochaUI daje praktycznie wszystko co trzeba -oprócz przeciągania okien -gdy są ramki ukrywa ich zawartość -w przeciwnym razie kursor nie trzyma dobrze okna.

Chyba w pół roku byśmy tego ręcznie nie napisali
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.