ここ数年以上、良いユーザー体験を提供するために、デスクトップアプリケーションやモバイルアプリケーションをラピッドに開発する必要性が高まり続けています。ElectronやReactNativeのような、JavaScriptでネイティブGUIアプリケーションを開発するツールキットは、そのような背景にマッチし、日に日に存在感を強めていると言えるでしょう。
一方で、複雑な状態管理を動的型付け言語によって行うのは、かなり難しく、辛いものです。特に、レイヤードアーキテクチャのような「きっちりとした」作りのアプリケーションをJavaScriptで書くのは、SwiftやKotlinを利用して書くのに比べるとかなり開発者体験が悪いと言えそうです。
そのような考えから、Scala.jsとElectronやReactNativeを併用しながら、ラピッドにUIを作りつつも、コア部分は静的型付けとScalaの強力な言語機能に守られながらネイティブアプリを作るという試みを行ってきました。その成果物としては以下のようなものが挙げられます。
このセッションでは、それらのアプリケーションをScala.jsで書いていくにあたって得てきた知見を共有します。以下のような内容が含まれる予定です。
応募者の参考リンク:ブログ
票中 票投票済み