Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ocena jQuery modulow
Forum PHP.pl > Inne > Oceny
060156
Witam,
Ostatnio przyjrzalem sie dokladniej jQuery ( http://jquery.com ) i napisalem
kilka modulow w tym stylu. Moduly mozna wbudowac bezposrednio na strone albo w "PopUp Dialog".
Efekty mozna zobaczyc na stronie: http://www.sowacms.com/Cms/jsowa/jsowa.html
Dodam, ze odpuscilem sobie IE 6 a testowalem IE7+, Chrome, FireFox, Safari i jest OK.
Bede wdzieczny za ocene, sugestie, uwagi.
IceManSpy
No ale co tutaj oceniać? Czy ładnie zrobiłeś? Większość tych elementów jest już napisanych => patrz jQuery UI -> http://jqueryui.com/
060156
Przegladalem kiedys ta biblioteke, moze niedokladnie i zdziwilo mnie bardzo
ze przy duzych mozliwosciach jQuery napisano to tak w sumie malo elegancko pod
wzgledem graficzny i uzytkowmy.
Jakos nie znajduje tam znosnych rozwiazan np:
- autocomplete, rte editor, grid, popup dialog, validation... ktore mozna latwo zastosowac w
bardziej zlozonych aplikacjach web-owych.
Dziekuje za uwagi.
cepa
hmm, tylko po co wynajdywac kolo od nowa, jak to co oferujesz jest dostepne i co njwazniejsze sprawdzone w np: Dojo czy Sencha:

http://www.sencha.com/products/extjs/examples
http://demos.dojotoolkit.org/
1010
W ramach nauki jQuery odwaliłeś dobrą robotę, z pewnością wiele się przez to nauczyłeś, przyda Ci się to.

Tylko odpowiedz sobie sam, czy warto robić coś co już jest? Choć ja często też wolę bazować na własnych rozwiązaniach, ale to raczej jeśli chodzi o php.
Rid
Cytat
Tylko odpowiedz sobie sam, czy warto robić coś co już jest?

Ja myślę ,że warto.Pisząc własny moduł, bibliotekę ,wie się co się wniej znajduje,zna się każdą linijkę kodu więc można modernizować,ulepszać dodawać metody wedle własnych upodobań.


Ps.Próbował Pan już przerabiać,czyjś moduł,bibliotekęquestionmark.gif?Wydaje,mi się to trudniejsze niż napisanie własnego modułu ,biblioteki.
1010
Tak jak już powiedziałem, sam też często piszę coś swojego, gdyż lubię bazować na swoich rozwiązaniach. Natomiast w przypadku jQuery UI wszystko jest na tyle dobre konfigurowalne, że nie ma tam raczej potrzeby dopisywania swoich elementów
Rid
Ja bym tam,Kolegi nie zniechęcał-może przecież utworzyć lepszą bibliotekę ,niż JQueryUI bardziej funkcjonalną,jeszcze bardziej konfigurowalną-ja tam za to trzymam kciuki:)
1010
Ja tam, też nie zniechęcam, jak już wcześniej powiedziałem pisząc samemu za każdym razem się czegoś uczymy co jest plusem. Korzystając z gotowców będąc początkującym nie wiemy właściwie co jak działa i potem jak coś nie działa to nie umiemy znaleźć co jest nie tak. A jak już sami umiemy coś napisać to wtedy takie błędy znajduje się z łatwością.
Rid
Ja teraz mam z "innej beczki".Mam pytanie do autora:
1.Ile czasu zajęło Panu utworzenie RTE?questionmark.gif- Chciałbym takie coś w przyszłości utworzyć,ale na całkiem innej technologii.

W Pańskim edytorze,brak przycisku Img ,a i tak udało mi się załadować zdjęcie do edytora i przesłać obraz-to jest taka mała wada RTE pisanych w JS i JQ.
060156
Odpowiadajac,

Oczywiscie znam biblioteki jQueryUI/ExtJs/Dojo, etc ... ale powiem krotko jest z nimi tak, ze
"aby napic sie mleka to trzeba kupic krowe". U mnie moduly maja strukture hierarchiczna zaleznosci:
jGui->jDialog (rozmiar 31k) a pozostale sa niezalezne.

Zdecydowalem napisac sie swoj edytor RTE poniewaz chcialem go latwo dodawac do stron oraz w
PopUp Dialogs (Istniejace rozwiazania pozwalaja dodawac rte tylko na strone i sa bardzo nieporeczne).
Do RTE Edytora oczywiscie mozna dodac inne funkcje np. image ktora zawiera:
- image managment, rotate, resizing, croping, etc.
Napisanie RTE edytora nie jest skomplikowane ale trzeba znac dobrze algorytmy operowania na
iframe w design mode. Uzywajac modulow jGui+jDialog napisanie zajelo mi to dwa wieczory.
(Prosze pytajacego sie o RTE skontaktowac sie ze mna to wysle source code)

W jService udalo mi sie rozwiazac dwa wazne problemy:
- asymmetrical object marshaling (troche inny jak json i bardziej efektywny ), polega on na tym ze wysyla sie z browsera native javascript objects do php/python/perl i tam sa one widziane jak native php/python/perl classes i odwrotnie (tablice sa widziane w browser jako javascript objects)
- cross domain request forwarding: browser->web server->other web server
- ajax/post synchroniczny, asynchroniczny i abort (przydatny zwlaszcza do autocmplete z database, upload progres bar, etc ...)

Tutaj jest przyklad PHP jService container services implementation dla ajax, post, mysql services i cross domain forwarding:
  1. //
  2. // jService container services implementation
  3. //
  4. include_once("SowaSession.inc");
  5. include_once("LogFile.inc");
  6. include_once("SowaService.inc");
  7.  
  8. $_ses = new Session();
  9. $_req = new Request();
  10. $_log = new LogFile("../jservice.log",$_req->log());
  11.  
  12. if(!$_req->is_forward()) // forward request to other web server
  13. switch($_req->service()) { // requested service name
  14.  
  15. case "mysql":
  16. include_once("MySqlDb.inc"); // query service implementation for mysql
  17.  
  18. case "ajax": // ajax service implementation
  19. $body=$_req->body(); // get request objects
  20. if(is_object($body)) {
  21. $body->digit=time(); // set response object attribute
  22. $_req->body($body); // set response like object
  23. }
  24. break;
  25.  
  26. case "post": // post service implementation
  27. $post = $_ses->robj("post_"); // get post request object
  28. if(is_object($post)) {
  29. $post->files=$_FILES; // set uploaded files info
  30. $_req->body($post);
  31. }
  32. break;
  33.  
  34. default:
  35. $_req->error("Service '".$_SERVER['PHP_SELF']."/".$_req->service()."' not Implemented");
  36. }
  37. $_req->response(); // send response to browser

Przyklad jService browser ajax request
  1. jService.ajax("service.php","ajax",[["sb",javascript object]],
  2. function(body, args, error) {
  3. if($d.Message("last","AJAX REQUEST ERROR",error)) return;
  4. // process response (response: body - object, args - array name value pair)
  5. });

Przyklad jService browser ajax cross domain request
  1. jService.ajax("service.php?http://www.sowacms.com/service.php","ajax",
  2. // target jService container -> www.sowacms.com/service.php
  3. [["sb",javascript object]],
  4. function(body, args, error) {
  5. if($d.Message("last","AJAX REQUEST ERROR",error)) return;
  6. // process response
  7. });

Przyklad jService browser query request
  1. // query sowacms.cms_content table (all columns), response array of objects
  2. jService.query("service.php","sowacms",[["qos","cms_content","*","order by name"]],
  3. function(objects, error, args) {
  4. if($d.Message("last","QUERY OBJECTS ERROR",error)) return;
  5. for(var i = 0; i < objects.length; i++) {
  6. // process response object
  7. }
  8. });


Powyzsze przyklady pokazuja jak prosto korzysta sie z moich modulow, prosze porownac to z innymi bibliotekami.

Dziekuje za opinie/sugestie
Rid
Cytat
Do RTE Edytora oczywiscie mozna dodac inne funkcje np. image ktora zawiera:
- image managment, rotate, resizing, croping, etc.
Napisanie RTE edytora nie jest skomplikowane ale trzeba znac dobrze algorytmy operowania na
iframe w design mode. Uzywajac modulow jGui+jDialog napisanie zajelo mi to dwa wieczory.


Dziękują Panu za odpowiedź -ale jak już pisałem,wyżej będę pisał w innej technologii ,a najprawdopodobniej jest to że będę
się opierał w swoim RTE nie o iframe ,lecz o xml.
Poszukuję ,edytora który by potrafił filtrowć ,usuwać tagi img, nie dopuszczać do wstrzykiwania obiektu img ,jako tymczasowego rozwiązania-doputy,dopuki nie utworze własnego edytora.
W każdym mi znanym edytorze wysiwig opartym opartym o JQ/JS ,można z łatwością przciągnąć jakiś obrazek ,zdjęcie w pole edycji,mimo braku przycisku(butona lub opcji) img i "wstrzyknąc ten obrazek".
Przykładowo ściągnąłem teraz sobie CKEdytor(popularny edytor)i co się okazało brak w nim metod filtracji obiektów <img>,trzeba samemu filtrować tagi,używając wyrażeń regularnych i innych funkcji.Tak,więc z moich spostrzeżeń RTE ,oparty
na technologi JQ\JS według mnie nie są dobre.Wszystkie dobre edytory RTE oparte o inne technologie-są płatne w granicach(50-900$).Są także darmowe edytory w innej technologii,niż JS/JQ,lecz są mocno niedopracowane.
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-2025 Invision Power Services, Inc.