私たちの会社(xyz)は、多くのFlashコードをPythonに移行しています。
Flashには、Flashアプリ間で共有ライブラリ(パッケージxyz)があります。Flashはコードをコンパイルし、ライブラリのコンテンツを含むため、デプロイ時に他のアプリを壊すことを恐れずにパッケージに変更を加えることができます。最終的なSWFをRPM経由でデプロイし、完了です。App1とApp2を更新しても、App3が破損することはありません。
共有ライブラリの依存関係であるPythonでこれにどのようにアプローチしますか。
App1、App2、およびApp3はすべてxyz-lib.rpmを必要とし、すべて同じライブラリファイルを使用しますが、新しいライブラリが存在するたびに、更新されたxyz-lib.rpmをApp1,2,3に対して明示的にテストする必要があります。 、そしてこれは面倒です。
私の現在のお気に入りのソリューション-app1.rpmに、パッケージ化されたときからライブラリを含めることができます-事実上、ライブラリのある種の静的リンク。しかし、これはエレガントではないと感じます。(ただし、追加コストはハードドライブのスペース==安いだけです。)
共有ライブラリをしっかりと管理することがおそらく最善の解決策であることは知っていますが、すべての開発者が人間であり、間違いを犯すことを考慮に入れています。私たちは間違いを犯すつもりです、そして私はapp1の展開がapp2とapp3を壊したくありません-それはテストとデバッグのためにもっとたくさんあります。