【问题标题】:What RAD tools are out there? [closed]有哪些 RAD 工具? [关闭]
【发布时间】:2010-10-05 08:53:14
【问题描述】:

我们都知道诀窍:你有一个(小)模型,你需要持久化它,你需要一个 UI (网络、桌面、移动、前者的一些,所有这些)。

这是一个如此重复的过程,我不禁想知道为什么我们仍然坚持使用 POJO、OR 映射器和手工编写 UI(因为大多数 UI“设计师”甚至不知道继承,而您需要从头开始构建具有多个字段的每个确定/取消对话框)。 RAD tools/platforms 承诺会解决这个问题,但我还没有看到任何真实的东西。这个 wiki 的想法是收集所有工具,让您在几分钟内充实一个想法并从那里构建。简单的事情(例如为模型创建简单的 UI 或将其保存在数据库中)应该很简单。将一个相当复杂的对象附加到对话框以对其进行编辑应该只需要一行代码或更少;)

所以挑战来了:有哪些 RAD 工具可以在 8 小时内构建一个小型应用程序。为了让您了解它应该能够做什么,这里是规范:

  • 你有“知识”节点。每个这样的节点都有名称和附加的详细描述(单行和多行字符串)

  • 每个知识节点可以有任意数量的知识节点作为子节点(1:* 排序的父/子关系)。子节点需要保持顺序(即使用列表,而不是集合)

  • 每个知识节点可以附加任意数量的标签(1:*不同类型之间的无序关系)

  • 任意两个知识节点可以连接任意数量的关系(n:m 关系)

  • 应该可以轻松地从/作为 XML 和从/在数据库中加载/保存模型

  • 用户希望今天撤消/重做

UI 应提供标准操作:创建、重新排序和删除知识节点。重新排序应使用拖放。它应该允许从知识节点添加/删除标签。应该有一种简单的方法可以通过关系连接两个知识节点(比如以特殊模式将一个节点拖到另一个节点上)。

UI 还应该允许搜索具有特定标签或关系的节点。对于奖励积分,它应该提供一种导航关系图的简单方法。

有什么挑战吗?像往常一样,OSS 首选。

背景:我开发软件已经超过 25 年了。尽管如此,这个简单的应用程序仍然需要数周甚至数月的时间来编写我迄今为止遇到的任何语言:GroovyJavaPythonTcl/TkGrailsOpenOffice、@987654329 @、TreeLine、[TurboGears][10]、[Enthought Traits][11]、.net。

对竞争者的一些反馈。请注意,我试图在一个句子中突出重点,所以在下一节中保留一粒盐,好吗?

Groovy 语言优美,代码紧凑。关闭但缺乏 UI 部门。他们正在努力,但只是不在那里。对于持久性,只有开箱即用的 Java 序列化。

Java Java 在 10 年前问世时非常棒,但它的发展还没有那么大。它是一种陈旧的语言,拥有大量的库,但你只需要太多的代码来完成工作,而且每一行代码都需要时间来编写。

Python 几乎得到了它所需要的所有东西,但由于某种原因,它从未真正成为像 Java 这样的主流。使用PyQt4 设置了一个不错的 UI,使用SQLAlchemy 设置了一个很酷的 OR 映射器,但我们仍然没有看到它在全速前进。只有随着单元测试的出现,编写更大的项目才变得可行。该任务的级别太低。

Tcl/Tk 不错的小部件集,但是当代码大小超过某个点时,语言很糟糕。现在显示它的年龄。

OpenOffice 从 2.0 开始,OO 带有一个内置数据库和一个“类似 Access”的工具。它还处于起步阶段,但他们会到达那里......最终。无法处理父/子关系,因为 UI 不允许指定它们 (see bug)。在 3.1 中修复。使用 3.1,您可以创建模型,但编写 UI 仍然需要大量时间。

MS Access 几乎所有我们需要的东西,但 UI 选项非常有限。令人沮丧。

TreeLine无法实现关系,并且对于大多数其他用例来说过于受限(您根本无法用它做很多其他事情)

.net 我没有这方面的经验,主要是因为它只是 Windows。我认为这个可能非常接近,但让我们面对现实:锁定四分之一的人类有什么意义?

【问题讨论】:

  • 哇。您为什么在“问题中”发布答案?它有点消除了提出上述问题的目的。投票结束时“不是一个真正的问题”。
  • 关于您的“.NET”评论:您应该将其保留为“没有经验”。您可能锁定了已知世界的四分之一,但超过 91% 的企业在其桌面上运行 Windows。
  • 它实际上只适用于网络,但您可能还想看看 ColdFusion。此外,Flex/AIR 可以是一个很好的 RAD UI 层。
  • Gortok:这些不是有效的答案,因为它们在一个主要方面都失败了。好吧,也许除了 TurboGears、Grails 和 ETraits.... :/
  • Jas:如果他将其发布为答案,我们可以。 提示提示*

标签: rad


【解决方案1】:

Magic uniPaas:在我的第一份工作中使用它来开发 GUI。这是一个严肃的 RAD 工具,所有内容都是基于表格的。它还提供了一个运行时环境。当时它被称为 Magic eDeveloper。

【讨论】:

  • 你能用它做一个桌面应用吗? (即不需要服务器)
  • 我尝试学习在线课程(您可以从他们的网站下载),但它需要 MSSQL Server 2000 或更高版本。
【解决方案2】:

这取决于你的市场是谁。我可以告诉你一件事,你的市场永远不会包括全人类。因此,地球上可能有 25% 的人不使用 Windows 的事实对您来说并不重要。

对您而言重要的是您的市场中有多少人使用任何操作系统?如果您正在编写商业/金融应用程序并且只为 Windows 开发,那么您可能只遗漏了大约 0.05% 的市场(因为您最后一次听说使用 Mac 或 Linux 的会计师是什么时候? )。

但是,如果您正在编写一个用于制作音乐的程序(如 FruityLoops)并且只编写 Windows,那么您可能会遗漏 50% 的市场。

【讨论】:

  • 我同意你的想法,但那是另一回事。如果我没有工具,我就无法交付。所以我想把市场问题留在这里。
  • @Aaron Digulla:如果您没有工具,那么最好的办法就是获得该工具。 Visual Studio Express for .NET 是免费的。
【解决方案3】:

此答案与您的问题没有直接关系,但类似。对于我的项目,我使用的最接近的东西是NEsper,它是一个开源复杂事件处理框架 (CEP)。在过去的两个晚上,我为我正在组装的交易系统构建了一个回测器,正是 NEsper 让它变得如此之快——我想我是在你的 8 小时目标内完成的。

【解决方案4】:

REALbasic 是一个 RAD 工具工具 - 它的编译器生成本机可执行文件。它也是一个交叉编译器,这意味着您可以从任何平台构建任何平台。

仅专业版支持完整的数据库访问(400 欧元)。个人版售价 75 欧元,可以连接到 REALSQLDatabase(也来自 RealSoft 人员)。

HibernateSQLAlchemy 不同,您必须自己编写DB 层。

【讨论】:

  • 我同意它是 RAD - 但你能在 8 小时内编写出我指定的应用程序吗?数据库持久化?
【解决方案5】:

Delphi RAD StudioLazarus IDE 用于 pascal/delphi 语言。

【讨论】:

  • Delphi 还是只有 Windows 吗?曾经有一个Linux版本。那还能用吗?
  • Lazarus IDE 是用哪种语言编写的?我问是因为该网站说“选择您自己的 UI”,而 IDE 看起来不像我认识的任何 UI。
  • Kylix (Delphi for Linux) 不再存在。现在有 Delphi Prism,它是适用于 Windows、Linux 和 Mac 的 Delphi,但 IDE 是 Visual Studio,因此仅限于 Windows。
  • Lazarus 是用 Free Pascal 编写的。您可以在网站上找到源 URL。 Free Pascal Compiler是原生的跨平台编译器,支持Linux、Mac、64位、Delphi语法等。
  • Aaron Digulla:Lazarus 在 GTK2/QT/win32 (GDI)/Carbon 上使用自己的称为 LCL 的框架作为后端小部件集。还有一些开发较少的后端(比如试图成为自己的小部件集的 ownerdrawn,主要用于嵌入式项目)。有一些努力尽可能地重用本机小部件。 (所以它们实际上是 win32 小部件,而不是绘制的小部件)。自己的类库仿照 Delphi 原则
【解决方案6】:

我猜WinDev 也遵循 RAD 的理念。

注意:仅在 Windows 上运行,价格从 990 欧元起。附带多种工具。

【讨论】:

  • 我同意 WinDev。使用 DB 构建应用程序非常容易。我讨厌它的专有数据库。只有当我们使用它的专有数据库时,它似乎才支持它的 UML 之间的双向通信。
【解决方案7】:

Netbeans 的 Matisse 可视化编辑器非常适合 Swing 开发。

【讨论】:

  • 这几乎不是 RAD :) DB 层呢?快速为模型创建 UI?创建一个支持撤消/重做、拼写检查等的模型?
【解决方案8】:

Visual Studio - 最好的 RAD 工作室。如果你认为它不仅用于微软的开发工具,Delphi Prism 也使用它,SQL Server 的 SQL 管理工具都使用它,你就知道它的灵活性了。它也是免费的(RAD 工具/IDE - 不是开发工具)。

【讨论】:

  • SQL Server 也是免费的吗?如果没有,我有一个没有数据库的 RAD 工具......:/它与其他数据库(如 MySQL)的工作情况如何?是否可以在不向 MS 支付版税的情况下创建上述应用并出售结果?
  • 第 1 部分:SQL Server 的某些版本是免费的(例如 express 和 developer)。 SQL Server 管理工具仅适用于 SQL Server,但如果需要,可以将 Visual Studio IDE 扩展到其他 DB。
  • 第 2 部分:既可以使用 Visual Studio 开发工具创建应用程序,也可以扩展 Visual Studio 的可再发行版本以执行所描述的操作并在不支付版税的情况下出售。
  • -1 对于 RAD,您需要像 smalltalk 这样的对象图像。
  • Visual Studio 不是 RAD,试试 Delphi 之类的东西是不是你想看到 RAD 正确完成。
【解决方案9】:

Grails是一个快速构建Web应用程序的框架。它基于Groovy。您定义模型,从命令行运行两个命令,然后设置一个简单的CRUD UI,您可以在其中在 Web 浏览器中编辑模型。

仅限网络,有很多不错的想法,但由于this bug,您不能拥有父/子关系,这有望在 1.0.5 版本中得到修复。对于认真的开发,您将需要 AJAX/Rich Client plugins 之一,因为 Grails 没有非常强大的小部件。

【讨论】:

    【解决方案10】:

    TurboGears 是一个使用 Python 快速构建 Web 应用程序的框架。主要特点:您定义模型,TG 创建所有其他内容,然后可以根据您的需要进行调整。模型中的更改需要重新启动开发服务器,其他一切都在下次重新加载网络浏览器时发生(TG 会通知您何时需要重新启动)。

    向前迈出了一大步,尤其是 2.0 版本(应该“很快,现在”就发布了 - 没有冒犯,伙计们,我知道你们已经为此努力了好几年……但我没有 TG 2.0几年来,要么:() 只限于Web。所以我们必须自己实现所有的拖放,找到一种方法来绘制可导航的图表。令人沮丧的关闭。

    【讨论】:

      【解决方案11】:

      Enthought Traits 是一个很棒的框架,可以从模型构建默认 UI。易于使用,功能强大,默认情况下是您大部分时间想要的,它可以满足您的期望

      但是没有数据库持久性。事实上,根本没有坚持。您必须自己编写代码来保存/加载模型。对 XML 执行此操作非常简单(有一个抽象 API 可用于模型中的任何对象),因此无论您的模型多么复杂,您只需要编写一个类,例如 50 行代码。

      UI 控件不容易扩展,所以如果你需要一些不附带的东西,祝你好运。

      上面提到的模型可以在一个小时内实现,另一个小时从 XML 读取/写入它。使用 Qt 中的画布小部件,关系的图形导航将需要几天时间。

      【讨论】:

        【解决方案12】:

        Boa Constructor 是一个跨平台的 Python IDE 和 wxPython GUI Builder。

        它在 Wikipedia 上被列为跨平台 RAD,但我猜它更像是一个 IDE(而不是您可以在几个小时内构建上述应用程序的东西)。

        【讨论】:

        • 前段时间这可能被认为是 RAD 工具。现在不行。
        【解决方案13】:

        Panther(它是 OSS 版本POSSL)似乎是一个构建 Web 应用程序的框架。我无法安装它,因为它只带有一个 Unix shell 脚本作为安装程序。其他人有这方面的经验吗?那么请编辑此条目。

        【讨论】:

          【解决方案14】:

          我认为nbandroid 值得一提。它是使用 NetBeans IDE 开发 Google Android 软件的 RAD 工具。

          【讨论】:

            【解决方案15】:

            号角 (http://softvelocity.com)。

            我可以/可以在几个小时内为这样的项目制作一个演示。

            一个透视缺陷是它创建了 Win32 可执行文件。当然,这可以通过用它创建一个web系统来解决。

            另一个是 Clarion 绝对不是开源的。这会让很多人望而却步。


            好的。我的最后一条评论是大约 2 小时前。所以在那段时间里,这就是我在 Clarion 中设法完成的事情。

            http://125.214.67.190:5824/

            我写这篇文章不是为了吹牛。老实说,我相信 Clarion 可以在很短的时间内做出惊人的事情。

            “知识”系统在很大程度上是一个演示。您只能将标签和关系添加到父节点。没有适当的标签/关系搜索(只有单数)。没有图像或像样的图形设计或 UI。

            但是框架,基础在那里。

            【讨论】:

            • 能否请您删除它并将其添加到 Clarion 条目中?这样,我们每个 RAD 工具都有一个项目 :)
            • 我希望更多的人会这样做来炫耀他们的 RAD 工具。我的意思是他们是为了让这件事变得轻而易举,不是吗? :)
            • 亚伦,嘿嘿是的!他们的目的是快速完成 :)
            【解决方案16】:

            Lazarus LCL 是一个类似于 Delphi 的 VCL,覆盖现有的小部件集。

            可以是GTK1、GTK2、QT、Win32/64、WinCE和Carbon。还有其他一些(例如 COCOA 桥),但这些大多仅处于初始阶段。

            【讨论】:

              【解决方案17】:

              Visual DataFlex 是我们使用的一个很棒的 RAD 工具。它专门针对创建数据库驱动的业务应用程序。不幸的是,它不是免费的,但它是一个很棒的环境/语言,Data Access 提供了很好的支持。

              【讨论】:

              • 它有免费的个人版。看看吧。
              【解决方案18】:

              Qt Toolkit,位于:http://qt.nokia.com/products,用于 C++ 跨平台 GUI 开发,也非常适合构建桌面和移动应用程序。

              【讨论】:

              • 等等。您刚刚在同一个句子中使用了 RAD 和 C++? :)
              【解决方案19】:

              Microsoft Lightswitch。很难想象有什么“更快”。

              【讨论】:

              【解决方案20】:

              DragonRAD 刚刚宣布用于黑莓应用程序开发。目前处于封闭测试阶段。

              【讨论】:

                【解决方案21】:

                Oracle Application Express (http://htmldb.oracle.com/pls/otn/f?p=4600:6:171781307324519::NO::::)

                仅使用 Web 浏览器有限的编程经验,您可以在几分钟内开发以数据为中心的应用程序。基于浏览器的开发使您能够仅使用现代 Web 浏览器在大多数计算机上开发应用程序。

                使用简单的向导和声明式编程来创建功能强大的报告和数据输入应用程序。您可以从电子表格上传或现有数据库表和视图创建应用程序。 Oracle Application Express 包括 SQL Workshop,用于创建和管理支持您的应用程序的数据库对象。

                使用 Application Express,编码是声明性的。这意味着不会生成或编译任何代码。您与向导和属性表进行交互。由于 SQL 语言用于定义报告和图表,因此了解一些 SQL 知识是有帮助的。如果需要过程逻辑,可以使用 PL/SQL 编写 sn-ps 代码。声明式代码在开发人员之间产生的差异更少,这种一致性使 Application Express 应用程序易于维护和管理。

                【讨论】:

                  【解决方案22】:

                  WAVEMAKER 是有史以来最好的 rad 工具。您所说的可以在几个小时内完成。

                  【讨论】:

                    【解决方案23】:

                    XPower++ 来自 ++Technologies - 适用于 Windows、Linux、Mac、Android、iOS 等的跨平台 IDE。

                    【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2010-11-24
                    • 1970-01-01
                    • 2012-03-03
                    • 2010-10-12
                    • 1970-01-01
                    • 2021-12-04
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多