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 已經解決中文問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM