Beste Sprache für Benutzeroberflächen ohne Drag schnell erstellen und fallen? [geschlossen]

StackOverflow https://stackoverflow.com/questions/460085

  •  19-08-2019
  •  | 
  •  

Frage

Ich bin ein blinder Student, der eine Einführung in die Programmierung Klasse nimmt, die auf User Interface Design konzentriert. Die Klasse wird mit Verarbeitung, die völlig unzugänglich ist. Ich suche nach einer Sprache, die ich GUIs ohne Drag & Drop erstellen kann und hoffentlich klug genug sein, die größten Teil des Layouts zu tun, ohne mich zu zwingen Steuerpositionen in Pixeln angegeben werden.

Ich weiß, Perl, Java, C / C ++, C # und HTML. Ich erwäge HTA Anwendungen. Meine einzigen Voraussetzungen sind, dass die Sprache unter MS Windows ausgeführt werden muss und darf nicht SWING oder GTK als Underlying Toolkit verwenden.

War es hilfreich?

Lösung

Beim Reden als blinden Programmierer:

  • C # + WinForms: Sie können entweder den Code von Hand erstellen und Layout-Manager verwenden oder die Größen im Kopf berechnen, oder wenn Sie den JAWS Screenreader verwenden, dann gibt es Skripte, die Ihnen in den WinForms-Designern helfen.
  • C # + WPF: Hier können Sie Ihre UI in XML definieren, aber es ist komplexer Kopf herum zu erhalten. Sicherlich sieh dir das an, da es eine sehr schöne Lösung ist. das andere Problem mit WPF im Moment ist, dass nicht alle Screen-Reader diese neuere Technologie unterstützen.
  • Jamal Mazrui bei www.EmpowermentZone.com hat etwas namens "Layout durch Code" erstellt, aber ich habe keine Erfahrung mit diesem.
  • HTML + Javascript wäre schön, aber ich bezweifle es in Ihrem Kurs zugelassen werden würde.
  • wxwidgets: Ich habe nicht viel Erfahrung mit dieser Cross-Plattform, UI-Toolkit für mehrere Sprachen, aber ich glaube, es Layout-Manager hat und somit durch mehr blinden Programmierer verwendet wird, ich weiß
  • .
  • Schließlich habe ich Win32-Ressource-Skripte von Hand zu entwerfen, Größen in meinem Kopf (kein Layout-Manager) zu berechnen. Dies ist sicherlich erreichbar, wenn Sie diesen Weg nehmen wollte.

Insgesamt WPF ist schön, aber stellen Sie sicher, dass Ihr Bildschirmleser mit dieser Art von App funktioniert. Die nächstbeste Alternative ist wahrscheinlich WinForms. Wenn Sie wie die Layout-By-Code dann verwenden, aber wenn dies ist eine Fähigkeit, die Sie für die Beschäftigung wollen, dann ist das im Auge behalten.

Andere Tipps

Ich würde sagen, dass XAML eine gute Wahl wäre:

  • Pixel Manipulation ist nicht erforderlich
  • Item-Funktionalität in Code hinter
  • Kann Pixel für Änderungssteuerung hinzufügen später
  • Es gibt eine Vielzahl von Dokumentationen auf wie man es verwenden,

Vielleicht, wenn Sie geben uns eine Vorstellung von dem, was man die Sprache müssen für wir Ihnen bessere Vorschläge geben kann.

werfen Sie einen Blick auf XAML. Ich denke, es könnte ein guter Anfang für beide modernen Windows- und Web-UI Schöpfer sein.

Tcl / Tk wird genau das tun, was Sie wollen. Das Pack und Raster Layout-Manager basiert auf logische relative Anordnung der Widgets.

Obwohl die "native" Sprache der Tk Tcl ist, haben viele andere Sprachen eine Tk-Bindung.

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

Überprüfen Sie, dieses Projekt auf Codeplex aus. Es kann Ihnen helfen (als Alternative zur Verarbeitung und Java) http://bling.codeplex.com/

ling ist eine C # -basierte Bibliothek für die einfache Programmierung Bilder, Animationen, Interaktionen und Visualisierungen auf Microsofts WPF / .NET. Bling ist auf Design-Technologen orientiert, das heißt, Designer, die manchmal Programm, in dem Rapid-Prototyping von Rich UI-Design-Ideen zu unterstützen. Studenten, Künstler, Forscher und Bastler werden auch für schnell Ideen auszudrücken oder Visualisierungen Bling nützlich als Werkzeug finden. Bling APIs und Konstrukte sind für die schnelle Programmierung optimierten Code von wegzuwerfen wie die sorgfältige Programmierung von Produktionscode gegenüber.

Bling, wie die folgenden Merkmale, dass die Hilfe in dem Rapid-Prototyping von Rich UIs:

* 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 ist ein Open-Source-Projekt von Sean McDirmid und Freunden erstellt in Design Rapid Prototyping zu unterstützen. Wir verwendeten Bling unsere Produktivität zu steigern und möchten es mit anderen WPF UI-Design prototypers teilen.

Ich würde wahrscheinlich versuchen, C #. Es hat ziemlich freundliche Schnittstellen zu Windows Common Controls und dergleichen auch ohne Verwendung von Drag & Drop zu machen. Nur nicht Verwendung des Designers und Code als normal machen.

ich nicht Programm in Java, aber ich weiß, dass Java für die programmatische Erstellung der Benutzeroberfläche bereitstellt und bietet einige wunderbaren Layout-Management-Komponenten (Heimisch in Java ohne SWING erforderlich). Ich zum ersten Mal in dem Layout-Manager ausgesetzt zurück in den guten alten Tagen von X11 mit X-Toolkits (jemand erinnert Motiv, Openlook, HP Open View?) Und Java scheint eine ähnliche Technologie angenommen zu haben.

Sie können Windows, Dialoge und Menüs alle aus einfachen Layout-Manager erstellen.

Das gesichtet mich und nicht gearbeitet zu eng an alles, was für die Zugänglichkeit oder schwer zugänglich durch blinde Nutzer geprüft jemals wurde, glaube ich nicht meine Antwort furchtbar gründlich sein wird. Mein erster Instinkt ist jedoch zu sagen, dass irgendeine Art von dynamischen Web-Server-Architektur, die HTML wie C #, PHP oder Coldfusion erzeugt wird Ihre Beschreibung passen die meisten des Layouts für Sie Umgang, ohne dass Sie die Kontrolle Positionen in Pixeln angeben. Es ist sicherlich die Verfügbarkeit zu Steuerpositionen in Pixel über CSS angeben, aber es ist nicht erforderlich. Und ich weiß, HTML auch gut definierte Standards für die Zugänglichkeit hat, während ich bin nicht sicher, was der Status auf Zugänglichkeitsstandards mit anderen Arten von Software ist.

Sie können JavaScript und HTML verwenden. Es gibt einen Hafen der Verarbeitung JavaScript aktivieren, damit Sie wissen, dass es für die Dinge stark genug ist, die Klasse zu decken. Sie können HTML-Autor ohne eine einzige Sache, zu wissen, wie es aussieht. In der Tat, das ist die bevorzugte Art und Weise html an Autor.

Der größte Nachteil von JavaScript ist Javascript selbst, sondern der Browser dom. Das ist die Schnittstelle in den HTML-Elemente zu steuern. Allerdings ist eine Bibliothek wie jQuery oder Mootools oder Dojo können die meisten dieser Probleme kümmern.

Wie bei accessiblity, haben einen Blick auf WAI ARIA auch Oper Einführung in WAI ARIA .a

WAI ARIA ist ein Weg, um reich Javascript-Anwendungen zu erstellen, während mit Screenreadern schön spielen. Es ist sehr cool. Ich habe nicht mehr Arbeit und Leidenschaft in die Herstellung der Bahnstapel zugänglich in einem anderen Programmier Stapel gelegt gesehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top