代码之家  ›  专栏  ›  技术社区  ›  F.P

为什么没有类似于gui creator的CSS[关闭]

  •  30
  • F.P  · 技术社区  · 14 年前

    好吧,所以这可能会被关闭,我不在乎。我不得不这么说,因为这让我很沮丧。

    曾几何时,我从一个HTML/CSS/PHP的背景来到了应用程序开发的巨大深度。我徘徊在爪哇山谷,探索了C的奥秘。我对Ruby的美丽大吃一惊,对bash顽固的简单性大吃一惊,不时回来拜访我的老朋友HTML、CSS和PHP。

    直到我在Java中创建一个桌面应用程序的时候,我才感到震惊和痛苦,为了让应用程序在外观和感觉上更加友好。

    我陷入了一场恶梦:外派经理,停靠参数,以及任何邪恶生物在java.swing和同伴的大门外撒谎。

    在这一点上,我觉得我有一个想法在滋生。正如科布所说; 什么是最有弹性的寄生虫?细菌?病毒?肠道蠕虫?一个主意。有弹性的。。。高度传染性。一旦一个想法占据了大脑,就几乎不可能根除它。一个完全形成的,完全理解的想法;就在那里的某个地方。 -你知道,这主意不错。

    我在想,为什么它不能像我的伙伴CSS所做的那样简单呢?如此布局,使用页边距、边框、浮动等。

    现代Web应用程序完全采用简单、简单、简单的CSS设计。我对桌面应用程序的需求是不是疯了?在我写这篇文章的时候,两者之间的差距越来越大。有很多网页比大多数业余程序员一生中写的任何东西都要复杂得多。

    我就是不明白为什么创建图形用户界面要这么麻烦。可能是因为我来自不同的背景,习惯了类似于CSS的样式,所以只有这样的感觉,但仍然如此;

    没人想过吗?要创建一个样式化GUI的CSS解析器会如此困难吗?与Web开发中的方法完全相同?类、ID、选择器等。创建此项的最大困难是什么?

    有人和我一样感觉吗?

    或者(什么会是相当灰烬)有这样一个工具,我只是太笨了找不到它?

    7 回复  |  直到 14 年前
        1
  •  12
  •   Kyle    14 年前

    Mozilla基于XML的语言 XUL 使用CSS作为GUI布局的工具。他们有一篇关于 Skinnable XUL and CSS “。:)

        2
  •  13
  •   Matěj Zábský    14 年前

    微软网的WPF(Windows演示基金会)是一种类似于HTML+CSS的GUI创建解决方案。

    在IMO中,它比HTML更加通用,但仍然易于使用(并创建可读的GUI代码)。

    定义布局非常简单:

    <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>
    

    风格:

    <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>
    
        3
  •  8
  •   Venemo    14 年前

    在Qt应用程序中,可以使用类似于CSS的语法,称为qss。
    下一个版本也将有一个称为QML的“声明性UI”。

    WPF和Silverlight还为其UI使用基于XML的声明性语言,称为XAML。

        4
  •  7
  •   Bryan Oakley    14 年前

    这完全是一个观点问题。我做桌面应用开发已经有几十年了。我觉得CSS非常糟糕。创建一个像样的布局是非常困难的,真正的交互性是一种皇家的痛苦。在我看来。

    现在,我主要使用tcl/tk和python/wxpython,这使得GUI开发非常容易。我可以看到,如果你第一次体验桌面GUI编程是Java,你就得出了你的结论。我不希望Java GUI编程在任何人身上。

        5
  •  6
  •   Jonathan    14 年前

    “纯、简单、简单的CSS”

    我怀疑您是否做过任何跨浏览器、可访问、不依赖浏览器的网站/应用程序。

    事实比你想象的要痛苦得多。

    我将永远感激不再使用另一个“盒子模型黑客”。

        6
  •  4
  •   Oskar Duveborn    14 年前

    为什么只要有足够的HTML和JavaScript就麻烦了?这将是编写面向用户的应用程序的通用且全面的方式。^^

    另外,我还没有真正使用WPF,但它似乎涉及到一种“声明性”的UI构建技术,就像您描述自己的梦想一样,它扩展到了Silverlight和各种各样的Microsoft技术。他们不能孤军奋战…

        7
  •  2
  •   Michael    14 年前

    如果您没有固定在Java上,WPF与其XAML是一种您正在描述的方法,将布局与逻辑分离,就像CSS和HTML一样。