usados tipos sirve que programas programar programacion para nuevos mejores mejor mas los lenguajes lenguaje escritorio cada aplicaciones design user-interface accessibility

design - tipos - ¿El mejor lenguaje para crear rápidamente interfaces de usuario sin arrastrar y soltar?



para que sirve cada lenguaje de programacion (9)

échale un vistazo a XAML. Creo que podría ser un buen comienzo para los creadores modernos de Windows y UI web.

Soy un estudiante universitario ciego que está tomando una introducción a la clase de programación que se centra en el diseño de la interfaz de usuario. La clase usa Processing, que es completamente inaccesible. Estoy buscando un lenguaje que me permita crear GUI sin necesidad de arrastrar y soltar y, con suerte, ser lo suficientemente inteligente como para hacer la mayor parte del diseño sin forzarme a especificar posiciones de control en píxeles.

Sé Perl, Java, C / C ++, c # y HTML. Estaba considerando crear aplicaciones HTA. Mis únicos requisitos son que el lenguaje debe ejecutarse bajo MS Windows, y no debe usar SWING o GTK como el kit de herramientas subyacente.


Al ser vistos por mí mismos y no haber trabajado demasiado estrechamente en nada que haya sido auditado para su accesibilidad o para el que los usuarios ciegos tengan acceso, no creo que mi respuesta sea demasiado exhaustiva. Mi primer instinto, sin embargo, es decir que algún tipo de arquitectura dinámica de servidor web que genera HTML como C #, PHP o ColdFusion se ajustará a su descripción de manejar la mayor parte del diseño sin requerir que especifique posiciones de control en píxeles. Ciertamente hay disponibilidad para especificar posiciones de control en píxeles a través de CSS, pero no es obligatorio. Y sé que HTML también tiene estándares bien definidos para la accesibilidad, mientras que no estoy seguro de cuál es el estado de los estándares de accesibilidad con otros tipos de software.


Hablando como un programador ciego:

  • C # + WinForms: puede crear el código a mano y usar administradores de diseño o calcular los tamaños en su cabeza, o si está usando el lector de pantalla JAWS, entonces hay scripts que lo ayudarán en el diseñador de WinForms.
  • C # + WPF: Aquí define su UI en XML, pero es más complejo darse cuenta. Sin duda mire esto, ya que es una solución muy agradable. El otro problema con WPF en este momento es que no todos los lectores de pantalla admiten esta tecnología más nueva.
  • Jamal Mazrui en www.EmpowermentZone.com ha creado algo llamado "Diseño por código", pero no tengo experiencia con esto.
  • HTML + Javascript sería bueno, pero dudo que esté permitido en tu curso.
  • WXWidgets: no tengo mucha experiencia con este conjunto de herramientas de interfaz de usuario multiplataforma y multilingüe, pero creo que tiene administradores de diseño y, por lo tanto, lo utilizan varios programadores ciegos que conozco.
  • Finalmente, solía diseñar scripts de recursos de Win32 a mano, calculando los tamaños en mi cabeza (sin administradores de diseño). Esto es ciertamente posible si quisieras tomar esta ruta.

En resumen, WPF es agradable, pero asegúrese de que su lector de pantalla funcione con este tipo de aplicación. La siguiente mejor alternativa es probablemente WinForms. Si te gusta Layout By Code, úsala, pero si esta es una habilidad que deseas para un empleo, tenlo en cuenta.


No programo en Java, pero sé que Java proporciona la creación programática de la UI Y proporciona algunos maravillosos componentes de Layout Management (Nativo de Java sin necesidad de SWING). Primero me expuse a los administradores de diseño en los buenos tiempos de X11 con X Toolkits (¿alguien recuerda Motif, OpenLook, HP Open View?) Y Java parece haber adoptado una tecnología similar.

Puede crear Windows, Diálogos y Menús desde simples gestores de diseño.


Probablemente intente usar C #. Tiene interfaces razonablemente amigables con los controles comunes de Windows y similares, incluso sin hacer uso de arrastrar y soltar. Simplemente no hagas uso del diseñador y el código como siempre.


Puede usar javascript y html. Hay un puerto de procesamiento para javascript, por lo que sabes que es lo suficientemente potente para las cosas que cubrirá tu clase. Puede crear html sin saber una sola cosa sobre cómo se ve. De hecho, esa es la forma preferida de crear html.

La desventaja principal de javascript no es javascript, sino el dom del navegador. Esa es la interfaz para controlar los elementos html. Sin embargo, una biblioteca como jquery, o mootools, o dojo puede encargarse de la mayoría de esos problemas.

En cuanto a accessiblity, eche un vistazo a WAI ARIA, también la introducción de la ópera a WAI ARIA .a

WAI ARIA es una forma de crear aplicaciones enriquecidas de JavaScript mientras se juega bien con los lectores de pantalla. Es muy genial. No he visto más trabajo y pasión en hacer que la pila web sea accesible en cualquier otra pila de programación.


Tcl / Tk hará exactamente lo que quieras. Los administradores de diseño de paquete y cuadrícula se basan en la ubicación relativa lógica de los widgets.

Aunque el lenguaje "nativo" de Tk es Tcl, muchos otros lenguajes tienen un enlace Tk.

label .l -text "this is a label" button .b -text ''quit'' -command "exit" pack .l .b


Yo diría que xaml sería una buena opción:

  • La manipulación de píxeles no es necesaria
  • Funcionalidad del elemento en el código detrás
  • Puede agregar píxeles cambiando para control más adelante
  • Hay mucha documentación sobre cómo usarlo

Tal vez si nos das una idea de para qué vas a necesitar el idioma, podemos darte mejores sugerencias.


Mira este proyecto en codeplex. Puede ayudarte (como alternativa al procesamiento y java) http://bling.codeplex.com/

ling es una biblioteca basada en C # para programar fácilmente imágenes, animaciones, interacciones y visualizaciones en WPF / .NET de Microsoft. Bling está orientado a los tecnólogos del diseño, es decir, a los diseñadores que a veces programan, para ayudar en la rápida creación de prototipos de ideas de diseño de IU. Los estudiantes, artistas, investigadores y aficionados también encontrarán Bling útil como una herramienta para expresar rápidamente ideas o visualizaciones. Las API y construcciones de Bling están optimizadas para la rápida programación del código throw away en lugar de la programación cuidadosa del código de producción.

Bling como las siguientes características que ayudan en la creación rápida de prototipos de IU enriquecidas:

* Declarative constraints that maintain dynamic relationships in the UI without the need for complex event handling. For example, button.Width = 100 - slider.Value causes button to shrink as the slider thumb is moved to the right, or grow as it is moved to the left. Constraints have many benefits: they allow rich custom layouts to be expressed with very little code, they are easy animate, and they support UIs with lots of dynamic behavior. * Simplified animation with one line of code. For example, button.Left.Animate.Duration(500).To = label.Right will cause button to move to the right of label in 500 milliseconds. * Pixel shader effects without the need to write HLSL code or boilerplate code! For example, canvas.CustomEffect = (input, uv) => new ColorBl(new Point3DBl(1,1,1) - input[uv].ScRGB, input[uv].ScA); defines and installs a pixel shader on a canvas that inverts the canvas''s colors. Pixel shading in Bling takes advantage of your graphics card to create rich, pixel-level effects. * Support for multi-pass bitmap effects such as diffuse lighting. * An experimental UI physics engine for integrating physics into user interfaces! The physics supported by Bling is flexible, controllable, and easy to program. * Support for 2.5D lighting. * A rich library of geometry routines; e.g., finding where two lines intersect, the base of a triangle, the area of triangle, or a point on Bezier curve. These routines are compatible with all of Bling''s features; e.g., they can be used in express constraints, pixel shaders, or physical constraints. Bling also provides a rich API for manipulating angles in both degrees and radians. * And many smaller things; e.g., a frame-based background animation manager and slide presentation system. * As a lightweight wrapper around WPF, Bling code is completely compatible with conventional WPF code written in C#, XAML, or other .NET languages.

Bling es un proyecto de código abierto creado por Sean McDirmid y sus amigos para ayudar en el diseño de prototipos rápidos. Usamos Bling para mejorar nuestra productividad y nos gustaría compartirlo con otros prototipos de diseño de interfaz de usuario de WPF.