Delphi 10.3 Web应用开发B/S框架介绍(三):使用Delphi/C++ Builder配合Sencha Ext JS VCL控件包uniGUI快速可视化开发Web应用程序!

时间:2024-03-13 19:24:07

自从第一种计算机编程语言发明以来,软件开发工具一直在发展当中。

程序员一开始就以二进制代码的形式进入计算机。后来,有了像FORTRAN这样的编程语言,他们只需要把程序写成文本。经过语言和技术的几次改进,程序员开始使用集成开发环境(IDE),并最终创建了第一个RADIDE Delphi(快速应用程序开发)。

Borland Delphi(RAD Studio)从Turbo Pascal IDE发展而来,成为90年代最成功的开发环境之一。程序的逻辑仍然是文本,但用户界面有一个可视化的设计器,非可视化组件封装了数据库访问和许多其他有用的对象。直到现在,Radstudio Delphi仍然保持它的“快速”属性。欢迎加入Delphi开发局QQ群:32422310  Delphi控件源码下载网站

Delphi 10.3 Web应用开发B/S框架介绍(三):使用Delphi/C++ Builder配合Sencha Ext JS VCL控件包uniGUI快速可视化开发Web应用程序!
Delphi 10.3.3  配合Sencha Ext JS VCL控件包uniGUI可视化开发WEB应用程序
Radstudio Delphi的成功是为Windows桌面创建应用程序的长期发展的结果。

另一方面,网络的原始语言,HTML格式,于1990年作为一种静态超文本语言开始了它的旅程。即使在近30年后,也没有什么能比得上radstudio创建Web应用程序的简单和优雅。当然,这是一个意见问题,但当一个Web开发人员试图将桌面应用程序的功能移植到Web上时,他需要学习几种编程语言和工具,以便将所有东西连接在一起;许多这样的项目都会以灾难性的失败告终。

最新版本的Radstudio Delphi允许创建多平台应用程序,始终利用RAD概念。然而,支持这种功能的底层框架总是针对本地设备(PC、平板电脑、智能手机),而不是网络。

值得一提的是,Web应用程序和类似桌面的体验(如单页应用程序)现在是It行业的焦点。webui每天都在改进,但它仍然缺乏桌面开发的简单性。

现代Web应用程序不同于本地应用程序。最大的区别在于它必须服务于多个远程用户。但是,造成重大困难的是,用户使用执行JavaScript代码的浏览器与应用程序交互(遵循HTML5标准)。

开发人员喜欢编程,一些开发环境鼓励这种行为。例如,visualstudio附带了几个可视化设计器,但许多开发人员却变成了多面手。

  • XML配置文件。
  • XAML使用的可视化设计器后面的文件WPF.
  • C#源代码。
  • 数据库代码(T-SQL,PL/SQL,而不是使用 ORM 比如 Entity Framework)).
  • JavaScript/TypeScript 代码。
  • Angular/jQuery/Bootstrap/Django/Backbone/Express/Knockout/React/Ember 脚本。

作为你的应用程序的首要目标,或者说作为一个好的解决方案,或者说作为一个好的解决方案,或者说作为一个好的软件开发人员来享受。如果有实现这一目标的最短路径,最好使用它。有没有可能有一个RAD环境来创建Web应用程序?是的,已经到了。

RAD Studio+Sencha Ext JS+uniGUI

此解决方案需要集成多个部分:

  • Delphi/C++ Builder提供一个包含支持多个目标平台的组件的RAD环境。
  • 用户界面(可通过web浏览器访问)必须与当前桌面应用程序一样丰富。Sencha Ext JS包括超过115个组件;其中一些组件相当于桌面上使用的组件,其他组件仅用于Web平台,但其中许多组件比原来的Delphi组件更强大。
  • 另一个工具必须是radstudio和senchaextjs之间的胶水。

如何加入radstudio和senchaextjs来创建和部署Web应用程序?

此新工具将引入几个功能:

  1. 一种新的Web应用项目。
  2. 用于创建用户界面的新窗体设计器和向导。
  3. 一套完整的Web组件,可以作为Delphi组件在常用的调色板中使用,在运行时,这些组件将动态地生成JavaScript代码和extjs组件。
  4. 一个运行时框架,允许应用程序作为Web服务器运行,并通过返回带有相应JavaScript代码的HTML5页面来解决远程客户端请求。

简而言之,此工具必须提供测绘在Sencha和Delphi组件之间,以及框架用于在Web上部署和运行应用程序。

最后一块是uniGUI. 七年来,社区提供的反馈比实际的产品开发更有效。

uniGUI主要功能

由于典型的桌面应用程序是单用户的,而web应用程序是多用户的,uniGUI提供了一个框架它管理多个会话和最重要的资源。对于Delphi开发人员来说,这些更改是很自然的,它们在移植或创建新应用程序的过程中有帮助。

  • uniGUI向导提供了创建窗体和数据模块的方法。因此,框架在运行时管理它们。
  • 窗体和数据模块都不使用全局变量(允许多用户访问这些资源)。
  • uniGUI的下一个版本将添加更多与自动资源管理相关的功能。

除了在运行时支持web应用程序的框架外,uniGUI还将senchaextjs组件公开为本机Delphi组件在几个控制选项板中。

  • 无需了解JavaScript、extjs或有关如何使用Sencha组件的详细信息。
  • 高级用户仍然可以使用JavaScript代码在运行时访问Sencha组件,并执行对服务器的Ajax调用。
  • 可以通过继承现有组件或转换框架来创建新组件。
  • 基于第三方ExtJS供应商.

有能力部署web应用程序以多种方式促进开发并简化其在生产环境中的使用:

  • 这个独立部署允许通过在本地运行应用程序来简化调试。
  • 这个Windows服务选项可能对中小型应用程序有用。
  • 将应用程序部署为ISAPI模块允许客户使用任何兼容的服务器主机(如Internet信息服务器)。
  • 迎面而来超级服务器可以限制每个进程的会话数。如果Delphi应用程序存在并发问题,则每个会话可以在一个进程中单独运行。

由于uniGUI将Sencha组件映射为Delphi控件,并提供了一个在运行时支持应用程序的框架,因此它也为在其上进行扩展留出了大量空间。

  • 它是一个市场与uniGUI兼容的控件。甚至现有的extjs控件也可以使用带有HTML/CSS/JS的Web画布进行定制。
  • 可以使用自定义编辑器或radstudioarchitect建模支持对web应用程序进行建模,以使框架集中于以数据库为中心的应用程序具有强大和广泛使用的高端控制。
  • 创建大型web应用程序,如医疗保健或ERP行业中的应用程序,需要在uniGUI之上增加一层(由客户、咨询公司、工具供应商或Embarcadero自己提供)。

结论

uniGUI的一个重要特性是它能够在web技术之上创建一个层,向开发人员隐藏这些细节。这将大大减少重复性任务的需要,例如为JS、CSS和其他各种细节生成代码。从这个意义上来说,可以说uniGUI对于Web技术就像VCL和Delphi对于windowsapi一样。这将有助于开发人员将注意力集中在开发业务逻辑上,而不是专注于web技术的细节上。

在当今的IT世界里,web技术的发展速度比以往任何时候都要快。每个月我们都会听到一个新的JS框架或其他一些很酷的新技术。这是意料之中的,因为web应用程序开发还远未达到完美。对于每个新项目来说,仍然存在不必要的复杂性和太多的重复任务。我们需要一种工具来降低这种复杂性,并处理那些重复性的任务。这不是我们首先需要电脑的主要原因吗?早在90年代中期,Delphi就在Windows桌面上做了这件事,如果认为我们不能在web上做同样的事情,那是完全不合理的!

uniGUI弥补了桌面和web应用程序之间的巨大差距。它使Delphi开发人员能够继续使用相同的RAD环境进行Web开发。

  • 它目前在熟悉的VCL设计器中工作,即使可以使用不同的设计器,能够正确地呈现所有Sencha组件(如字段集)。
  • 它允许现有的基于Delphi的桌面应用程序就地转换,以便它们可以在Web上运行。在其他行业中,没有一个软件能如此干净利落。
  • 将uniGUI 控件包添加到Delphi中将成为开发Web B/S架构应用的最快捷径和开发工具。