tms web core 与 kbmmw 第一次亲密接触

最近,tms 经过1年多,集合了数十名高手大牛,开发出了一个跨时代的产品,就是tms web core.

具体的介绍详见官网,https://www.tmssoftware.com/site/tmswebcore.asp。

这个产品可以把pascal 代码编译成 js 代码,以便浏览器识别。不同于以往的用js 映射 delphi 代码。

这个是真编译,也就是说,编译出来的js 代码,可以在任何web server 里运行,与delphi 没任何关系。

这个编译器是著名的FPC 的核心开发者开发的。

当然很多人可以说,现在开发web 的语言那么多,PHP,JSP,C# 等等,为什么非要用delphi 开发呢?

作者只有三个字:我喜欢。

好了,闲话少说,我们今天就做一个简单的显示后台数据库的例子,当然了应用服务器我们还是选择kbmmw。

别问我为什么,还是三个字:我喜欢。

服务器端其实就是我们以前做的例子,就是kbmmw smart rest 服务。

由于要在浏览器里面访问不同域的数据,因此上面的例子要处理一下 跨域的问题。这个问题其实以前也写过

服务器端处理一下跨域就可以了。

procedure TkbmMWCustomSmartService3.kbmMWCustomHTTPSmartServiceCORS(
  Sender: TObject; const ARequestHelper,
  AResponseHelper: TkbmMWHTTPTransportStreamHelper; const AOrigin: string;
  var AAllowedOrigins, AAllowedMethods, AAllowedHeaders: string);
begin
  AAllowedMethods:='GET' ;
 AAllowedOrigins:='*';    //为了演示,此处许可任何来源的访问
  AAllowedHeaders:= 'x-requested-with';
end;

function TkbmMWCustomSmartService3.Getall:TObjectList<TAnimalsNoImage>;
begin
     ProcessCORSRequest;  // 此处必须加这一句

     Result:=form1.xalionORM.QueryList<TAnimalsNoImage>;


end;

好了,服务器就处理完了,编译运行。

现在我们做tms web core 端。

新建一个tms web application.

放上以上的控件,属性设置如图,其它的非常类似VCL 中访问数据的控件。

可以右键在 WebClientDataSet1上添加对应字段。

 

 

 

 好了。添加连接的代码,就两句代码。

procedure TForm1.WebButton1Click(Sender: TObject);
begin


   WebClientConnection1.Active:=True;

   WebMemo1.Lines.Add('open connection!');

end;

点击delphi 运行按钮,项目会很快编译完并打开浏览器。真的非常快,有一种当年D7的感觉,其实这个很正常,因为他是FPC 做的编译器。

浏览器显示

点击打开数据库,就会显示数据。

非常简单。

今天就先介绍到这里,由于tms web core 刚出来新版本,也有一大堆问题,最大的问题居然不支持中文。

已经给官方报bug了,希望尽快修复,否则只能说呵呵了。

官方把tms web core 工程比做 Mille Miglia(千里耐力赛),第一个版本后面跟着Brescia。这是千里耐力赛的

第一个出发城市,表示长路漫漫。中国有句古话,叫做千里之行,始于足下。tms web core 的思路很好,但是需要

走的路还很长,期望经过多个版本的迭代,成为一个真正的开发web 的利器。

 

2018.8.4 补记:

tms web core 1.0.0.3 已经解决中文问题。

TMS WEB CORE特性 现代的单页面web应用程序模型。 纯粹的基于HTML5和CSS3 / Javascript的应用程序 通用UI控件的标准组件框架和浏览器特性的访问。 通过浏览器调试Pascal代码。 多年开发的一个可靠的Delphi Pascal到Javascript编译器做支撑 重用技术和组件 基于集成在Delphi IDE中组件的RAD开发。 一个真正革命性和创新的TMS FNC组件框架,现在也是web启用的,允许创建可以在VCL、FMX、LCL和web上使用的UI控件! 开放使用其他现有的Javascript框架和库。 开放使用HTML/CSS设计。 可以使用其他jQuery控件或其他Javascript框架。 在jQWidgets库中为jQuery控件提供Pascal类包装器。 简单的接口,以REST云服务,包括TMS XData数据库。 容易部署 应用程序由HTML和Javascript文件组成,可以轻松地部署在任何轻或重量级的web服务器上。 使用任何现有的负载平衡软件和/或技术以达到最高的性能 快速RAD开发中包含了小而方便的调试webserver ========== FAQ 支持哪些浏览器? Chrome Firefox Safari edge ide支持哪一个? TMS WEB Core可以在Delphi XE7中安装到Delphi东京10.2.x。它可以与专业的,企业和建筑师的sku一起使用。 我需要什么web服务器? TMS WEB核心并没有对WEB服务器提出任何特定的要求。创建的应用程序由HTML、CSS和Javascript文件组成,这些文件可以由任何现有的轻或重的web服务器处理。它可以与IIS、Apache、节点一起使用。js、Litespeed Nginx,…… 我可以将自己的Javascript库/CSS与自动生成的代码混合在一起吗? 是的,现有的Javascript库和框架可以使用。对于jQuery和jQuery UI控件,有现成的支持。CSS可以用于样式页。 我是否可以在TMS WEB项目中创建一个默认的HTML模板? 是的,除了使用Delphi IDE表单设计器来设计web页面的WYSIWYG设计,您还可以使用HTML模板文件和使用CSS创建页面。您可以轻松地将HTML页面中的UI HTML元素链接到Delphi IDE表单设计器上,并使用IDE来创建UI控制逻辑和UI控件到服务器逻辑。 哪些语言是用于开发的? 使用Pascal语言。所有客户端代码都是用Pascal语言完全开发的。所有的UI控件都是在Pascal代码中提供的。对现有Javascript代码的接口是无缝的。 我真的需要用DELPHI IDE 开发TMS WEB内核吗? 这个IDE不是严格需要的。可以从命令行调用编译器来编译项目。 我需要TMS XData连接到数据库吗? 不,TMS WEB核心支持与其他微服务的连接。也可以使用node。js,ASP.NET core,Embarcadero RAD server 或其他微服务技术。TMS XData提供了使用Pascal语言开发微服务的优势。 许可模型? TMS WEB Core提供了一个简单的、没有废话的许可证模型。许可证是每个开发人员的。没有运行时许可证。除了完整的工作软件之外,拥有许可证的开发人员还可以获得一年的免费支持和免费更新。 我可以创建自定义UI控件吗? 是的,您可以创建自己的TMS WEB核心UI控件。包含产品的所有UI控件的全部源代码都包含在其中,可以作为如何开发自定义TMS WEB核心UI控件的指南。 我想从TMS WEB Core开始。在哪里可以得到它? 目前,TMS WEB核心技术预览版免费提供给所有活跃的TMS all access客户。一旦我们有了试用版,它将提供给所有感兴趣的用户。当有完整的发行版时,它也将被单独出售给任何感兴趣的用户。 用户需要浏览器插件或其他特殊的东西吗? 不!所需要的只是一个兼容HTML5标准的web浏览器。TMS WEB核心应用程序运行在任何现代桌面浏览器或移动设备浏览器上。 TMS WEB核心是否提供响应性设计? 是的。在TMS WEB核心应用程序中,可以很容易地使用HTML/CSS或与流行框架(如bootstrap)结合使用的完整响应设计技术。您可以创建一个响应式页面布局,并将从Delphi IDE中创建的应用程序逻辑连接到这个响应页面。 我可以调试我的代码吗? 是的。有了必要的编译器魔法,您就可以从浏览器Chrome和FireFox中全面调试您的应用程序了。您可以通过您的Pascal代码、设置表、Pascal代码中的断点等等……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值