非常简单、简洁和容易的 GUI 编程“框架”;

发布于 2024-07-11 15:41:27 字数 1542 浏览 7 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

旧人哭 2024-07-18 15:41:27

不是开玩笑,而是 HTML。

它是跨平台的,并将 GUI 布局总结在一个简单的文本文件中。 它绝对是成熟的,并且易于理解和有据可查。

有很多方法可以为动态内容创建 HTML 文件模板,如果您不喜欢尖括号,还有其他方法可以将自定义语法转换为 HTML。

使用 Javascript 进行客户端脚本编写,使用 PHP/Ruby/Python/Perl 进行服务器端脚本编写。

它并不适合所有用途,但对于许多人来说,它已经足够好了。 也没有理由必须提供它 - 如果需要,您可以将 HTML 文件分发给您的客户 - 请参阅 TiddlyWiki 是一个很好的例子,说明它可以走向何方。

Not to kid, but HTML.

It's cross-platform, and sums up the gui-layout in a simple textfile. It's definitely mature, as well as well-understood and well documented.

There's a bunch of ways to template HTML files for dynamic content, and other ways to convert custom syntaxes to HTML if you dislike angle-brackets.

Client-side scripting w/ Javascript, server-side scripting with PHP/Ruby/Python/Perl.

It's not well suited for all purposes, but for many, it's good enough. There's no reason that it has to be served either - you can distribute a HTML file to your clients if you want - see TiddlyWiki for a good example of where that can go.

乖乖哒 2024-07-18 15:41:27

你所描述的是,除了鞋子之外,声明式编程的新概念。 我将鞋子更多地描述为 GUI 领域特定语言。 好吧,我说的是新奇的:如果您仔细观察 IDE 设计器的背后,就会发现 Visual Basic 表单是声明性的。 因此,追溯到更早的时期,Oracle 的 SQL*Forms 就已经出现了,尽管使用文本编辑器组装它们是一个只有最勇敢的人才能完成的过程。

为了向列表中添加另一个,Microsoft 有 XAML 其中,事物,描述了为 WPF 构建的 GUI。

虽然提到的一些方案相当简单,但声明式定义的 GUI 可以像代码中定义的任何内容一样复杂,但它们只是更简单、更简洁:它们说明您想要发生的“什么”,并将其留给底层框架来处理“如何”。

What you're describing is, with the exception of shoes, the new-fangled notion of declarative programming. I'd describe shoes more as a GUI Domain-Specifc Language. Well, I say new-fangled: Visual Basic forms, if you looked behind the IDE designer, were declarative. So, going further back still, were Oracle's SQL*Forms, although assembling them with a text editor was a process only to be be undertaken by the very bravest.

To add another to the list, Microsoft have XAML which, among other things, describes GUIs built for the WPF.

Although some of the schemes mentioned are fairly simple, declaratively-defined GUIs can be as complex as anything defined in code, they're just easier and terser: they say "what" you want to happen and leave it to the underlying framework to handle the "how".

寄意 2024-07-18 15:41:27

TCL/TK是一种用于交互式构建GUI的脚本语言。 它可在各种平台上使用,包括 Unix、Windows 和 Mac OS X。

TCL/TK is a script language used for building GUI interactively. It is available on various platforms including Unix, Windows and Mac OS X.

尘曦 2024-07-18 15:41:27

睡衣 - http:// pyjs.org - 它是一个桌面小部件集,伪装成基于 AJAX 的 Web 2.0 小部件集。 它非常不像一个网络小部件集,我实际上将它移植到桌面 - http://pyjd.org - 使用 webkit(与 adobe AIR、google chrome、safari 等中相同的引擎)

是“hello world”:

from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.Button import Button
from pyjamas import Window

def greet(fred):
    Window.alert("Hello, AJAX!")

if __name__ == '__main__':
    b = Button("Click me", greet)
    RootPanel().add(b)

立即回答五个要求中的前四个。 要求 5 就这样得到了满足:

from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.HorizontalPanel import HorizontalPanel
from pyjamas.ui.HTML import HTML

p = HorizontalPanel()
p.add(HTML("<b>Hello</b>"))
p.add(HTML("World"))
RootPanel().add(p)

再简单不过了。

Pyjamas - http://pyjs.org - it's a desktop widget set, disguised as an AJAX-based web 2.0 widget set. it's so very much NOT like a web widget set that i actually ported it to the desktop - http://pyjd.org - using webkit (the same engine in adobe AIR, google chrome, safari etc.)

this is "hello world":

from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.Button import Button
from pyjamas import Window

def greet(fred):
    Window.alert("Hello, AJAX!")

if __name__ == '__main__':
    b = Button("Click me", greet)
    RootPanel().add(b)

that immediately answers the first four out of five requirements. requirement 5 is fulfilled by this:

from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.HorizontalPanel import HorizontalPanel
from pyjamas.ui.HTML import HTML

p = HorizontalPanel()
p.add(HTML("<b>Hello</b>"))
p.add(HTML("World"))
RootPanel().add(p)

it couldn't get any simpler.

荒人说梦 2024-07-18 15:41:27

XUL(它非常容易使用,而且功能强大——Firefox 的大部分内容都是使用 XUL 实现的)用于 GUI 结构,+ javascript 用于逻辑处理)

XUL 教程 有一些很好的示例。 这是标签框的一个。 页面底部有可切换的选项卡、按钮、编辑框和组框,而且相当简单(没有 Javascript/CSS/XBL/键绑定/等)。 然后,他们逐步添加 更多 东西 稍后,对于指定它的文件的长度来说,这是很多功能。 (至少在你开始添加 javascript 来处理有问题的逻辑之前)如果我必须在 Win32 中做这样的事情,那将是一个真正的痛苦。

XUL (it's pretty easy to use, and powerful -- much of Firefox is implemented using XUL for GUI structure, + javascript for logic handling)

The XUL tutorial has some good examples. Here's one for tabboxes. The one at the bottom of the page has switchable tabs, buttons, edit boxes, and group boxes, and it's fairly simple (no Javascript/CSS/XBL/key bindings/etc). They then add progressively more stuff later which is a lot of functionality for the length of the file that specifies it. (at least until you start adding javascript to handle the logic in question) If I had to do something like this in Win32 it would be a real pain.

隐诗 2024-07-18 15:41:27

wxLua 是 Lua 的 wxWidgets 库的包装器。 它使用 Connect 方法将 gui 小部件事件附加到函数(函数是第一类,就像在 JS 中一样)。

wxLua is a wrapper of the wxWidgets library for Lua. It uses a Connect method to attach gui widget events to functions (functions are first class like in JS).

守护在此方 2024-07-18 15:41:27

GTK-server 使用起来非常简单,可以使用 30 多种语言,包括 Bash 和 Visual基本的。

GTK-server is extremely simple to use and can be used from more than 30 languages, including Bash and Visual Basic.

灼疼热情 2024-07-18 15:41:27

SDL/Swing 非常简洁、可读、不引人注目(283k 库,没有依赖项)并且易于使用。 示例:

menus {
    "File" {
        "Open" do="open" // calls "open()" in the controller
        "---"
        "Exit" do="exit"
    }
}

它是开源的,但享有 Ikayzo.com 的商业支持。 .NET 和 iOS 的移植正在进行中。

SDL/Swing is extremely terse, readable, unobtrusive (283k lib with no dependencies) and easy to use. Example:

menus {
    "File" {
        "Open" do="open" // calls "open()" in the controller
        "---"
        "Exit" do="exit"
    }
}

Its open source but enjoys commercial support from Ikayzo.com. Ports for .NET and iOS are underway.

如果没有你 2024-07-18 15:41:27

我今天遇到了SDL/Swing

I juat came across SDL/Swing today.

隔岸观火 2024-07-18 15:41:27

如果您使用 .NET 平台,您应该查看 XAML

You should have a look at XAML if you're on the .NET platform

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文