14章UI

これまで、UI(ユーザインタフェース)の世界に、あまり触れていませんでした。読者の中には、冷たく硬く無機質なAPIを顧客に提供しているだけの人がいるかもしれませんが、我々の多くは、顧客を満足させる美しく機能的なUIを作りたいと考えています。結局のところ、UIは、すべてのマイクロサービスをまとめ、顧客にとって意味のあるものにする場所なのです。

私が最初にコンピュータの仕事を始めた頃は、デスクトップ上で動作する、大きなファットクライアントについての話がほとんどでした。Motif、Swingに多くの時間を費やし、自分のソフトウェアをできる限り使いやすくしようとしていました。多くの場合、このようなシステムはローカルファイルの作成、操作のみを目的としていましたが、その多くは、サーバ側コンポーネントを備えていました。Thoughtworksでの私の最初の仕事は、Swingベースの電子POSシステムの作成でした。このPOSシステムは多くの部品の1つにすぎず、その大部分がサーバ上に置かれていました。

そして、Webが登場しました。以前とは異なり、我々はUIを「シン」(thin)なものと考え、より多くのロジックをサーバ側に置くようになりました。当初は、サーバ側プログラムがページ全体をレンダリングし、クライアントブラウザに送信しており、ブラウザではほとんど何もしていませんでした。ユーザによるリンクのクリック、フォームの記入によってトリガーされるGET、POSTを介して、すべての対話はサーバ側で処理されました。やがて、ブラウザベースのUIに動的な振る舞いを追加する選択肢として、JavaScriptが普及しました。一部のアプリケーションは、間違いなく、古いデスクトップクライアントと同じくらい「ファット」かもしれません。その後、モバイルアプリケーションが台頭し、現在では、UIをユーザに提供するためのさまざまなプラットフォームがあり、そのプラットフォームごとにさまざまな技術があります。このようなさまざまな技術により、マイクロサービスに支えられた効果的なUIを作成するための、多くの選択肢があります。本章では、そのすべてを詳しく探っていきます。 ...

Get マイクロサービスアーキテクチャ 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.