推しアイデア
思いついたアイデアを時間一杯できる限り取り込んだTodoアプリになってます!
思いついたアイデアを時間一杯できる限り取り込んだTodoアプリになってます!
メンバーの一人が「Todoさん」と呼ばれているのでTodo by Todoなんて面白そうという熱い想いの元作られています!
Webフロントでは、Rough.jsという手書き風なUIライブラリを使いながら、ZdogやThree.jsという3Dライブラリも使っており、さらには難解プログラミング言語として名高いCowを使った機能もあります! また、バックエンドでは、...
全員私の作ったTodoアプリを使いなさい!(高圧的お嬢様風) by Todo様
複数言語のWASMをWIT(WASM Interface Type)で繋ぐことで、多言語モジュラモノリスをする予定だった。
自作DIツールkessokuを利用しています。
インフラはシンプルにCloud Runで構築しています。
WITは複数のWASMをリンクし1つのWASMにまとめることができるWASM Preview 2で導入された機能です。 CやC++を触ったことがある人だと、ヘッダーファイルを通じて複数のオブジェクトファイルをリンクするのがWASMでできるようになったと思ってもらえれば大体あっています。
ただし、WASMの場合はより多数の言語からコンパイルが可能です。
マイクロサービスアーキテクチャでは機能ごとにサービスを分割し、それらがHTTPで通信をすること1つのプロダクトができます。 しかし、これらは複雑性が高いため、サービルレベルではなくモジュール単位での分割し、サービスは1つにまとめるのがモジュラモノリスです。
今回はこのモジュールをWASMにしています。
自作のDIライブラリkessokuを採用しています。 https://github.com/mazrean/kessoku
ライブラリ機構という比較的扱いやすい形にすることでマイクロサービス寄り複雑性を抑えられるのがモジュラモノリスのよさです。 しかし、HTTPより複雑性の高いWITで置き換え、しかもモジュールにWASM上で動くように書くという極めて厳しい制約をかけています。 このように、一見合理的なのにマイナスしかない無駄な構成となっています。