If you’re looking for a cross-platform application that demonstrates how to do an asynchronous REST API call, look no further than the Async REST Demo. This powerful little app is built in Delphi using a single code base and single UI, making it truly クロスプラットフォーム. And because it’s asynchronous, you can be sure that your results are always up-to-date. Supports Android, iOS, macOS, Windows, and Linux.
フルクロスプラットフォームのHello WorldソースコードをGithubからダウンロード
このデモは、カメラデモ、絵文字デモ、ペイントデモなど、100以上のクロスプラットフォームデモの一部です。
目次
ソフトウェア開発における非同期とは
ソフトウェア開発における「非同期」とは、各コンポーネントが他のコンポーネントとは独立して進行できる、2つ以上のコンポーネント間の通信のタイプを指します。これは、各コンポーネントが続行する前に他のコンポーネントからの応答を待機する必要がある同期通信とは対照的です。非同期通信は、多くの場合、イベント駆動型システムで発生します。この場合、各コンポーネントは、他のコンポーネントからの入力を待たずに、発生したイベントに応答できます。このタイプの通信は、ボトルネックを削減または排除することで、パフォーマンスと応答性を向上させることができます。さらに、非同期通信は、コンポーネントがさまざまなワークロードを個別に処理できるようにすることで、より堅牢でスケーラブルなシステムを提供できます。
画面ショット
デモのソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.クラス, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, REST.Types, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf, System.Rtti, FMX.グリッド.Style, Data.Bind.EngExt, Fmx.Bind.DBEngExt, Fmx.Bind.グリッド, System.Bindings.Outputs, Fmx.Bind.Editors, FMX.StdCtrls, Data.Bind.Components, Data.Bind.グリッド, Data.Bind.DBScope, FMX.ScrollBox, FMX.グリッド, Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client, REST.Response.Adapter, REST.Client, Data.Bind.ObjectScope, FMX.Effects, FMX.Controls.Presentation, FMX.Memo, FireDAC.Stan.StorageJSON, FMX.Memo.Types; type TForm1 = class(TForm) MaterialOxfordBlueSB: TStyleBook; ToolBar1: TToolBar; ShadowEffect4: TShadowEffect; Label1: TLabel; RESTClient1: TRESTClient; RESTRequest1: TRESTRequest; RESTResponse1: TRESTResponse; RESTResponseDataSetAdapter1: TRESTResponseDataSetAdapter; FDMemTable1: TFDMemTable; Button1: TButton; Memo1: TMemo; FDStanStorageJSONLink1: TFDStanStorageJSONLink; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} <strong>procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.晴れ; RESTRequest1.ExecuteAsync( procedure begin Label1.Text := 'Complete!'; Memo1.Lines.Append('Userid: ' + FDMemTable1.FieldByName('Userid').AsString); Memo1.Lines.Append('id: ' + FDMemTable1.FieldByName('id').AsString); Memo1.Lines.Append('title: ' + FDMemTable1.FieldByName('title').AsWideString); Memo1.Lines.Append('body: ' + FDMemTable1.FieldByName('body').AsWideString); end, True, True, procedure (Sender: TObject) begin Label1.Text := 'Error!'; end); end;</strong> end. |
クロスプラットフォームアプリのプログラミング手法を学ぶには
今すぐ Coding Boot Camp 2022に登録してください。ゲーム、JavaScript、Web、Python、SQL、データベース、iOS、MacOS、Android、モバイル、Linux、Windows、デスクトップ、サーバー、Arduinoなど、プログラミングに関するさまざまなトピックを学ぶことができます。