今作っているアプリ(コミケのカタログブラウザとか、デスクトップアクセサリとか)をLinuxでも動かそう、なんて思ったのが間違いでした。
現在の開発はVisualC#2008Expressで行っているのですが、MonoなるものをLinux上に導入すると、Windows上でコンパイルしたプログラムがそのままLinuxで動く、らしい。が、実際にはOSの違いやMonoで実装されている機能を意識しないと正しく動いてくれません。
たとえば、Windowsではパスを\で区切りますが、Linuxでは/です。ファイル名を直接プログラム上に書いちゃうと動いてくれません。また、Monoでは全てのライブラリがLinux上に実装されているわけじゃないので、Monoで動くメソッドとか気にしないといけません。
さらに、実装されていてもWindowsと挙動が違う場合があります(多分、GUI関連とか多そう)。あ、当然ながらWindowsAPIを直接叩いてるプログラムもアウトです。
いや~、この縛りプレイ?(縛りプログラミング?)が思いの外厳しい。簡単なプログラムなら楽にマルチプラットフォームを実現できるのですが、凝ったアプリになると途端にうごかな~い。実際には、上記以外にも色々色々色々めんどくさいので、ちょっと諦めモード。
0 件のコメント:
コメントを投稿