tricks snippets meaning examples code almanac css design user-interface

snippets - ¿Por qué no hay creador de GUI similar a CSS



css tricks snippets (7)

Está bien, entonces esto probablemente se cerrará o lo que sea, no me importa. Debo decir esto porque me frustra muchísimo.

Érase una vez, venía de un fondo html / css / php en las vastas profundidades del desarrollo de aplicaciones. Paseé por los valles de Java y exploré los misterios de C #. Jadeé ante la belleza de Ruby, caí sobre la obstinada simplicidad de Bash y de vez en cuando volvía a visitar a mis viejos amigos HTML, CSS y PHP.

Fue hasta que tuve la misión de crear una aplicación de escritorio en Java que me sorprendió el dolor y el sufrimiento que tuve que pasar para hacer que la aplicación sea más o menos fácil de usar en términos de apariencia.

Estaba atrapado en una pesadilla de LayoutManagers, parámetros de acoplamiento y cualquier criatura asquerosa mintió más allá de las puertas de java.swing y compañeros.

En este punto, sentí una idea que se reprodujo en mí. Como fue dicho por Cobb; ¿Cuál es el parásito más resistente? Bacterias? ¿Un virus? ¿Un gusano intestinal? Una idea. Resistente ... muy contagioso. Una vez que una idea se ha apoderado del cerebro es casi imposible de erradicar. Una idea que está completamente formada, completamente entendida, que se adhiere; Justo ahí en algún lado. - Ya sabes, esa idea.

Me preguntaba, ¿por qué no podría ser tan fácil como lo hizo mi amigo CSS? Layouting como tal, utilizando márgenes, bordes, flotantes, lo que sea.

Las aplicaciones web modernas están completamente diseñadas en CSS puro, simple y fácil. ¿Estoy loco por querer lo mismo para mis aplicaciones de escritorio? La brecha entre ambos se cierra cada vez más a medida que escribo esto. Hay páginas web que son mucho más complejas que cualquier cosa que la mayoría de los programadores escriban en toda su vida.

Simplemente no puedo entender por qué la creación de GUI tiene que ser un alboroto. Probablemente es solo porque vengo de un entorno diferente y estoy acostumbrado al estilo de CSS, así que solo me siento de esta manera, pero aún así;

¿Nadie ha pensado en esto alguna vez? ¿Sería tan difícil crear un analizador CSS para darle estilo a la GUI? Con los mismos métodos exactos que en el desarrollo web? Clases, identificaciones, selectores, etc. ¿Cuál es la gran dificultad para crear esto?

¿Alguien siquiera siente lo mismo que yo?

O (lo que sería bastante desagradable) ¿existe una herramienta así y yo era demasiado estúpido para encontrarlo?


¿Por qué molestarse lo suficientemente pronto HTML y Javascript será la forma universal y global de escribir aplicaciones para usuarios ^^

Además, realmente no he usado WPF pero parece involucrar una técnica de construcción de IU "declarativa" en la forma en que describes tus sueños y se extiende a Silverlight y a todo tipo de tecnologías de Microsoft. No pueden estar solos en ese enfoque ...


El WPF de Microsoft NET (Windows Presentation Foundation) es una solución de creación de GUI similar a HTML + CSS.

IMO, es mucho más versátil que HTML, pero aún así es fácil de usar (y para crear código GUI legible).

Definir el diseño es tan fácil como esto:

<DockPanel> <Label Content="Dock Panel Layout Demo" FontSize="15" FontWeight="Bold" Background="LightBlue" Foreground="Blue" DockPanel.Dock="Top"/> <Label Content="Footer" FontSize="15" FontWeight="Bold" Background="LightGray" DockPanel.Dock="Bottom" /> <Label Content="Left Pane" FontSize="15" FontWeight="Bold" Width="125" Background="Firebrick" DockPanel.Dock="Left"/> <Label Content="Content Pane" FontSize="15" FontWeight="Bold" Width="255" Background="Beige"/> <Label Content="Right Pane" FontSize="15" FontWeight="Bold" Width="125" Background="Khaki" DockPanel.Dock="Right"/> </DockPanel>

Y estilos:

<Window.Resources> <Style x:Key="myStyle" TargetType="Button"> <Setter Property="Background" Value="Orange" /> <Setter Property="FontStyle" Value="Italic" /> <Setter Property="Padding" Value="8,4" /> <Setter Property="Margin" Value="4" /> </Style> </Window.Resources>


El lenguaje basado en XML de Mozilla XUL usa CSS como una herramienta para el diseño de la interfaz gráfica de usuario. Tienen un artículo sobre " Skinnable XUL y CSS ". :)


En aplicaciones Qt, puede usar una sintaxis similar a CSS, llamada QSS.
La próxima versión también tendrá una "interfaz de usuario declarativa", llamada QML.

WPF y Silverlight también usan un lenguaje declarativo basado en XML para su interfaz de usuario, llamado XAML.


Es todo una cuestión de perspectiva. He estado haciendo desarrollo de aplicaciones de escritorio durante un par de décadas. Creo que CSS es absolutamente horrible. Es ridículamente difícil crear un diseño decente, y la verdadera interactividad es un dolor real. En mi opinión.

Ahora, uso principalmente tcl / tk y python / wxpython, lo que hace que el desarrollo de la GUI sea bastante fácil. Puedo ver cómo, si su primer contacto con la programación de la GUI de escritorio es java, sacó la conclusión de que lo hizo. No me gustaría que Java GUI programara en nadie.


Si no está reparado en Java, WPF con su XAML es una especie de enfoque que está describiendo, separando el diseño de la lógica como lo hace CSS con HTML.


"CSS puro, simple y fácil"

Dudo que hayas hecho sitios web / aplicaciones que sean compatibles con navegadores y sitios web independientes del navegador.

La verdad es mucho más dolorosa de lo que piensas.

Estaría eternamente agradecido de nunca más usar otro "truco de modelo de caja".