Toolkit: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
rinomino GTK e toolkit in minuscolo |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Attività per i nuovi utenti Suggerito: aggiungi collegamenti |
||
(9 versioni intermedie di 7 utenti non mostrate) | |||
Riga 1:
Il termine '''toolkit''' (letteralmente «cassetta degli attrezzi») in [[informatica]] è utilizzato per riferirsi ad un insieme di strumenti [[software]] di base, in genere [[libreria (software)|librerie]], usati per facilitare e uniformare lo sviluppo di [[applicazione (informatica)|applicazioni]] derivate più complesse.▼
La maggior parte dei toolkit widget include inoltre il proprio motore di rendering. Questo motore può essere specifico per un determinato sistema operativo o sistema a finestre o contenere back-end per interfacciarsi con più sistemi multipli e anche con API di rendering come [[OpenGL]], [[OpenVG]] o EGL. L'aspetto degli elementi di controllo grafici può essere codificato o disaccoppiato, consentendo agli elementi di controllo grafici di essere a tema/skin.
▲Il termine '''toolkit''' in [[informatica]] è utilizzato per riferirsi ad un insieme di strumenti [[software]] di base per facilitare e uniformare lo sviluppo di [[applicazione (informatica)|applicazioni]] derivate più complesse.
== Panoramica ==
[[File:SWT-on-mac.png|alt=Una finestra che utilizza lo Standard Widget Toolkit|miniatura|Una finestra che utilizza lo Standard Widget Toolkit]]
Alcuni toolkit possono essere utilizzati da altre lingue impiegando associazioni linguistiche. I costruttori di interfacce grafiche come ad esempio Glade Interface Designer facilitano la creazione di GUI in maniera [[WYSIWYG]] utilizzando un [[linguaggio di markup]] dell'interfaccia utente come in questo caso GtkBuilder.
La GUI di un programma è comunemente costruita in modo a cascata, con elementi di controllo grafici aggiunti direttamente uno sopra l'altro.
La maggior parte dei toolkit dei widget utilizza la programmazione guidata dagli eventi come modello di interazione<ref>[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.9491 Past, Present and Future of User Interface Software Tools]. Brad Myers, Scott E. Hudson, Randy Pausch, Y Pausch. ACM Transactions on Computer-Human Interaction, 2000. [https://www.cs.cmu.edu/~amulet/papers/futureofhciACM.pdf]</ref>. Il toolkit gestisce gli eventi dell'utente, ad esempio quando l'utente fa clic su un pulsante. Quando viene rilevato un evento, viene trasmesso all'applicazione dove viene gestito. La progettazione di questi toolkit è stata criticata per aver promosso un modello di azione evento troppo semplificato, portando i programmatori a creare codice applicativo soggetto a errori, difficile da estendere ed eccessivamente complesso<ref name="Samek03b">{{Cita web|titolo=Who Moved My State?|autore=Samek, Miro|url=http://www.ddj.com/cpp/184401643|editore=C/C++ Users Journal, The Embedded Angle column|data=April 2003}}</ref>. Le macchine a stati finiti e le macchine a stati gerarchiche sono state proposte come modelli di alto livello per rappresentare i cambiamenti di stato interattivi per programmi reattivi.
== Sistemi di finestre ==
Una finestra è considerata un elemento di controllo grafico. In alcuni sistemi a finestre, le finestre vengono aggiunte direttamente al grafico della scena (Canvas) dal gestore delle finestre e possono essere impilate e sovrapposte l'una sull'altra in vari modi. Ogni finestra è associata a una particolare applicazione che controlla i widget aggiunti alla sua tela, che possono essere guardati e modificati dalle applicazioni associate.
== Layout manager ==
I gestori di layout (layout manager) sono componenti software utilizzati nei toolkit widget che hanno la capacità di disporre gli elementi grafici di controllo in base alle loro posizioni relative senza utilizzare unità di distanza<ref>{{Cita web|url=https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html|titolo=A Visual Guide to Layout Managers (The Java™ Tutorials > Creating a GUI With JFC/Swing > Laying Out Components Within a Container)|sito=docs.oracle.com|accesso=4 marzo 2021}}</ref>. I toolkit di widget che forniscono questa funzione possono generalmente essere classificati in due gruppi:
* Quelle in cui il comportamento del layout è codificato in appositi contenitori grafici. Questo è il caso di XUL e del toolkit widget di .NET Framework (sia in Windows Form che in [[XAML]]).
* Quelli in cui il comportamento del layout è codificato nei gestori di layout, che possono essere applicati a qualsiasi contenitore grafico. Questo è il caso del toolkit del widget Swing che fa parte dell'API Java.
=== Esempio in XAML ===
<syntaxhighlight lang="xml">
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
WindowTitle="myDock Panel">
<DockPanel>
<TextBlock DockPanel.Dock="Top">Top 1</TextBlock>
<TextBlock DockPanel.Dock="Top">Top 2</TextBlock>
<TextBlock DockPanel.Dock="Top">Top 3</TextBlock>
<TextBlock DockPanel.Dock="Top">Top 4</TextBlock>
</DockPanel>
</Page>
</syntaxhighlight>
== Toolkit usati da applicazioni famose ==
{{E|Elenco indiscriminato di wikilink a toolkit utilizzati da applicazioni "famose" (quali?)|informatica|ottobre 2022}}
Alcuni toolkit specifici sono:
* [[Abstract Window Toolkit]]
Riga 11 ⟶ 41:
* [[B-Toolkit]]
* [[BOOP Toolkit]]
* [[Claro toolkit]]
* [[Dojo Toolkit]]
* [[FOX toolkit]]
* [[Globus Toolkit]]
*[[GTK (toolkit)|GTK]], the [[GIMP]] Toolkit
* [[Google Web Toolkit|GWT]], Google Web Toolkit
* [[Harmony toolkit]]
Riga 38 ⟶ 67:
* [[Synthesis Toolkit]]
* [[Template Toolkit]]
* [[TIBCO General Interface]] AJAX [[Rich Internet application|Rich Internet Application]] Toolkit
* [[The Coroner's Toolkit]]
* [[User Interface Toolkit]] (UIM)
* [[X Toolkit]]
== Note ==
<references/>
== Voci correlate ==
*[[Libreria (software)|Libreria software]]
* [[Ambiente di sviluppo integrato]]
== Altri progetti ==
{{interprogetto}}
{{Portale|
[[Categoria:Programmazione]]
|