Experimentalia

Appunti raminghi

Archivio per luglio 20th, 2008

Extjs vs Firebug

leave a comment »

Da bravo sviluppatore web la mia cassetta degli attrezzi contiene, tra le altre cose firebug e la web developer bar. Potete immaginare il mio entusiasmo quando appena aperta la pagina degli esempi di etxjs mi sono trovato davanti al messaggio: Attenzione, firebug causa problemi di performance ad extJs.

Se poi considerate che la frase – causa problemi di performance – è un eufemismo, vi lascio immaginare la mia strabordante contentezza.

Se le performance possono non essere un problema, potrete facilmente figurarvi il mio sconforto alla scoperta che anche l’esecuzione passo passo è inutilizzabile. Dopo qualche tentativo ed esplorazione tra i forum di supporto, le invettive dei diversi sviluppatori che si trovano davanti al problema (si, non sono solo) capisco, almeno credo di capire, che il problema è dovuto alle dimensioni dello script extJs.

Le 34343 linee di codice per la libreria sono troppe per firebug che, sul mio sistema non riesce a tracciare l’esecuzione quando quest’ultima arriva al file ext-all-debug.js.

Piuttosto che procedere alla cieca sperando di arrivare all’errore senza troppi blocchi, o almeno senza troppe pause troppo lunghe per la mia quasi infinita pazienza, ;) ho pensato di sezionare la libreria in più file.

L’espediente sembra funzionare e quindi non mi resta altro che riportare il piccolo script che seziona la libreria principale e sperare che la cosa possa essere di aiuto a qualcuno.

#!/bin/bash
# checksum md5 del file ext-all-debug.js
EXT21_MD5SUM='b854fc982dcec3781f1beb9653f33234'
MD5_PATH=`which md5sum`
INPUT_MD5=`$MD5_PATH $1  | cut -f 1 -d \ `

if [ "$2" = "" ]
then
    DIR='.'
else
    DIR=$2
fi

if [ "$EXT21_MD5SUM" = "$INPUT_MD5" ]
then
    head $1 --lines 2036 > $DIR/ext-all-debug-p01.js
    head $1 --lines 5679 | tail --lines 3643 > $DIR/ext-all-debug-p02.js
    head $1 --lines 8125 | tail --lines 2446 > $DIR/ext-all-debug-p03.js
    head $1 --lines 10897 | tail --lines 2771 > $DIR/ext-all-debug-p04.js
    head $1 --lines 13672 | tail --lines 2775 > $DIR/ext-all-debug-p05.js
    head $1 --lines 16309 | tail --lines 2636 > $DIR/ext-all-debug-p06.js
    head $1 --lines 19076 | tail --lines 2766 > $DIR/ext-all-debug-p07.js
    head $1 --lines 21817 | tail --lines 2741 > $DIR/ext-all-debug-p08.js
    head $1 --lines 24851 | tail --lines 3034 > $DIR/ext-all-debug-p09.js
    head $1 --lines 27420 | tail --lines 2569 > $DIR/ext-all-debug-p10.js
    head $1 --lines 31057 | tail --lines 3637 > $DIR/ext-all-debug-p11.js
    tail $1 --lines 3285 > $DIR/ext-all-debug-p12.js
else
    echo -e ' Questo script funziona solamente con la versione 2.1 di extjs\n' \
         'In particolare seziona il file ext-all-debug.js'
fi

Come primo parametro va il path della libreria, ext-all-degub.js, come secondo il path dove andare a salvare i vari spezzoni.

Includere i tag script corrispondenti, salare, mettere in forno e debuggare quanto basta. :)

Written by Eineki

luglio 20, 2008 at 19:20 pm

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 45 follower