Raudus与ExtPascal:使用ExtJS的Delphi Web开发替代方案

4
Delphi开发人员有多种工具(多个ASP.NET的替代品)可用于构建Web应用程序。
虽然第一框架是Intraweb,但周围对ExtJS也很感兴趣,它有两个版本: 1)开源的ExtPascal 2)闭源的Raudus
现在这些产品不同,Raudus从未支持过最新的ExtJS版本(而ExtPascal则可以,因为据我所知它“几乎自动更新到最新的ExJS版本”),从RAD角度来看,Raudus“似乎”更加快速应用开发(与Intraweb非常相似)。
无论如何,为什么要选择其中之一?
为什么Raudus(因为它是免费的)不能成为开源的?或者Raudus在幕后使用了ExtPascal?
评论:uniGUI乍一看似乎结合了Raudus的优点(RAD部分)和ExtPascal(基于extPascal)。

还有很多其他的选择。Morfik、Webhub和一些FPC选项(FPWeb)。我无法评论Raudus选项,因为我不了解它。 - Marco van de Voort
这个问题一年后,Raudus发布了支持XE版本的更新。请前往http://www.raudus.com/download/下载。 - UnDiUdin
8个回答

4
谈到Raudus,我会非常小心!确实可以免费下载它。但是当我发现它的使用许可证上没有一个单词时,我就准备开始使用它了。实际上,它没有许可证,或者我无法在“标准”位置(网站?没有。安装程序?没有。README / LICENSE文件?没有。)找到它。
因此,使用未指定许可证的库要小心。特别是如果您将开始使用它强烈建议您小心,因为想象一下,当需要支付大量费用时会发生什么...

良好的警告,但无论如何,如果可以联系到作者,请尝试与他联系并要求澄清情况。 - someone
有人,我忘了提到我尝试联系作者了。没有联系邮箱、表格甚至没有作者名字 - 因此我尝试通过博客评论联系他,但是到目前为止还没有得到回应(大约已经3个月了)。 - migajek
我选择这个作为答案,即使没有发布的答案真正回答了问题,无论如何,你在Raudus上列出的论点足以让我在开始任何几乎严肃的项目之前三思而后行。 - UnDiUdin

3
为什么要使用它们?Intraweb等RAD工具不适用于Web编程,因为它无法很好地将GUI与业务逻辑分离,换句话说,它没有真正的MVC方法。也许ExtPascal在这方面有所不同,但重点是其他方面。
ExtJS是一个非常好的RAI JS库,以面向对象的方式轻松构建整个GUI。您可以轻松地在没有任何后端支持的情况下使用ExtJS构建整个GUI。这样,您的整个GUI都在javascript文件中,不需要后端。后端只处理ajax调用并提供数据/处理数据。这样,您就可以清楚地分离关注点。
这可以很容易地在没有任何框架的情况下完成。是的,框架会很方便,但必须按照ASP.NET MVC或Ruby on Rails的方式进行操作。没有RAD和没有可视化设计师。新的Web开发人员经常犯这些错误。但是,如果您长时间为Web编程,您会开始欣赏GUI和逻辑的分离以及HTML的简单性。Web编程至少在某种程度上不同于桌面编程。
回答您的问题。从我所看到的,我更喜欢ExtPascal。它似乎比Raudus更纯粹的Web开发工具。但我承认我只是从表面和演示视频上看到了两者,所以我不能判断,只能推测 :)

6
如果不采用MVC,听起来好像你会被开枪打死。在我看来,这种说法有点过于强烈了。 - Marco van de Voort
1
Web默认是一种MVC模式,HTML、CSS在一侧,后端在另一侧。只是人们试图否定这一点。但这只是我的观点,也许我有点太苛刻了 :) - Runner
1
我必须承认,我是新手网页开发,我尝试了ASP.NET,尝试了Intraweb并看到了ExtPascal的演示。你可能对MVC方法是正确的,但我的问题具体涉及Raudus与ExtPascal的比较。 - UnDiUdin
1
好的,我更新了我的答案,以表达对你的问题的看法。关于ASP.NET,请注意有两种方法。一种是基于WinForms的旧方法,另一种是使用MVC框架的新方法。 - Runner

2
编辑:在http://www.raudus.com/页面底部有一份许可声明。
“许可证
Raudus是免费软件。您可以自由地将Raudus用于商业目的。”
至于联系作者,请尝试从同一页中使用以下电子邮件地址:igor@klopov.com

是的,它是免费软件,但如果您要在商业应用中使用它,您应该购买ExtJS许可证。现在它还支持Sencha Touch,在这种情况下,商业应用不需要许可证。 - UnDiUdin

2

十月下旬,Raudus的开发人员发布了一篇新的博客文章,并声称,好吧,让你自己读一下摘录:

“Raudus许可证在license.txt中写明是免费软件。您可以在商业项目中使用Raudus。 Raudus源代码尚未公开。”


1
好的,无论如何,Raudus的主要问题是它不支持最新的Delphi版本。我把所有的代码都放在Delphi 2009中。我试用了UniGUI,感觉很棒。我不太了解Intraweb,但至少使用UniGUI只需要3秒钟就可以拥有一个外观良好的工作Web应用程序。MVC?不是必须的。但并不是所有开发人员都需要编写下一个Facebook或Stackoverflow。当用户数量有限时,我的意见是RAD方法非常适合Web应用程序。现在,如果Raudus变成开源并开始支持D2009和更新版本,则可能非常好。 - UnDiUdin
在Raudus博客(http://www.raudus.com/blog/)中,已经发布了一份路线图,其中提到了“支持Delphi的Unicode版本”。此外,对我来说非常有趣的是,“在不久的将来,Raudus将实现其他工具包(Sencha Touch、Apple DashCode、XUL/AmpleSDK、Bindows)中的控件”。 - UnDiUdin

2
在使用Raudus几个月后,我决定发布自己的答案。该框架正在改进,现在支持Sencha Touch,虽然不完整,但足以创建针对移动设备优化的可用Web应用程序。RFE是一个新的前端,不基于Sencha Touch,并且正在开发中,在下一个Raudus版本中(很快就会发布),将有一个可用的新控件集预览。因此,虽然ExtPascal似乎已经停滞不前,但Raudus正在进展并具有很大的潜力。更新:我停止使用Raudus,它放弃了ExtJs支持,并且现在使用自己的控件,这些控件永远无法与extjs组件的美观和丰富程度相匹配。我现在选择IW + cgdevtools组件,这是针对IW的Jquery UI。

1

user193655 --> 根据您的操作,两种方法都需要小心。我非常喜欢Delphi或Freepascal/Lazarus - 我不确定将3GL绑定带到Javascript中是否明智。

MVC - 根据您的操作 - 在PHP中,您可以使用Yii Framwork或Prado。也许第二个框架中内置了一些来自.net的想法,这些想法对Delphi开发人员非常容易理解。PRADO是一种事件驱动的方法,而YII Framework则非常酷且类似于Unix。


1

使用Raudus后,似乎不适用于大规模应用程序。

根据他们的文档和我的实际测试,它将所有客户端请求序列化为单个主线程。但是,它在多线程环境中处理客户端请求和响应生成部分。

但是,主线程问题非常重要,因为如果一个操作在主线程中花费更多时间,其他操作将会一直等待,这直接影响响应时间。

有什么建议来解决这个问题吗?


0

Raudus:

  • 依赖于Delphi,其中:
    • 冗长;
    • 依赖于Microsoft Windows;
    • 高成本适应或维护;
  • 来自raudus.com的引用:“Raudus是免费软件。您可以自由地将Raudus用于商业目的。 Raudus源目前不可用。"-对我来说,这永远不会是一种许可证。在主页上,没有关于服务条款或类似内容的文档。因此,我不会使用他们的服务。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接