サーバーサイド(バックエンド)
- Windows用スタンドアロンWebサーバーアプリケーション(toShare.exe)。
- Embarcadero Delphi Professional版を使用して作成。
- Delphi 11で開発を始めて、今はDelphi 12。
- 下記の内容について検証。
- データベース
- データベース種類、接続、SQL (wikipedia)による操作など。
- データベースはSQLiteを使用中。SQLite Is Public Domain.(wikipedia SQLite)
- 接続はFireDAC使用。
- RESTサーバー
- REST API (wikipedia)としての動作確認。
- Delphi Professional版にはRAD Server(REST API含)が無いため、スタンドアロンWebサーバーアプリケーションのWebモジュールで簡易実装。
- JSON
- データ交換用フォーマットのデータ記述言語としてJSONを使用。
- REST API データ部分としての扱い。データベース情報との相互変換など。
- httpサーバー
- WebモジュールをRESTサーバーとして使用するため、httpサーバー動作は限定的(GET要求への応答程度)。
- Webモジュールと関連してIndyを使用。Indy Modified BSD License。
クライアントサイド(フロントエンド)
- REST API確認
- REST APIの動作確認はEmbarcadero REST Debuggerを使用。
- 他、curl (wikipedia)や、postman等でも確認可能。
- ブラウザー用クライアントスクリプト
- 一般のブラウザーを使用しhttpサーバーから主に下記の情報を得る。
- JavaScriptのfetchを用いてRESTサーバーと情報交換する。
- JSONデータはそもそもJavaScript環境のフォーマットであり、パースは問題ない。
- 参考:各ブラウザの対応状況 ES2016PLUS~ (github)
- Edgeはhtmlもjsも2022でも問題ないが、古い端末対応を想定し、2017を目安としている……筈ですが……怪しいです。目安です目安。
- Internet Explorer は非対応。