Új hozzászólás Aktív témák

  • ntomka

    nagyúr

    Nos, tényleg nem akarok flamet, így tényleg csak kiegészítőfejlesztési/fejlesztési szempontból írom le a véleményem az operáról.

    Szóval, kezdődött ugye azzal, hogy átírom a kiegészítőmet operára. Nem is lenne ezzel probléma önmagában, mert nagyon hasonló a két böngésző kiegészítő kezelése. Mondjuk már az elején sokat szívtam a fogam azon, hogy mennyire nem egységes a dokumentációja, szét van szóra különböző blogokra, az api leírás felületes. Mondjuk újabban megpiszkálták a chrome api doksiját is, ami annyira nem tetszik, de legalább egy helyen van minden. Szóval ezen túltettem magam végül is, mert idővel ugyan, de megtaláltam amire szükségem van.

    Aztán jött ez a konzolos móka, hogy mindent amit kiíratok, azt Object vagy hasonló formában látom, és ennyi. Kicsit jártasabbak tudják, hogy ezzel nem sok mindent lehet kezdeni debuggolásnál. Erre kaptam felvilágosítást hogy tudom megoldani, de azóta sem értem miért kell egy rakat kattintás ahhoz, amit két másik böngészőnél egy kattintás nélkül (!) megoldok? Nem igazán értem, hogy ha az opera a legfainabb böngésző, akkor miért logikátlanul, össze vissza dobálja a hibaüzeneteket a három független konzolra? A chromeban is van három, de megvan a logikája: egy van az oldalon, egy a háttérscripteknél, egy a felugróhoz. És hogy mi a logika? Mindent oda ír ki, ahol keletkezik a kiírni való. Ráadásul az opera fekete konzola, amit külön kell felhozni, minden, csak nem használható. Kitakarja a dragonfly-t, ha abban kijelölök egy objektumot, akkor hátra kell mennem érte a dragonflyba, ergo ki-be csukogathatom a fekete konzolt (noti kijelző, vertikálisan azért nem fér el minden). De ok, még mindig az opera a legjobb böngésző fejlesztéshez is.

    Aztán nagy nehezen áttérhettem a tartalomscriptek kódolására. Van ez az xml fájl-ja az opera kiegészítőknek, amiben leírhatom, hogy mi merre meddig. Ez jó, ilyen van a chrome kiegészítőknél, is, csak nem xml, hanem egy json fájl. Végül is logikus, ha már javascript minden, akkor miért az egyik leggyorsabb interpretálható eszközre (json objektum) tegyük a konfigot is, ha van nekünk a brutál lassú és memóriaigényes xml-ünk is. De az opera jobban tudja. Szóval, chromenál úgy néz ki a történet, hogy tömbösítve megadhatom, hogy milyen jogai vannak a kiegészítőmnek, milyen fájlt hova pumpáljon be, aldomainekre, aloldalakra bontva akár, még wildcardokat is megadhatok. Ez szépen megvan operánál is többé kevésbé, de inkább kevésbé. Ugyanis hogy mi hova kerüljön, azt nem itt adom meg, ahol ésszerű lenne, hanem be kell pakolnom fix könyvtárakba és a böngésző majd talán kezd vele valamit. Na és az aláhúzott rész fokozottan érvényesült, mert megőszültem mire rájöttem, hogy ha becsomagolom a kiegészítőm, akkor csinálja is, addig nem volt hajlandó. Az amúgy sem kényelmes debuggolást kenhetem a hajamra, minden módosítás után zippelés, behúzás, kényelmetlen konzolozás, majd ugyanez elismételve akár százszor egy óra alatt... biztos az opera a fejlesztők álma.

    Aztán a kedvencem. A chrome json objektumában tömbösítve megadhatok több fájlt is amit be kell szúrnia adott oldalakra. A tömb elemeinek sorrendje meghatározza az injektálási sorrendet is. Ez nagyon patent. Na de mi a helyzet operában? Az a helyzet, hogy nincs helyzet, nem tudok megadni sorrendet, majd ahogy az előbb, a böngésző kezd vele valamit, már ha kezd, mert lövésem nincs arról mi alapján ítélkezik az injektálás sorrendje felől. Na ja, több száz soros, egymástól független, külön fájlba szervezett js osztályokat/objektumokat pakoljak egyetlen js fájlba, csak hogy a sorrendet megtartsa nekem a böngésző. Az áttekinthető, struktúrált kódot meg felejtsem el, mert minek az. Persze erre lehet van megoldás, de a doksiban nem találtam ilyesmit, pedig átnyálaztam az egész katyvaszt.

    És még nem ért véget. Amit szintén nem találtam a dokumentációban, hogy a kiegészítőből hogy húzok be statikus tartalmat az oldalra? Nem tudom közvetlenül megcímezni pl. a kis csillagot, amivel témát veszünk fel? Chromeban ez nagyon királyul meg van oldva. Operában ennek nyomát sem találtam. Megnéztem más kiegészítőben hogy oldták meg: a js-be és a css-be be van ágyazva base64 kódolással a kép. Na szép, kulturált programozás. De ha már css... css-nél hogy adom meg, hogy melyik aloldalra mit szúrjon be? Erre sem találtam megoldást. Hiába helyezem el a megfelelő alkönyvtárban, az sem illesztődik be. Megoldás? Dokumentáció szerint js-sel kell beszúrni. Na legyen, megírtam hozzá a kódot, de ugye a böngésző nem nagyon komálja a DOM feldolgozása előtt injektálást, így pl. a logout középre igazítása látványos oldal ugrálást eredményezett.

    Tudom, hogy gyerekcipőben jár még az opera kiegészítő kezelése, de az ordenáré fejlesztőeszközt ez nem mentesíti (legfeljebb az, hogy a nála és a chromenál népszerűbb böngészőben még ilyen sincs). Ezek után úgy őszintén elment a kedvem az operától, akármekkora svájci bicska. De ha már napi 8 órában melóban megszívat az aktuális teszteléseknél a dragonfly, nem valószínű, hogy még este 1-2 órát akarom magam kínozni úgy az egész böngészővel. De úgy all in a fejlesztőket illik elsőnek meggyőzni egy böngészőnek, mert ők tolják a szekerét, nem pedig a designnal villogni, hogy nekünk a legfainabb a gyorsindítónk, meg van kávéfőző is benne. Erre már az MS is rájött, egész kultúrált fejlesztőeszközöket pakoltak az IE9-be, persze ettől még nem használom, mert nincs belőle debianos telepítő ;]

    [ Szerkesztve ]

    ツ Headphones on - World off

Új hozzászólás Aktív témák