ugrás a tartalomhoz

ExtJS tapasztalatok?

fchris82 · 2011. Júl. 14. (Cs), 20.08
Itt volt egy számomra érdekes válasz:
http://weblabor.hu/forumok/temak/109409#comment-78546

Nálunk felmerült, hogy használnánk és megvennénk az ExtJS 4-et. Érdekelne, hogy kinek-milyen tapasztalata van, és miért merül fel, hogy lecserélné, vagy hanyagolná?
 
1

Nekem extjs 3-al van

inf3rno · 2011. Júl. 14. (Cs), 20.25
Nekem extjs 3-al van tapasztalatom. Összességében nem rossz a rendszer, de vannak benne összegányolt részek is. Én a tree résszel szoptam nagyot, mert nem volt elég általánosan megírva. Ha nem kellenek túl speckó dolgok, csak azok, amik a példákban vannak, akkor jó lesz. Ha bűvészkedni kell vele, akkor nem biztos (bár én a 4-es verziót nem ismerem). A fórumuk nagyon jó, azonnal válaszolnak, ha felteszel kérdést. Én olyan 9/10-et adok rájuk.
2

Az Ext-tel az a baj, hogy

Hidvégi Gábor · 2011. Júl. 14. (Cs), 20.54
Az Ext-tel az a baj, hogy NAGY és laaaassssúúúú, a legfrissebb minimalizált forráskód egy megabájt. Teljesen objektum-orientált a kód, a végső objektumok nagyon sok öröklődésen mennek keresztül. Sok mindent elmond, hogy az aktuális a 4.0-ás verzió, és az 1.0 óta háromszor írták újra.

Egy nagyon jó példa volt a kombóbox (olyan, mint a <select>, csak van egy beviteli mezője, aminek a segítségével a listájába új elemeket is fel lehet venni), állandóan problémánk volt vele, a különböző komponensei itt-ott bugosak voltak. Nyolc öröklődésen megy keresztül, az össz forráskód kb. 6-700 sor, és ebbe nem számoltam bele az eseménykezelőt, ami további többszáz sor. Egyszer nagyon elegem lett, hogy állandóan javítgatni kell, és újraírtam az egészet, és magam is elcsodálkoztam, hogy ugyanazt a funkcionalitást sikerült megoldani 150 sorból.

Hogy érdemes-e megvenni? Ki kell próbálni, van GPL-es változat, mindenképp érdemes rászánni pár hetet, mert lehet, hogy nektek működni fog a dolog.

A kezdeményezés egyébként jó, csak nem Javascriptben kéne egy ilyen rendszert megírni, hanem natív kódban. Egyrészt sokkal gyorsabb lenne, másrészt a valódi objektum-orientáltság hiánya miatt (zártság) JS-ben könnyen elkezd hackelni az ember, ha egy problémát nem tud egyszerűen megoldani.
3

?

fchris82 · 2011. Júl. 14. (Cs), 21.24
A 4-es verzióval mekkora tapasztalatod van? Gyorsan lehet benne látványos eredményeket elérni, vagy ahhoz is macerás? Mert ha lassú, de rengeteg időt megspórol, hogy jól használható legyen az admin, akkor majd rakunk alá erősebb vasat. Nekünk most nagyon fontos az idő! És pl a táblázatos megoldása nekünk nagyon szimpatikus. Mi a véleményed?
4

Négyessel nincs konkrét

Hidvégi Gábor · 2011. Júl. 14. (Cs), 21.41
Négyessel nincs konkrét tapasztalatom, a forráskódot nézegettem, a vég-objektumokban olyan drámai változás nincs (csak híztak), lehet, hogy gyorsabb, mint a korábbiak, de nem hiszem.

Át kell nézni a példákat, és meg kell érteni az alapokat, utána viszonylag gyorsan össze lehet benne dobni látványos dolgokat. Adminfelülethez szerintem jó, mert ott nem szükséges a pixelpontos pozícionálás, valamint nagy valószínűséggel nem kell hipergyorsnak lennie.
7

Yepp, tényleg lassú a sok

inf3rno · 2011. Júl. 14. (Cs), 22.40
Yepp, tényleg lassú a sok öröklődés miatt. Az alapok megértéséhez mindenképp érdemes elolvasni a dokumentációt, mert hasraütésre sajnos nem megy :D Látványos eredményt elég gyorsan el lehet érni vele, általában azzal szokott gond lenni, hogy akkor most hogyan bővítsem a meglévő elemet, hogy azt a speciális viselkedést érjem el, ami nekem kell. Tetszőleges kinézetű és elrendezésű fa készítése esélytelen, ahhoz teljesen újra kell írni a tree osztályokat. A drag-droppal is komoly gondok lehetnek, ha valami extrát akar az ember. Az elképzelésük a témáról jó, csak valamiért mégis gányoltan lett megírva egy csomó minden. Lehet, hogy a tervező mester jó volt, csak a kódoló szolgák tolták el :D
9

Pontosan így látom én is.

Hidvégi Gábor · 2011. Júl. 15. (P), 08.22
Pontosan így látom én is.
5

tapasztalat

carstepPCE · 2011. Júl. 14. (Cs), 22.32
nekem, mind a 2-essel mind a 3-assal van tapasztalatom. Mivel tobbsegeben admin felulethez alakitottak ki a komponenseket, szerintem masra nem is nagyon ajanlanam, arra viszont szerintem robosztus, egyseges feluletet kapsz. Bonyolultabb rendszerekhez is jol alkalmazhato. A lassusagrol csak annyit, hogy amint be vannak cachelve (nem tudom van e magyarositott kifejezes) semmi gond nincs, kozepes teljesitmenyu gepeken sem.

A 4-essel nekem sincs tapasztalatom, bar az adatok, mint (bovitett, MVC fele) objektumok nagyon tetszetosek. Szerintem eleg jol probaljak atvenni az egyre jobban terjedo es bevalt konstrukciokat a javascript vilagabol(en legalabbis ugy erzem), talan ezert is irtak annyiszor ujra.

A forum resze nagyon jo es a stackoverflow -n is rengeteg segitseget kapsz hozza, ezek mind olyan dolgok, amelyek sokat lendithetnek a rendszer elsajatitasaban. Visszautoje viszont, hogy neha sokat kell keresni egy jobb megoldasertt, sajat tapasztalat.

Nehany komponens meg nem eleg jol van megirva es ez visszatarthatja az embert, viszont a tobbszoros oroklodes elonyre is valhat, mivel a oskomponensekben veghezvitt bovitesek, kiegeszitesek az uj komponensekben is megjelenhet. A 4-esben a dinamikus betoltes tovabbi memoriacsokkentest is okozhat (meg nincs benne tapasztalat).

Udv
Sanyi

UI.: en meg nem talaltam olyan javascript frameworkot, amely ennyire hasznalhato es kidolgozott komponensekkel rendelkezik, lehet nem kerestem elegge, de javitsatok ki ha ti tudtok
8

UI.: en meg nem talaltam

inf3rno · 2011. Júl. 14. (Cs), 22.42
UI.: en meg nem talaltam olyan javascript frameworkot, amely ennyire hasznalhato es kidolgozott komponensekkel rendelkezik, lehet nem kerestem elegge, de javitsatok ki ha ti tudtok

Jaja, én is ezért szeretem. Ha nem lenne olyan sok idő, akkor újraírnám az egészet ugyanilyen elvek mentén... :-)
6

Én ajánlom. :)

T.G · 2011. Júl. 14. (Cs), 22.38
Szerintem mindenképpen érdemes megismerkedni vele. :)

Negatívumként talán a verzióváltásokat említeném, komoly problémákat okoznak. ExtJS 2-ről 3-ra való átállást egyszer megcsináltam egy nagyobb rendszeren és nem volt leányálom... 3-ról 4-re átállást egyelőre inkább nem is tervezzük. :)

Az osztályhierarchia elsőre lehet, hogy átláthatatlannak tűnik, de ha benne vagy a használatában, akkor logikusnak fogod látni. Pl. a ComboBox-nál ha bármelyik ősosztályt kihagynánk, akkor más osztályok funkcionalitását csökkentenénk, vagy kódismétlés lenne.

Az a veszély viszont tényleg megvan, hogyha nem ismered meg a rendszert, csak rögtön használni akarod, akkor könnyen eltérhetsz a helyes útról és gányolással oldod meg a problémákat. De azt nem lehet elvárni egy ekkora rendszertől, hogy minden paraméternek az alapértelmezett értéke pont az legyen, ami neked kell...

A négyes verzióra meg tényleg nem lehet rámondani, hogy lassú. Sokat javítottak a sebességen. Bár én a hármast sem érzem lassúnak. Az meg alapértelmezett, hogy ExtJS-sel nem publikus weboldalakat, hanem webes alkalmazásokat készítünk, ahol induláskor egy mega betöltése nem okozhat problémát.
10

Tanulságként leírom, hogy a

Hidvégi Gábor · 2011. Júl. 15. (P), 08.29
Tanulságként leírom, hogy a négyesben például újraírták az alapokat, mert a korábbiakban sok funkciót úgy valósítottak meg, hogy a beépített objektumokat (Object, Function stb.) egészítették ki új függvényekkel (pl. Array.each()). Ez ott kezdett gondot okozni, amikor a keretrendszer végfelhasználója elkezdett használni mondjuk egy másik keretrendszert, például a Prototype-ot, ami ugyancsak függvényeket adott a beépített objektumok prototípusaihoz, és ennek az lett a vége, hogy így bizonyos funkciók nem működtek, mert más volt a paraméterezésük.

A négyesben már az Ext.Array.each stb. függvényeket használják mindenhol.
11

ExtJS 4

gabesz666 · 2011. Júl. 15. (P), 11.15
Én nemrég kezdtem el fejleszteni extjs 4-el, korábban 2,5 évig dolgoztam ext 2-vel és 3-al. A 4-es verziónál tökéletesebb frameworkot nem nagyon tudok elképzelni. Szinte mindenre nyújt megoldást, amire szükség lehet fejlesztés során. Ennek azonban ára van! Viszont ext-et nem is arra találták ki, hogy pl. a jQuery-vel vegye fel a versenyt. Ahol én használtam: komplett webalkalmazások, adminisztrációs felületek, bonyolult formok. Ahol nem érdemes használni: nagy látogatottságú siteok, viszonylag egyszerű felületek. Illetve, ha tényleg nagyon kevés idő áll rendelkezésre (< 1 hét, szerintem 2 hét alatt bele lehet rázódni, ha foglalkozol vele rendesen), akkor sem javaslom, mert gányolás lesz a vége.
A 4-es verzió megtanulása nagyságrendekkel könnyebb, mint a korábbi verziókban, ugyanis teljesen átszabták az API doksit, minden egyes osztályhoz példakódot is mellékelnek, leírják mire való, hol célszerű használni. Ezenkívül jópár tutorial jellegű írás is létrejött.
Amúgy tényleg csak ajánlani tudom az Ext megtanulását, ha nem is most, de a későbbiekben. Nagyon összeszedett az egész, profi a fejlesztő csapat, és a community is nagyon segítőkész.