Delphi Web前端开发教程(9):基于TMS WEB Core框架

3、REST Servers服务端(后端)框架

REST服务端特点:

– 为远程资源提供一个REST API接口。也可以为其他网络内容提供服务;

– 包括在Delphi Enterprise & Architect企业版和架构师版中的RAD服务器、DataSnap、WebBroker;

Delphi Web前端开发教程(9):基于TMS WEB Core框架


– 开源框架:Delphi MVC Framework、MARS-Curiosity、Synopse mORMot ORM/SOA/MVC Framework;

Delphi Web前端开发教程(9):基于TMS WEB Core框架


– 国产Delphi中间件厂商(排名不分先后):成都QQ600585开源ZNet(ZServer4D)、DIOCP、杭州快驴、全能中间件、咏南中间件、ABFrameWork、西安高勇、火神中间件等(这里只列出笔者知道的国产中间件,各家的价格和性能请自查。)。

善于利用这些开源或者商业中间件能节省开发团队几个月的时间和金钱成本,帮助公司快速赢得客户的好评,这些Delphi中间件的大多数性能超越了go、Node.JS等产品。使用Delphi点击几下鼠标就能快速可视化设计开发项目的前端和后端,有了Delphi和VCL/FMX框架,跨平台地实现全流程的实时可视化快速软件开发就成为了可能。软件行业的初学者们,远见者们——未来的大门已经敞开了。

各个框架特点比较

Delphi Web前端开发教程(9):基于TMS WEB Core框架


根据笔者的对这三大框架的开发经验,IntraWEB适合于WEB前、后端的开发,其自带的网络服务器非常强大、稳定,笔者使用Cesium框架开发的WEB GIS地理信息系统前端不需要Apache Tomcat或Nginx即可稳定运行;uniGUI是对JavaScript库Sencha ExtJS的封装,它带有两套VCL组件包,分别支持桌面端和手机端Web页面,更适合于开发网络版企业管理软件、ERP软件、财务进销存软件等,比如将Delphi开发的数据库管理软件会更容易的转换成uniGUI网络版;TMS WEB Core适合开发传统的企业网站、前端、以及IOS、Android、树莓派、Linux、PC端等应用,理论上可以封装包括Sencha ExtJS在内的任何第三方JS库(比uniGUI的封装方案更好),其主要特点如下:

Delphi Web前端开发教程(9):基于TMS WEB Core框架

业界领先的网络框架

  • 现代 SPA Web 单页应用程序模型,与流行的JavaScript框架和CSS样式兼容,具有大型可重用数据库访问组件包。支持TMS XData、RAD Server和其他编程语言服务端以及各种国产中间件;
  • 从Delphi/Object Pascal生成基于纯 HTML5/CSS3/Javascript 的Web应用;
  • 用于常见 UI 界面控件和访问浏览器功能的标准组件框架;
  • 通过浏览器直接调试 Pascal 代码;
  • 由经过多年开发的可靠且经过验证的 Delphi Pascal 到 Javascript 开源编译器pas2js提供后台支持;
  • 利用 Electron 或 Miletus 框架构建跨平台桌面应用程序;
  • PWA 支持:开始构建开箱即用的渐进式 Web 应用程序;

重用技能和组件

  • 集成在 Delphi IDE 中的基于组件的 RAD 快速可视化开发;
  • 一个真正具有革命性和创新性的TMS FNC 组件框架,现在也支持Web开发,允许创建可在 VCL、FMX、LCL 和 WEB 上使用的 UI 控件;
  • 开放以使用其他现有的 JavaScript 框架和库;
  • 开放使用 HTML/CSS 进行设计;
  • 开放使用其他 jQuery 控件甚至其他 Javascript 框架;
  • 为jQWidgets库中的jQuery 框架提供 Pascal 类包装器;
  • 轻松连接到 REST 云服务,包括连接到数据库的TMS Xdata和各种开源的Delphi REST框架,例如:mORMot等;

Delphi Web前端开发教程(9):基于TMS WEB Core框架

轻松部署分发

  • 应用程序仅由 HTML 和 JavaScript 文件组成,可以轻松部署在任何轻型或重型网络服务器上;
  • 使用任何现有的负载平衡软件或技术以获得最高性能;
  • 包含小巧方便的调试网络服务器,用于快速 RAD 开发;

综上所述,学习使用 Delphi & TMS Web Core,您可以:

  • 长期支持和持续升级的VCL开发框架,让客户对项目更有自信的长远规划,强大的功能使公司能够轻松构建自定义工具或扩展组件,在客户选择的平台上进行开发,保护客户的源代码不被利用,并确信客户的应用程序可以维护数十年;
  • 创建最安全的本机原生应用软件,与VCL框架一样的长期稳定性和向后兼容性。通过反编译复杂度保护项目源代码来测试支持、可访问性和知识产权安全;
  • 涵盖各种开发需求的数百种组件,有效帮助软件快速开发上市,灵活的FMX跨平台框架允许企业瞄准广泛的用户,为任何领域构建软件,并毫无障碍的访问所有硬件和操作系统功能;
  • 通过强大的所见即所得Delphi IDE进行可视化开发,借助数百个组件和强大的可视化设计形式,开发人员可以在几秒钟内制作原型并构建 GUI 应用程序。此外,编辑器允许您根据需要使用代码更改 UI 元素;
  • 帮助开发团队生产力提高5倍,换句话说1个Delphi程序员抵得上5个Java程序员的开发效率,这是对开发人员完成典型开发任务所需的工作量和代码的度量。生产力可以通过两种不同的方式实现——由于Delphi强大的本机组件和开发库以及 IDE 工具(如代码完成和可视化设计)降低了开发人员编码难度;
  • Delphi是真正的全栈万能编程语言,具有更强灵活性和功能性,Delphi可伸缩性、数据库访问、对设备特定功能的访问以及目标平台,远超其他开发工具;
  • 仅使用一个代码库为 5 种不同的操作系统Windows,Android,iOS,macOS,和Linux开发应用软件,同时使用Delphi开发构建本机应用程序,有效解决一些安全问题。例如,Electron 和 C#、Java应用程序很容易被反编译。从 UI 元素到产品的核心业务逻辑,而使用Delphi构建的应用程序除了UI之外很难进行逆向工程,Delphi反编译后的代码是汇编代码,一般人很难读懂;
  • 开发团队只需熟悉一种Delphi编程语言技能,同时开发后端、前端、桌面、移动应用、Web应用。
  • 更优雅、更适合阅读的源代码,当开发人员用 Delphi 编程语言编写代码时,就像用英语写一首诗一样。此外,所有命令和关键字都很直观,广泛的现代语法糖和久经考验的强大“指针”丝毫不会限制程序员的开发能力;
  • 作为物联网时代的开发工具,通过Delphi自带的本机物联网传感器组件,可以直接访问硬件,例如:GPS、摄像头、麦克风、蓝牙设备、MQTT、串口、Modbus通信、PLC设备,并且执行速度更快,为树莓派、嵌入式Linux开发强大的物联网应用。

TMS Web Core 允许您使用Delphi作为“后台”编程语言来创建完全交互式的网页。当您点击编译按钮而不是创建传统的 Windows 可执行文件时,您将获得带有 CSS 的纯 HTML 页面,只需要准备好复制到普通的常规 Web 服务器发布即可——除此之外没有其他任何要求。

Web 应用程序的可编程功能以 JavaScript 文件的形式提供。您不必编写甚至学习 JavaScript——您只需编写 Delphi 代码,编译器就会为您将该代码转换为 JavaScript。

TMS Web Core 真正突出了 Delphi 语言在编写程序时是多么简单而强大。“强类型”语言是秘诀的一部分,而 RAD 中的“R”真正表明了“快速”的意思。使用 Delphi可以频繁且重复地生成健壮、高性能且功能丰富的应用程序,而且花费的时间和工作量极少。TMS Web Core 将这种可视化快速应用开发的功能扩展到使用 Delphi 创建交互式网站。

我甚至无法告诉你 TMS Web Core 对 Delphi 程序员来说是如何改变游戏规则的。Delphi早期也有一些值得信赖的替代品,例如古老的IntraWeb、uniGUI等,但 TMS Web Core 对我来说感觉更“正确”,真正的体验是创建一个常规的 Delphi 应用程序,它恰好作为一组 HTML 页面弹出。没有混乱,没有大惊小怪,并且很容易在您选择的任何托管服务上安装到任何服务器主机上,无论是Windows或者Linux独立服务器还是虚拟主机。

Delphi是最简单、开发速度最快的编程语言开发工具,用于在 Windows、MacOS、Linux、iOS 和 Android 操作系统上开发简单或专业的应用程序。初学者可以通过其广泛的示例、教程、帮助文件和对代码的LSP支持轻松学习。Delphi带有用于高性能原生Windows应用程序开发的屡获殊荣的VCL框架和用于跨平台UI的强大的FireMonkey(FMX)框架。官方免费提供一个Delphi社区版供学生、初学者和初创公司使用;

Delphi王者归来,重装上阵!Delphi拥有27年不断进化发展的强大生命力,数量庞大的第三方组件,活跃的全球开发者生态链,乐于助人的Delphi程序员社区,积极进取的研发团队,所有这一切都会极大的帮助Delphi开发者在移动互联网和物联网时代游刃有余!未来已来,欢迎加入Delphi开发者社区!

PDF下载地址: 《DelphiWeb前端开发教程——基于TMSWEBCore框架》PDF_tmswebcore-Javascript文档类资源-CSDN下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/63143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 函数创建中的 Err 1418:原因解析与解决指南20241203

🚨 MySQL 函数创建中的 Err 1418:原因解析与解决指南 📖 引言 在使用 MySQL 创建函数时,许多开发者会偶然遇到如下报错: [Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its…

前端首屏加载优化

1.首屏加载慢的原因 网络延迟资源太大服务器响应慢 1.网络延迟 首屏优化中网络延迟是一个重要的考虑因素,它直接影响到页面资源的加载速度和用户体验。 影响原因 后端服务器性能原因,导致响应速度慢,从而影响了首屏加载速度。网络传输速度…

利用空闲主机进行Nmap隐匿扫描:IP伪造与空闲扫描技术

IP伪造与空闲扫描技术 在网络安全领域,扫描和识别目标主机的开放端口是攻击者获取目标信息的重要手段。传统的扫描方法可能会暴露扫描者的真实IP地址,从而引起目标主机的警觉。然而,IP地址伪造是一种巧妙的方式,可以帮助攻击者在…

学习视频超分辨率扩散模型中的空间适应和时间相干性(原文翻译)

文章目录 摘要1. Introduction2. Related Work3. Our Approach3.1. Video Upscaler3.2. Spatial Feature Adaptation Module3.3. Temporal Feature Alignment Module3.4. Video Refiner3.5. Training Strategy 4. Experiments4.1. Experimental Settings4.2. Comparisons with …

JavaScript 键盘控制移动

如果你想通过 JavaScript 实现键盘控制对象&#xff08;比如一个方块&#xff09;的移动&#xff0c;下面是一个简单的示例&#xff0c;展示如何监听键盘事件并根据按下的键来移动一个元素。 HTML 和 CSS&#xff1a; <!DOCTYPE html> <html lang"en">…

SpringMVC其他扩展

一、全局异常处理机制: 1.异常处理两种方式: 开发过程中是不可避免地会出现各种异常情况的&#xff0c;例如网络连接异常、数据格式异常、空指针异常等等。异常的出现可能导致程序的运行出现问题&#xff0c;甚至直接导致程序崩溃。因此&#xff0c;在开发过程中&#xff0c;…

AWS S3 权限配置与文件上传下载指南

本文介绍如何配置 AWS S3 存储桶的访问权限,实现 EC2 实例上传文件和本地用户下载文件的功能。 权限配置 © ivwdcwso (ID: u012172506) 1. EC2 角色上传权限 创建 IAM 角色并附加以下策略,允许 EC2 实例上传文件到 S3: {"Version": "2012-10-17&qu…

Flink随笔 20241203 Flink重点内容

Flink 是一个强大的流处理框架&#xff0c;它的设计理念是高吞吐量、低延迟的流式计算。你提到的这些重点是 Flink 的核心组成部分&#xff0c;下面我将详细解析每一个方面。 1. 窗口&#xff08;Window&#xff09; 窗口是 Flink 流处理中一个非常重要的概念&#xff0c;主要…

Linux-异步IO和存储映射IO

异步IO 在 I/O 多路复用中&#xff0c;进程通过系统调用 select()或 poll()来主动查询文件描述符上是否可以执行 I/O 操作。而在异步 I/O 中&#xff0c;当文件描述符上可以执行 I/O 操作时&#xff0c;进程可以请求内核为自己发送一个信号。之后进程就可以执行任何其它的任务…

docker更换容器存储位置

一&#xff1a;原因 今天之前在某个服务器上使用docker搭建的服务突然无法访问了&#xff0c;进入服务器查看发现服务运行正常&#xff0c;但是就是无法使用&#xff0c;然后我这边准备将docker服务重新启动下看看&#xff0c;发现docker服务无法重启&#xff0c;提示内存已满…

工业—使用Flink处理Kafka中的数据_ProduceRecord2

使用 Flink 消费 Kafka 中 ProduceRecord 主题的数据,统计在已经检验的产品中,各设备每 5 分钟 生产产品总数,将结果存入HBase 中的 gyflinkresult:Produce5minAgg 表, rowkey“

什么是TCP的三次握手

TCP&#xff08;传输控制协议&#xff09;的三次握手是一个用于在两个网络通信的计算机之间建立连接的过程。这个过程确保了双方都有能力接收和发送数据&#xff0c;并且初始化双方的序列号。以下是三次握手的详细步骤&#xff1a; 第一次握手&#xff08;SYN&#xff09;&…

外卖开发(二)开发笔记——DTO、自定义全局异常处理、ThreadLocal、日期格式化

外卖开发&#xff08;二&#xff09;开发笔记 一、DTO二、自定义全局异常处理三、ThreadLocal存入、提取当前登陆用户的id四、日期格式化1、实体类属性上加入注解JsonFormat2、在WebMvcConfiguration中扩展SpringMVC的消息转换器 一、DTO 数据传输对象&#xff08;DTO&#xf…

Java 中tableaw 实战教程

java中tableaw库通过简单的API实现过滤、连接、绘制和操作表格数据。支持CSV&#xff0c;数据库&#xff0c;Excel等数据源。 安装依赖 tableaw是用于分析表格数据的开源Java库&#xff0c;构建在Java 8流之上。它可以从GitHub下载&#xff0c;也可以作为Maven或Gradle项目的…

jvm-46-jvm Thread Dump 线程的信息获取+可视分析化工具 FastThread

拓展阅读 JVM FULL GC 生产问题 I-多线程通用实现 JVM FULL GC 生产问题 II-如何定位内存泄露&#xff1f; 线程通用实现 JVM FULL GC 生产问题 III-多线程执行队列的封装实现&#xff0c;进一步抽象 jvm-44-jvm 内存性能分析工具 Eclipse Memory Analyzer Tool (MAT) / 内…

手机上怎么拍证件照,操作简单且尺寸颜色标准的方法

在数字化时代&#xff0c;手机已成为我们日常生活中不可或缺的一部分。它不仅是通讯工具&#xff0c;更是我们拍摄证件照的便捷利器。然而&#xff0c;目前证件照制作工具鱼龙混杂&#xff0c;很多打着免费名号的拍照软件背后却存在着泄漏用户信息、照片制作不规范导致无法使用…

PHP使用RabbitMQ(正常连接与开启SSL验证后的连接)

代码中包含了PHP在一般情况下使用方法和RabbitMQ开启了SSL验证后的使用方法&#xff08;我这边消费队列是使用接口请求的方式&#xff0c;每次只从中取出一条&#xff09; 安装amqp扩展 PHP使用RabbitMQ前&#xff0c;需要安装amqp扩展&#xff0c;之前文章中介绍了Windows环…

【Go 基础】channel

Go 基础 channel 什么是channel&#xff0c;为什么它可以做到线程安全 Go 的设计思想就是&#xff1a;不要通过共享内存来通信&#xff0c;而是通过通信来共享内存。 前者就是传统的加锁&#xff0c;后者就是 channel。也即&#xff0c;channel 的主要目的就是在多任务间传递…

系统监控——分布式链路追踪系统

摘要 本文深入探讨了分布式链路追踪系统的必要性与实施细节。随着软件架构的复杂化&#xff0c;传统的日志分析方法已不足以应对问题定位的需求。文章首先解释了链路追踪的基本概念&#xff0c;如Trace和Span&#xff0c;并讨论了其基本原理。接着&#xff0c;文章介绍了SkyWa…

【查询目录】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…