Tutorial:Progettare applet efficienti

Da GeoGebra Manual.

Quando si progetta un'applet di GeoGebra è importante assicurarsi che funzioni bene su qualsiasi supporto. Questo articolo offre qualche consiglio che può aiutarvi a creare applet performanti e visualizzate correttamente.

Punto fondamentale: testate direttamente l'applet in HTML5, non createla in Java e verificate solo alla fine la compatibilità con HTML5 (naturalmente se ad esempio notate una particolare lentezza nell'esecuzione, comunicatelo agli sviluppatori, in modo che possano fare le loro verifiche in merito). Al momento HTML5 è in linea di massima più lento di una esecuzione Java sullo stesso hardware.

Consigli di carattere generale

  • Nascondere tutti gli elementi dell'interfaccia utente che non sono necessari
  • Utilizzare stili particolari (tratteggi, immagini di sfondo) solo se necessario
  • Non posizionare testo nell'applet, se non strettamente necessario -- tenete conto del fatto che su GeoGebra è possibile inserire le istruzioni relative all'utilizzo del foglio di lavoro sia sopra che sotto l'applet
  • Evitare la visualizzazione di etichette degli oggetti non necessarie
  • Nascondere griglia e assi se non sono necessari
  • Se un determinato valore calcolato è utilizzato più volte nell'applet, conviene assegnarlo a una variabile e utilizzare al suo posto il nome della variabile
  • Vista Algebra:
    • Se sono necessarie le descrizioni algebriche di qualche oggetto, creare dei testi dinamici e nascondere la Vista Algebra
    • Per ridurre ulteriormente il tempo necessario all'aggiornamento dei valori visualizzati nella Vista Algebra, comprimere le categorie degli oggetti (ad esempio impostare la Vista Algebra ordinata per tipo di oggetto e comprimere tutte le liste) oppure contrassegnare gli oggetti come ausiliari

Consigli per lo scripting

  • Quando è possibile, utilizzare script di tipo JavaScript invece di script GeoGebraScript
  • ImpValore[a, c + b] è molto più veloce di a = c + b (in questo modo si evita il ricalcolo di tutta la costruzione) ma ggbApplet.setValue() è comunque l'assegnazione più veloce, perchè necessita di minore analisi interna.
  • ImpValore[a, Se[x < 3, 4, 5]] è più efficiente di Se[x < 3,ImpValore[a, 4], ImpValore[a, 5]]

Liste

I comandi Successione[ ] e Compatta[] possono risultare in alcuni casi molto lenti. Il Team sta lavorando sul miglioramento delle prestazioni di questi comandi, ma nel frattempo vale la pena di considerare l'utilizzo del Foglio di calcolo per generare successioni, e utilizzare la Condizione per mostrare l'oggetto per simulare il comando Successione[ ].

Animazioni

Nelle animazioni multi-fase, conviene costruire oggetti distinti gestiti da slider distinti, invece di un solo singolo oggetto gestito da un singolo slider.

Ecco un esempio efficiente per la soluzione di EDO (utilizzando uno slider a velocità variabile) che è decisamente più veloce rispetto all'utilizzo di script o eventi del tipo All'aggiornamento: http://www.geogebra.org/student/m23587

LaTeX

L'ideale è utilizzare i comandi TabellaTesto e LaTeX, comunque in generale il LaTeX di base viene visualizzato correttamente in HTML5: http://www.geogebra.org/student/m33487?mobile=true

Immagine

Non utilizzare immagini ad alta risoluzione quando non è necessario (specialmente nel comando Successione)

en:Tutorial:Responsive_Applets es:Tutorial:Creando Applets fr:Tutoriel:Appliquettes_réactives

© 2022 International GeoGebra Institute