えっと、違ったら指摘してほしいんだけど
Dockerを使っての開発ってサーバーサイド開発だよね?
@tacumi うーん、サーバーを必要としないプログラム全般はクライアントサイド開発じゃないですかね?
KeePassXCとか、サーバーを必要としないのでクライアントサイド開発だと思うし
@tacumi ただし、クライアントサイド開発と思っていても、外部からの攻撃を想定したら「純粋なクライアントサイド開発」なんて無いのかもしれませんね
@moriyaki@fedibird.com あーこの場合だとビルド環境をDockerで固めることができそう。そうすることでライブラリが違うからビルドできません!!みたいなことがなくなる。
たとえば、これはGCCのコンパイラが動作するための環境が整えてあるDockerイメージで、説明の通りにDockerfileを書くと環境を汚さずにGCCが使える。
https://hub.docker.com/_/gcc
@tacumi へぇ…そうなのか
@moriyaki@fedibird.com ホストにQtを入れずにQtアプリをビルドする実例あった
https://qiita.com/tetsurom/items/a591b8f3d2dfe144178f
@tacumi そいえばKeePassXCはGCC+Qt開発でしたね…
@moriyaki@fedibird.com Qtの環境とか依存とかいろいろ面倒だったことを思い出しちゃった。
@tacumi 面倒じゃなければ、WIndowsのC# 環境でのQt連携がとっくにできてるでしょうね~
@moriyaki@fedibird.com 専らDockerはサーバサイドっていうイメージは間違ってなくて、できることが一つのプロセスを動かすことと事前に許可されたファイルシステムの静的なマウントと事前に許可されたポート通信だけなのでGUIクライアントを直接走らせるとかそういうのは結構難しいんじゃないかなと思ってる。
@tacumi それって、Docker経由でQt絡みのことをするのは難しい、と聞こえるんですけど
@moriyaki@fedibird.com Qtのプロセス自体をDockerで走らせることは難しい、ですね 。ビルドを任せることはできます。
@moriyaki@fedibird.com クライアントサイドの開発の例とか挙げてみてほしい。
主にサーバサイドの開発に向いてるけど、どっちもできるような気がする。
Docker(コンテナ)は一つのプロセスが動作する環境を仮想化してコードで管理できるようにする技術なので。