NextStepで発表されたReactive Web App

2019/10/2, 3にアメリカで行われたNextStepというイベントで新しいWebアプリケーション開発方法が発表されました。

これまでのWeb開発は、”Traditional Web”と改称されました。Reactive Web Appが、今後のOutSystems Web開発のメインストリームになっていくことが想定されます。

概要

Reactive Web Appは、UI側の実装にReactを使っています。操作の都度にページ全体を再描画せず、処理のほとんどをクライアントサイド(ブラウザ)で実施します。

これまでもAjax RequestとAjax Refreshで似たようなことはできましたが、より簡単にできるようになった印象。また、処理の本体はブラウザ内で行われるのも違いになります。

OutSystems11で対応(10は不可のようです)。Personal Environmentを使っている方は、Updateをリクエストすれば使えるようになります。

OutSystemsでのモバイルアプリケーション開発とWebアプリケーション開発のギャップはかなり小さくなりました。今後は、どちらかの開発経験があれば、より簡単にもう一方の開発ができるようになります。

公式情報

Reactive Web Applications – The Next Generation of Web Apps(ブログ)

Guided Pathももう来ています。2019/10/06時点ではBeta版であると記載がありますが。

Becoming a Reactive Web Developer(Guided Path)

ファーストルック

アプリケーション・モジュール

Webアプリケーションを作る際の選択肢が

  • Reactive Web App
  • Traditional Web

の2つになりました。後者が、これまでの方式のWebアプリケーションです。

モジュールも同名のものがあります。

Reactive

Widgetに設定した変数の値は自動的に反映されます。

変数の値を変更すると、Ajax RefreshやSubmitしなくてもUIの表示が切り替わります。

非同期データ取得

まず、Preparationがありません。

これまでのWeb開発では、Preparation内でAggregateを呼び出して、その値を使用していました。

これからは、AggregateはScreenに直接ぶら下げます。Screenに所属するAggregateはScreenを開いたときに、全てが非同期的に並行で実施(取得)され、完了後、自動的に値を紐付けておいたWidgetに反映されます。

上の例では、GetEmployeeIdは画面を開くと自動的に検索を開始し、検索が終了すると、紐付けておいたWidget(例の中ではInput_RequestName)に自動で値が表示されます。

Client Action

これまで、Webアプリケーション開発においては、Actionとはサーバ内で動作するものでした。

しかし、これからは、主にクライアント(ブラウザ内)で動作することになります。これをClient Actionと呼びます。Screen ActionはみんなClient Actionです。

これまでのActionはServer Actionという名前に変更されます。Server ActionはClient Action内から呼び出せます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする