什么是「;“当前”;Delphi web应用程序框架?

什么是「;“当前”;Delphi web应用程序框架?,delphi,Delphi,我正在研究Delphi web服务器应用程序,当我进入“新建项目”对话框时,首先注意到有几个不同的框架 WebBroker从概念上看是最好的,但在文档中它的DB和会话管理代码似乎与BDE绑定在一起,这使得它在今天的用处有所减少 WebSnap看起来非常相似,但文档中说它已被弃用,应该改用IW(“用于Web的VCL”) 所以我看着IW,我不知道它应该如何工作。示例代码中充满了看起来属于桌面应用程序的内容,比如单击按钮触发事件处理程序以更改表单元素的标题。(如果我们要创建一个网页,那不是必须用Jav

我正在研究Delphi web服务器应用程序,当我进入“新建项目”对话框时,首先注意到有几个不同的框架

WebBroker从概念上看是最好的,但在文档中它的DB和会话管理代码似乎与BDE绑定在一起,这使得它在今天的用处有所减少

WebSnap看起来非常相似,但文档中说它已被弃用,应该改用IW(“用于Web的VCL”)

所以我看着IW,我不知道它应该如何工作。示例代码中充满了看起来属于桌面应用程序的内容,比如单击按钮触发事件处理程序以更改表单元素的标题。(如果我们要创建一个网页,那不是必须用JavaScript在客户端完成吗?)

那么,在Delphi中构建web服务器的当前标准框架是什么呢?

DataSnap已经存在很长一段时间了,最新的版本是无DCOM的。您可以利用它构建服务器端部件(在C/S和B/S中)。它目前的角色几乎和.NET世界中的WCF一样


然后,如果您正在构建一个web站点前端,则可以使用IW。但是DataSnap甚至可以使用PHP或其他web技术构建前端。

虽然使用Delphi编写web应用程序有几种商业选项,但我认为Delphi不再附带作为软件包一部分的现代web开发解决方案

如果我必须回答你的问题,我会说当前的开箱即用的Delphi web框架是WebBroker。WebBroker是Delphi附带的唯一一个功能不受反对或限制的web框架

WebBroker可能早在Delphi 4中就被引入了。这是一个很好的诚实的工作马,但它并没有真正改善,因为它是第一次推出。它让你承担大部分的繁重工作,但也不会妨碍你。使用WebBug作为基础,构建了WebSnap和InnWeb,为您提供了它提供的服务级别的概念。 完整版本的IntraWeb已与Delphi Enterprise捆绑多年,但从Delphi XE开始,它现在有几个限制(没有SSL、没有ISAPI部署、20分钟空闲超时),这很可能意味着您需要认真使用它

与Delphi Pro捆绑在一起的IntraWeb版本总是过于有限,除了评估版本之外,不能考虑任何其他版本。


PascalWeb使用pascalscript编译器,您可以创建web应用程序,如php或python

旧问题,但仍然需要最新答案

当前的“入驻”解决方案包括:

IntraWeb:

uniGUI:

TMS网络核心:


+1个非常好的问题,如果我没记错的话,IW会自动将delphi代码转换为javascript并将其添加到html部分,但是,我强烈建议采用不同的方法,可能使用IdHTTPServer(不确定它的可扩展性如何…),也可能使用DWScript作为服务器端脚本语言?我已经多次使用这种方法,效果非常好。为了让你了解我在说什么,请看一篇非常有趣的老博客文章,但这个例子只适用于提供页面。当您需要从用户获取数据并对其进行处理时会发生什么情况?在GET/POST请求中,您可以处理数据、连接到数据库(如果需要)以及所有这些好东西。例如,如果您需要处理表用户的数据,您可以有一个名为users.html的页面,该单元中的代码将负责插入/更新/删除/检索等。在那篇文章中,我没有添加这个作为示例,但是,在开始在DWScript中定义函数之前,不需要太长时间,这些函数将建立db连接和类,从而帮助您运行查询。因此,如果您定义一个名为TQuery的自定义类,该类具有Execute | ExecSQL和Open方法,以及某种检索字段值和遍历行等的方法,您也可以使其“db独立”,如果这是太多的工作(我估计测试大约7-8小时)然后你应该看看另一种选择web2py、ror、django等。但是最近的那些有一个相当长的学习曲线…我的想法很简单,你一路编写delphi代码!P.S.users.html是浏览器向/从中发布/请求数据的页面,这是DWScript代码,没有html。我似乎没有。这只是企业版吗?它只是y在比Pro更高的版本中可用。我想说a更像ASP.NET,一种构建动态网站的工具。我认为DataSnap更属于web服务类别。
Introduction
uniGUI Web Application Framework extends Web application development experience to a new dimension. uniGUI enables Delphi developers to create, design and debug web applications in IDE using a unique set of visual components. Each component is designed to provide same functionality of its counterpart visual component in Delphi VCL. This provides a very comfortable development environment very close to native VCL application development with an easy learning curve.  uniGUI Web applications can be deployed to a server using one of the available deployment options such as Windows Service, Standalone Server or ISAPI Module.

Product Highlights:

Based on industry's most advanced JavaScript library Sencha Ext JS.
Includes OEM license for Sencha Ext JS. (Please see licensing for details).
A unique platform to create stateful web applications.
Complete IDE support for creating projects, designing forms, frames and handling data modules.
Advanced support for scripting client side JavaScript events.
Library core is fully optimized to achieve highest level of scalability.
Including advanced Stress Test Tool utility.
Comes with various deployment options: ISAPI Module, Standalone Server and Windows Service.
Supported Delphi versions: Turbo Delphi Pro, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, XE2, XE3, XE4, X5, XE6, XE7, XE8, Delphi 10 Seattle, 10.1 Berlin, 10.2.3 Tokyo and 10.3.3 Rio (Win32 & Win64 platforms). (Linux support is in the roadmap)
C++ Builder supported.
Supported Browsers: IE 9+, Microsoft Edge, FireFox, Chrome, Safari and Opera
New state-of-the-art uniGUI HyperServer technology.
RADical Web
Modern SPA web application model
Pure HTML5/CSS3/Javascript based applications
Standard component framework for common UI controls and access to browser features
Debugging in Pascal code via the browser
Backed by a solid & proven Delphi Pascal to Javascript compiler that was years in development

Reuse skills and components Component based RAD development integrated
in the Delphi IDE A truly revolutionary & innovative TMS FNC component
framework that is now also web enabled, allowing to create UI controls
that can be used on VCL, FMX, LCL and WEB! Open to consume other
existing Javascript frameworks & libraries Open to use HTML/CSS for
design Open to use other jQuery controls or even other Javascript
frameworks Offers Pascal class wrappers for jQuery controls from the
jQWidgets library Easy interfacing to REST cloud services including to
TMS XData for database

Easy Deployment Application consists of HTML & Javascript files only
that can be easily deployed on any light or heavyweight webservers Use
any existing load-balancing software and/or techniques for highest
performance Small and convenient debug webserver is included for fast
RAD development