那里有哪些RAD工具?
我们都知道演习:你有一个(小)模型,你需要坚持下去,你需要一个用户界面(networking,桌面,移动设备,一些前者,所有这些)。
这是一个重复的过程,我不禁要问,为什么我们仍然坚持使用POJO,或映射器,以及手工编写UI(因为大多数UI“devise师”甚至不知道inheritance,而且你需要构build每一个确定/取消对话框从头开始有多个字段)。 RAD工具/平台承诺解决,但我还没有看到任何真实的。 这个wiki的想法是收集所有的工具,让你在几分钟内充实一个想法,并从那里build立。 简单的事情(比如为你的模型创build一个简单的UI或者把它保存在数据库中)应该很简单。 将一个相当复杂的对象附加到对话框来编辑它应该占用一行或更less的代码;)
所以这里面临的挑战是:在哪里有哪些RAD工具可以在8小时内构build一个小应用程序。 为了让你知道它应该能做什么,这里是规范:
-
你有“知识”节点。 每个这样的节点都有名称和长的说明(单行和多行string)
-
每个知识节点可以有任意数量的知识节点作为子节点(1:*sorting父/子关系)。 子节点需要维护顺序(即使用列表而不是集合)
-
每个知识节点可以有任意数量的标签(1:*不同types之间的无序关系)
-
任何两个知识节点都可以连接任意数量的关系(n:m关系)
-
应该可以很轻松地从/以XML格式从数据库加载/保存模型
-
用户期望今天撤销/重做
UI应提供标准操作:创build,重新sorting和删除知识节点。 重新sorting应该使用drag'n'drop。 它应该允许从知识节点添加/删除标签。 应该有一个简单的方法来通过关系连接两个知识节点(比如通过在特殊模式下拖动一个节点)。
UI还应该允许search具有特定标签或关系的节点。 对于奖励积分,它应该提供一个简单的方法来导航关系图。
有什么挑战吗? 像往常一样, OSS首选。
背景:现在我正在开发超过25年的软件。 尽pipe如此,这个简单的应用程序,如果不是几个月,我需要花费几个星期的时间来编写我所遇到的任何语言: Groovy , Java , Python , Tcl / Tk , Grails , OpenOffice , MS Access , TreeLine ,[TurboGears] [10], [Enthought Traits] [11],.net。
一些对竞争者的反馈。 请注意,我试图用单个句子来突出要点,所以下一个部分用一点盐,好吗?
Groovy很好的语言,紧凑的代码。 closures,但缺乏在UI部门。 他们正在努力,但不在那里。 对于持久性,只有Java序列化开箱即用。
Java Java在十年前出现的时候非常棒,但是它并没有发生太大的变化。 这是一个拥有大量库的老化语言,但是你只需要太多的代码来完成任务,每行代码都需要时间来编写。
Python几乎得到了它所需要的所有东西,但由于某种原因,它从来没有像Java这样成为主stream。 用PyQt4 ,用SQLAlchemy制作了一个很酷的OR映射器,但是仍然没有看到它将油门全速前进。 只有随着unit testing的出现,编写更大的项目才变得可行。 任务水平太低。
Tcl / Tk好的小部件集合,但是当代码大小超过特定点时,语言很糟糕。 现在显示它的年龄。
OpenOffice 2.0以来,OO带有一个内置的数据库和一个“类似访问”的工具。 它处于起步阶段,但最终会到达那里。 无法处理父/子关系,因为UI不允许指定它们( 请参阅错误 )。 在3.1中修复。 有了3.1,你可以创build模型,但是用户界面仍然需要大量的时间来编写。
MS Access几乎所有我们需要的,但UI选项是相当有限的。 令人沮丧。
TreeLine没有办法实现关系,而且对于大多数其他用例来说也是太受限制的(你根本就不能用其他方法做很多事情)
.net我没有这方面的经验,主要是因为它只是Windows。 我认为这个可能会非常接近,但我们应该面对这个问题:locking四分之一人类有什么意义?
Delphi RAD Studio以及用于pascal / delphi语言的Lazarus IDE 。
WAVEMAKER是有史以来最好的弧形工具。你说的话可以在几个小时内完成。
这取决于你的市场是谁。 我可以告诉你一件事,你的市场永远不会是整个人类的。 所以这个世界上25%的人不使用Windows的事实对你来说应该不是真正的问题。
重要的是你市场上有多less人使用任何操作系统? 如果你正在编写一个商业/金融应用程序,而你只是为Windows开发的,那么你可能只剩下0.05%的市场(因为你最后一次听说使用Mac或Linux的会计师是什么时候? )。
但是,如果你正在编写一个制作音乐的程序(比如FruityLoops),而你只能写Windows,那么你可能会更多的脱离你的市场的50%。
微软Lightswitch 。 很难想象任何“更快”的事情。
Magic uniPaas :在我的第一份工作中用它来开发GUI。 这是一个没有废话RAD工具,一切都基于表格。 它还提供了一个运行时环境。 当时它被称为Magic eDeveloper。
我想WinDev也遵循RAD的想法。
注意:只能在Windows上运行,价格从990欧元起。附带多种工具。
Visual Studio – 传递最好的RAD工作室。 如果您认为它不仅用于Microsoft的开发工具,而且Delphi Prism使用它,并且SQL Server的SQLpipe理工具都使用它,您可以了解它的灵活性。 它也是免费的(RAD工具/ IDE – 不是开发工具)。
Clarion( http://softvelocity.com )
在几个小时之内,我可以/可以得到一个像这样的项目的演示。
一个缺点是它创build了Win32可执行文件。 当然,这可以通过创build一个Web系统来解决。
另一个是Clarion绝对不是开源的。 这会让很多人失望。
好的。 我最后的评论是大约2小时前。 所以在那个时候,这是我在歌乐所做的事情。
我不是在写这个来吹牛 我真的相信歌乐可以在很短的时间内做出惊人的事情。
“知识”系统是一个演示。 您只能将标签和关系添加到父节点。 没有适当的标签/关系search(只有单数)。 没有图像或不错的graphicsdevise或用户界面。
但是框架,基础就在那里。
Oracle Application Express ( http://htmldb.oracle.com/pls/otn/f?p = 4600:6:171781307324519 :: NO :::)
仅使用Web浏览器和有限的编程经验,您可以在几分钟内开发以数据为中心的应用程序。 基于浏览器的开发使您能够仅使用现代Web浏览器在大多数计算机上开发应用程序。
使用简单的向导和声明性编程来创build强大的报告和数据input应用程序。 您可以从电子表格上传或现有数据库表格和视图创build应用程序。 Oracle Application Express包括SQL Workshop来创build和pipe理支持您的应用程序的数据库对象。
使用Application Express, 编码是声明性的 。 这意味着没有代码生成或编译。 你与巫师和财产表互动。 由于SQL语言用于定义报告和图表,所以一些SQL的知识是有帮助的。 如果需要过程逻辑,可以使用PL / SQL编写代码片段。 声明性代码在开发人员之间的差异较小,这种一致性使得Application Express应用程序易于维护和pipe理。
Netbeans的Matisse可视化编辑器非常适合Swing开发。
Grails是一个快速构buildWeb应用程序的框架。 它基于Groovy 。 您可以定义模型,从命令行运行两个命令,然后使用简单的CRUD UI进行设置,您可以在Web浏览器中编辑模型。
只有网站,很多好的想法,但你不能有亲子关系,因为这个bug将有望在1.0.5版本固定。 对于严重的开发,您将需要AJAX / Rich Client插件之一,因为Grails不带有非常强大的小部件。
REALbasic是一个RAD工具工具 – 它的编译器生成本地可执行文件。 它也是一个交叉编译器,这意味着您可以从任何平台上为任何平台构build。
完全数据库访问仅在专业版中支持(400欧元)。 个人版本的价格是75欧元,可以连接到REALSQLDatabase(这也来自RealSoft的人)。
与Hibernate或SQLAlchemy不同,您必须自己编写数据库层。
Lazarus LCL是一个像现有小部件集合的VCL的Delphi。
它可以是GTK1,GTK2,QT,Win32 / 64,WinCE和Carbon。 还有其他的(如COCOA桥梁),但大多只在初始阶段。
用于C ++跨平台GUI开发的Qt工具包,可在http://qt.nokia.com/productsfind,也适用于桌面和移动应用程序构build。;
++技术提供的XPower ++ – 适用于Windows,Linux,Mac,Android,iOS等的跨平台IDE
这个答案不是直接关系到你的问题,而是相似的。 对于我的项目,我最近使用的是NEsper ,它是一个开源的复杂事件处理框架(CEP)。 在过去的两个晚上,我为一个交易系统build立了一个后退testing工具,而且这个testing的速度如此之快 – 我想我是在8小时内完成的。
TurboGears是一个使用Python快速构buildWeb应用程序的框架。 主要特点:您定义模型,TG创build一切,然后可以适应您的需求。 在模型中的变化需要重新启动开发服务器,其他一切发生在下一次重新加载在Web浏览器(TG会让你知道,当你需要重新启动)。
向前迈进了一大步,特别是2.0版本(现在应该是“真的很快,现在”) – 没有冒犯,伙计们,我知道你在这方面努力了好几年了…但是几年来我一直没有TG 2.0 ,或者:()只有Web,所以我们必须实现所有的drag'n'drop自己,find一种方式来绘制一个可浏览的图表。令人沮丧地closures。
Enthought Traits是从模型构build默认UI的好框架。 易于使用,function强大,默认情况下是大多数时间需要的,它可以满足您的期望
但是没有数据库持久性。 事实上,根本没有坚持。 你必须编写代码来自己保存/加载你的模型。 这样做对于XML来说是非常简单的(有一个抽象的API可以用于模型中的任何对象),所以无论你的模型有多复杂,你只需要用50行代码编写一个类。
用户界面控件不容易扩展,所以如果你需要一些不能用的东西,祝你好运。
上面提到的模型可以在一个小时内实现,另一个小时可以从XML读取/写入。 关系的graphics导航将使用Qt的canvas部件花费几天时间。
我认为nbandroid值得一提。 它是使用NetBeans IDE开发Google Android软件的RAD工具。
Visual DataFlex是我们使用的一个很棒的RAD工具。 它特别针对创build数据库驱动的业务应用程序。 不幸的是,这不是免费的,但它是一个很好的环境/语言, 数据访问提供了很好的支持。
DragonRAD刚刚宣布黑莓应用程序开发。 现在在内测。
Panther (而且是OSS版本的POSSL )似乎是构buildWeb应用程序的框架。 我不能安装它,因为它只有一个Unix shell脚本作为安装程序。 有没有其他人有这方面的经验? 请编辑这个条目。
Boa构造函数是一个跨平台的Python IDE和wxPython GUI生成器。
它被列为维基百科上的一个跨平台的RAD,但是我的猜测是它更像是一个IDE(而不是你可以在几个小时内构build应用程序的东西)。