ものがたり(旧)

atsushieno.hatenablog.com に続く

移植性のホントとウソ

怪物くんことヴァン ヘルシングなんてものを見てきたけど…果たして売れるのだろうか、コレは。

必要に迫られて、全く使い慣れていないSLES9でapache+mod_monoを無理矢理使おうとしている。けど、SuSEapacheは何かくせがあるっぽいし(それ以前にapacheをまともに触ったことって無い。Javaサーバ系ですらだいぶ忘れそうなのに…)、mod_monoもxspもHttpWorkerRequestに大して違いが無いことはこの前ソースを眺めていて分かったので、よく分かっていないapacheを無理に使ってボロを出すのはやめた。

信じがたい話かもしれないが、日本でもmonoを使うような仕事の案件が無いわけではない。というか、さばききれない。っていっても、Ximianのリソースですらかなり限られているのだから、日本のリソースは…(だから「さばききれない」のですよw)

さて、monoはASP.NETをかなりの再現性でサポートしているけど、mono/xsp/mod_monoがあれば、既存のアプリケーションが問題なく動作するかというと、まずそんなことはありえない

ここには、mono 0.31がリリースされた当時にmono用に「移植された」flexWiki, dasBlog, PetShopがある。最近ではmonotropaというページで、さらにnGallery, BlogX, IBuySpy, ASP.NET Forumsといったアプリケーションが動作していることが分かるだろう。また、NAntチームのGert Driesenは、Community Serverや、ASP.NET Starter Kitを移植している作業中のものを見せてくれた。

これらは全てmono用にソースコードを書き換えている。その主な理由は、たとえばパスがWindows専用になっている、ファイル名の大文字・小文字を区別していない、といったものだ。BlogXは、この大文字小文字問題を解決したら、ほぼ動作するようになったようだ。.Textは移植性という観点では落第生だったらしく、一度Jackson Harperが移植を試みたが放り投げた。

まあ、かつて.NET 1.1がリリースされたときですら、.NET 1.0から.NET 1.1に移行するためには、それなりの修正が必要だったはずだ(僕が業務用に作ったWindows Formsアプリケーションは、1.1でかなり挙動不審になっていた)から、その辺も考慮して、動く・動かないの妥当性を判断すべきなのだけど。そんなのユーザーには全く分からんわな。