OutSystemsは非常に生産性の良い統合開発環境である。
Eclipse&Javaで開発していた時の数倍以上の生産性が出る。
単独開発なら。
チーム開発になった途端に、以下が気になって仕方がなくなる。
・自担当分の変更が知らない間に他メンバの担当分に影響している
・自分の環境のみでデプロイ検証ができない(いきなり共有って感じ)なので
思い切った変更がし難い
・マージサポートが弱いので、Conflictした際は大変気を遣う
・4人を超えてくるとPublishがぶつかりだす(ので、小刻みなPublishがし難くなる)
Traditional時代から今までModule分割と声掛け合いでなんとかなっていた面もあるが、
みんなリモートで声掛け合いは難しい状況になったし、そもそも人が増えると開発が
難しくなるというのは非常にもったいない。
最小のコミュニケーションで、各自が思い切った開発をできるようにならないと…
というわけで
現在のプロジェクト(Reactive)では以下のような形を開発試行している。
共有データはRESTでやり取りして、画面周りはもうお互い別アプリとして切り離し、
アプリごとに担当を決めて開発、iframeでガッチャンコしてしまうやり方である。
課題がないわけではない(iframe子画面から親画面のPopup操作が難しい等)が、今のところ
うまくいっているように感じる。
そもそも
従来はモジュールを切り分ける(1アプリ内で開発パートを分ける)やり方だったが、次期構想である
ProjectNEOからはモジュールという概念がなくなるのである。モジュールで切り分けるのではなく
マイクロサービスとしてそれぞれの機能を独立して管理し、それを連携させてアプリにする構造だ。
それはつまり今回試しているような複数アプリで1画面を作る方針と合致している。
うん、なんかこのままで良いような気がしてきた。