En este post continúo transcribiendo algunas notas que tomé durante el curso de Human-Computer Interaction del Interaction Design Foundation, cuyo profesor es Alan Dix.
El curso, que recomiendo fuertemente, está en https://www.interaction-design.org/courses/human-computer-interaction.
Este post está relacionado a la temática de Implementación, específicamente toolkits y capas.
Observación: ¡Las notas las redacté en inglés porque el curso es en inglés!
Espero que les sirvan 🙂
Implementation Support
Ways in which human-computer interaction directly affects the programmer:
- Levels of abstraction – these are hardware-specific.
- Three layers of development tools:
- Windowing systems.
- Interaction toolkits.
- Architecture styles and frameworks.
Programming the Application – Toolkits
When coding applications you usually do not deal with the raw window manager or operating systems, but with a toolkit.
The toolkit is a little unit of canned code that works out how to show a button for example, and the actions associated with each element in the interface.
Toolkits and widgets are synonyms.
Widgets are interaction objects; they involve both input and output because they are intrinsically linked.
Toolkits have layout support already in them.
Toolkits package the interactions with the OS, like copy/paste and sound for example.
Layers
The toolkit is built on top of the window manager layer, so it is giving you a higher level of abstraction. This:
- Promotes consistency.
- Means it is easier to code.
- Means it is easier to port between platforms. i.e: you could have a Java application working in a Macintosh OS or a Windows OS.