目次
・本日の成果・考え
・最後に
本日の成果
前回の学びであるJavaFXでは、Difyのチャットボットと通信できないという点から、
API通信でチャットボットとやり取りする。デスクトップ型のチャッアプリに変更しました。
それに伴いクラス図修正。
ログ処理やウィンドウ表示処理のDtoをもともと用意していましたが、設定ファイルDtoから移すだけなので、無くしました。
また、すべての処理をロジック処理でまとめるので、ロジッククラスに設定ファイルDtoのフィールドがあれば十分だと気づきました。
JavaScriptとJavaの橋渡しについて
ウィンドウ画面と通信の連係方式
HTMLのフォーム送信をイベントにJavaのメソッドを起動したら良いと考えていましたが。
以下の調査結果より、
① HTMLフォーム送信:本質的に「Webサーバとの通信」を想定している
② JavaScript → JavaBridge:ローカルJavaアプリのインメモリロジックに即座に通知
②を採用しました。
クラス図の修正が進み、早速クラス設計書の作成をしようと思ったのですが、
リクエストとレスポンスのDtoがAPI通信のためのJsonを考慮する必要があり、何が必要か調べるところからになりました。
基本はDifyの公式サイトに載っているので問題ないと思いますが、Jsonまともに触ったことがないので、一度調べようと思います。
あと、
ここまでの作業があまり楽しくなかったので、先にウィンドウに表示するチャット画面を作成しました。
基本はHTMLでメッセージ送信や表示はJavaScriptで実行しています。
流石に、Difyのページのように洗練されたものは厳しいなと感じました。
※あんまりフロントに興味がなくて。いずれは改良して見た目もよくたいですね。
最後に
仕様変更(ただの事前確認不足)により、Javaのクラスはおよそ4つほど増え、API通信の理解という重たい内容が発生しました。良い経験になりますが、開発のスピードが落ちることは間違いないので、困りました。
※個人的に7月から資格勉強も開始することになり、余計厳しいです。
作業全体を見通すとしんどいので、細かく分解してやっていこうと思います。
はやく形にして会社に提案できるようにしないと〜〜
以上、ここまでお付き合いありがとうございました。