OutSystems - Reactive Webの現状(2021年 最新版)


(2021年7月5日 更新)

「ローコードでReactアプリが開発できる」 OutSystemsの「Reactive Web」ですが、すでにリリースから9か月経過しました(2020年7月初稿時の記述)1年9か月経過しました。Reactive Webに関しては、2019年末、日本において以下のような発表を行いました。

OutSystems 新機能紹介: Reactive Web
https://www.slideshare.net/TsuyoshiKawarasaki/outsystems-reactive-web-207036748

上記資料の19・20スライド目で「Reactive Webの制約(当時)」を説明しましたが、リリースからすでに1年半以上経過し、OutSystems側も新規開発ではReactive Webの利用を推奨している現状があります。そのような背景も踏まえて、ここであらためて最新情報をアップデートいたします。
以下、項目毎に記載しますが、記載順序はスライドの順番とは異なっています。特に昨年(2020年)の当記事アップデート以降に変更した項目は先頭に配置しています。


1. 多言語対応 


2. Emailデザイン


3. 対応ブラウザ

  • (2019)
    IE11はサポート対象外(Edge, Chrome, Firefox and Safariをサポート)
  • (2020)
    Reactive Webは、HTML5, CSS3のフルサポートを念頭においているため、Edge以上が必要という点は変わりません。ただし、現状では、以下ブログ(英文)に記載のForgeコンポーネントが提供されていて、必要に応じてある程度対応は可能と考えられます。
    Medium - 「OutSystems Reactive IE Compatibility」
    https://medium.com/noesis-low-code-solutions/outsystems-reactive-and-ie-compatability-7ed5717170b2

  • (2021)
    Reactive Webを利用する場合、IE11対応がどうしても必要なケースでは、やはり上記ブログに記載のForgeコンポーネント(以下のリンク)を利用して、動作確認が必要と考えられます。
    OutSystems Forge - 「Reactive for IE」
    https://www.outsystems.com/forge/component-overview/8324/reactive-for-ie


4. SEO

  • (2019)
    現状、アプリケーションのURL変更は不可。B2Cアプリなど、SEO対策が必要な場合、ScreenやInput Parameterの名称に気を付ける
  • (2020)
    Traditional Webと同等のSEO Rule対応は2020年末を予定しています。 現状では、スライドに記載のようにScreen・Input Parameterの名称を意識することに加えて、一部のSEO URL設定、およびTraditional Web側定義へのリダイレクトを行うことで、一部の要件に対しては対応可能です。
  • (2021)
    OutSystemsの最新版(Platform Server 11.12.0 以降)では、以下のTechnical Previewを利用可能です。
    Technical Preview - SEO in Reactive Web Apps
    https://success.outsystems.com/Documentation/11/Developing_an_Application/Technical_Preview_-_SEO_in_Reactive_Web_Apps

5. Forgeコンポーネント

  • (2019)
    Forgeコンポーネントに関しては、「Reactive Web」に未対応なものがまだ存在する。
  • (2020)
    Reactive対応のコンポーネントも着実に増えていますが、Traditionalに比べると登録数は少ない状況です(Traditionalの「2094」に対して、Reactiveは「287」)。私は以下のようなサンプルを登録しました。
    OutSystems Forge - 「Editable Table Reactive Sample」
    https://www.outsystems.com/forge/component-overview/8659/editable-table-reactive-sample

  • (2021)
    Traditionalに比べるとまだ登録数は少ない状況ですが(現時点では、Traditionalの「1861」に対して、Reactiveは「717」)、OutSystems側も「新規開発ではReactive Webの利用を推奨」しており、標準サポートのForgeコンポーネントはReactive対応が確実に進んでいます(Data Grid Reactive など)。


6. ローカルストレージ

  • (2019)
    現状、ローカルストレージは未対応。オフライン処理が必要なモバイルアプリに関しては、従来のモバイルアプリとして開発。
  • (2020)
    現状でも同様です。但し、Reactive Webの「Client Variable」を利用することで、一部の基本データ型はクライアント側で値を保持できます。また、EAP (Early Access Program)として提供中の「PWA」アプリでは、ローカルストレージの利用が可能です。しかし、PWAに関しては、当面はモバイルアプリのみの対応となります。
  • (2021)
    PWAはすでに標準機能としてリリースされています。PWAはMobile向けの機能という点も同様です。但し、実際のところはPWAで開発したアプリは、デスクトップ用OS(Webブラウザ)から利用することも可能であり、その場合、ローカルストレージの利用も可能です。
    プログレッシブWebアプリ(PWA)として配布
    https://success.outsystems.com/ja-jp/Documentation/11/Delivering_Mobile_Apps/Distribute_as_a_progressive_web_app

7. ワークフロー(BPT)

  • (2019)
    現状、標準のワークフロー連携機能無し。連携するためには、APIを利用した定義が必要。
  • (2020)
    OutSystems Platform Version 11.8.0 以降、Reactive Webで開発した画面をワークフロー(BPT)のHuman Activityで利用可能となりました。Reactive Webで開発したワークフローのサンプルをForgeに登録しましたので、興味のある方はご参照ください(以下のサンプルを動かすためには、OutSystems Platformのバージョン 11.8.0 以上が必要です)。
    OutSystems Forge - 「Workflow Sample Reactive」
    https://www.outsystems.com/forge/component-overview/8857/workflow-sample-reactive

8. アプリケーション間のSSO


9. SSL(HTTPS) 通信が必須

  • (2019)
    HTTP/2プロトコルに対応し、より高速な通信が可能となった。結果として、HTTPS経由の通信が必須となり、HTTP経由の通信はサポートされない。
  • (2020)
    こちらはReactive Webの仕様上、その通りとなります。

10. JavaScriptを使用したDOMの操作は行わない

  • (2019)
    Reactの処理と干渉して、パフォーマンス上の問題となりうる。その意味で、jQueryは使用しないこと。
  • (2020)
    こちらも、その通りとなります。

その他・まとめ


注意事項:
上記文章に記載のリリース予定時期や機能内容は、2021年7月5日時点の情報に基づいています。
記載内容は、将来予告なく変更される可能性もございます。その点につきましては予めご了承ください。