Lo pido porque tengo que preparar la documentación técnica de un producto. ¿Hay alguna diferencia entre un control y un widget? Por ejemplo, dado el control this, ¿prefieres llamarlo widget? Pasando por wikipedia, parece que ambos términos se pueden usar indistintamente. ¿Es eso correcto?¿Hay alguna diferencia entre un control y un widget?
Respuesta
Si bien puede haber una definición formal en el diccionario de alguien que dibuja una distinción sutil entre dos términos, yo diría que para todos los propósitos prácticos, son intercambiables.
Conocí a varios diseñadores de interfaces de usuario, desarrolladores, etc. que simplemente intercambian esos términos a diestra y siniestra. "Control de lista", "Widget de lista", e incluso ocasionalmente, "Complemento de lista".
Incluso he visto toolkits de GUI que básicamente definen un "widget" como un "control de UI" y un "control de UI" como un "widget", dándonos una buena definición recursiva.
Si observa algo como Qt, "cada control de UI hereda de un QWidget" (desde botones hasta los controles más sofisticados).
Dado el número de personas que usan estos términos indistintamente, yo diría que es perfectamente aceptable hacer lo mismo, incluso en un documento técnico. Eso no quiere decir que el status quo define la corrección, pero no tengo conocimiento de ninguna autoridad que lo defina más allá del status quo. Tal vez podrías hacer algo mejor que la mayoría al simplemente mantener uno de estos dos términos.
- 1. ¿Hay alguna diferencia entre un GUID y un UUID?
- 2. ¿Hay alguna diferencia entre un CGRect y un NSRect?
- 3. Diferencia entre un complemento jQuery y un widget jQuery?
- 4. ¿Hay alguna diferencia entre una entidad y un objeto?
- 5. Diferencia entre un control web y un control compuesto?
- 6. ¿Hay alguna diferencia entre System.Windows.Clipboard y System.Windows.Forms.Clipboard?
- 7. ¿Hay alguna diferencia entre UITableViewCellAccessoryDetailDisclosureButton y UITableViewCellAccessoryDisclosureIndicator
- 8. ¿Hay alguna diferencia entre MsgBox y MessageBox.Show?
- 9. ¿Hay alguna diferencia entre SSLv3 y TLS1.0?
- 10. ¿Hay alguna diferencia entre CPython y Python
- 11. ¿Hay alguna diferencia entre `ListView.invalidateViews()` y 'Adapter.notifyDataSetChanged()'?
- 12. ¿Hay alguna diferencia entre DataTable.Clear y DataTable.Rows.Clear?
- 13. ¿Hay alguna diferencia entre log4net.Config.BasicConfigurator.Configure() y log4net.Config.XmlConfigurator.Configure()?
- 14. ¿Hay alguna diferencia entre! == y! = En PHP?
- 15. ¿Hay alguna diferencia entre: window.localStorage y localStorage?
- 16. ¿Hay alguna diferencia entre .NET y ASP.NET
- 17. ¿Hay alguna diferencia entre is_int() y ctype_digit()?
- 18. ¿Hay alguna diferencia entre gluLookAt() y glFrustum()?
- 19. ¿Hay alguna diferencia entre readonly y {get; }
- 20. ¿Hay alguna diferencia entre (local), '.' y localhost?
- 21. ¿Hay alguna diferencia entre agregar CommandBindings a un control versus usar RegisterClassCommandBinding?
- 22. ¿Hay alguna diferencia (de rendimiento) entre Depurar y Liberar?
- 23. ¿Hay alguna diferencia entre un servidor web y un servicio web?
- 24. ¿Hay alguna diferencia entre SqlConnection.CreateCommand y el nuevo SqlCommand?
- 25. ¿Hay alguna diferencia entre delegate/selector y target/action?
- 26. ¿Hay alguna diferencia entre UTF8Encoding.UTF8.GetBytes y Encoding.UTF8.GetBytes?
- 27. ¿Hay alguna diferencia entre 'imprimir' y 'eco' en PHP?
- 28. ¿Hay alguna diferencia entre BOOL y Boolean en Objective-C?
- 29. ¿Hay alguna diferencia entre "! =" Y "<>" en Oracle Sql?
- 30. ¿Hay alguna diferencia entre utilizar este puntero y no usarlo?
Diría que un widget, está bien, como el que encontraría en el Tablero o en la Barra lateral y que a menudo se convierte en una "decoración" del entorno de host. En general, un widget puede hacer cosas por sí mismo, mientras que un control debe ser "usado como parte de" algo más grande. Un control puede ser mucho más simple: un botón, una etiqueta, un formulario o, en ese caso, una barra/botón de clasificación. Es un * grupo de controles relacionados que hacen que un widget haga cosas útiles *. –