Compilazione in background
copia linkIntroduzione
Il processo di sviluppo e test delle applicazioni web create con IN.DE richiede i seguenti passi:
- Il programmatore appronta una modifica al software, poi lancia la compilazione del progetto all'interno di IN.DE.
- IN.DE genera il codice sorgente di basso livello - Java o .NET - delle parti che devono essere rigenerate.
- Il codice sorgente Java o .NET viene compilato dai relativi compilatori.
- L'applicazione web viene installata.
- IN.DE apre un browser per provare l'applicazione.
Per questo motivo nella versione 7 è stata aggiunta la possibilità di attivare la compilazione dell'applicazione in background durante le normali attività di sviluppo, in modo che quando arriva il momento di provarla, essa è già pronta, almeno per la maggior parte.
Come funziona
Innanzitutto è necessario attivare il compilatore in background, impostando l'apposito flag nella pagina "generali" delle opzioni di IN.DE. Da questo momento, mentre si modifica l'applicazione, IN.DE lancia un processo parallelo che si occupa di creare il codice sorgente di basso livello per tutte le parti dell'applicazione che risultano modificate.
Se stai lavorando su un computer dotato di processore dual-core, la compilazione è a carico del secondo processore, quindi non rallenta la normale operatività del sistema. E' opportuno tenere conto tuttavia delle note elencate di seguito.
Quando tutte le parti dell'applicazione risultano compilate, se l'applicazione è basata su Java viene lanciato in background anche il compilatore java, in modo da avere l'applicazione già pronta ed installata per la maggior parte. Nell'ambiente .NET, invece, la modifica del sorgenti causa automaticamente la ricompilazione degli stessi da parte del framework .NET.
E' facile notare i benefici di questa impostazione: quando premerai F5 per lanciare la compilazione del progetto, i tempi di validazione, generazione, compilazione ed installazione si ridurranno in media ad 1/5 del normale, perchè la maggior parte delle operazione è già stata svolta.
Note
- L'uso del compilatore in background è opportuno solo se si usa un computer dotato di dual-core o dual-processor, altrimenti il rallentamento dell'operatività dovuto alla compilazione in background è avvertibile.
- Se il progetto non contiene almeno 50 videate o classi, non è conveniente attivare il compilatore in background perchè il vantaggio che porta non è così elevato.
- Siccome non è ammessa la modifica del progetto durante la compilazione in background, ogni volta che esegui una modifica, il sistema si occupa di stoppare l'eventuale compilazione in corso. Normalmente è possibile fermare la compilazione in meno di 100 msec, tuttavia a volte è possibile notare un piccolo rallentamento in attesa che il compilatore in background termini, in questo caso la status bar segnala la condizione mostrando un messaggio. Se noti troppi rallentamenti, è possibile che il tuo progetto non sia adatto alla compilazione in background, ed in questo caso la puoi disabilitare.
- Nel caso di applicazione java, quando è terminata la generazione del codice, IN.DE lancia in background il compilatore java. Questa operazione può richiedere anche due secondi, tuttavia viene eseguita solo se c'è una massa sufficientemente grande di codice java da compilare.
- Sia nel caso java che .net, le eventuali applicazioni web lasciate in esecuzione durante la modifica del progetto IN.DE vedranno le loro sessioni invalidate dalla ricompilazione dell'applicazione da parte del compilatore java o .net.
Risoluzione dei problemi
- Se al termine della compilazione del progetto si ottengono errori di compilazione inattesi, è consigliabile riprovare a compilare attivando il flag "Ricompila tutto" nella videata delle opzioni di compilazione dell'applicazione web.
- E' possibile tenere sotto controllo le attività di compilazione in background attivando il flag "mostra messaggi" nella videata delle opzioni di IN.DE. Per default tali messaggi non vengono mostrati perchè possono distrarre l'attenzione dal problema in fase di sviluppo.
- Si ricorda inoltre che per minimizzare i tempi di ricompilazione è consigliabile ricorrere alla definizione di subject area che eliminano dalla compilazione tutto ciò che non è inerente alla funzionalità in fase di sviluppo.
Ultima modifica: 23/03/2021 / Validità: da 7.0.3200