andLinuxとは?
andLinuxとほかの方法との違い
Cygwinとのもっとも大きな違いは、andLinuxはバイナリレベルでの互換性があるのに対し、Cygwinはソースコードレベルでの互換性しかないことです。
CygwinはAPIをエミュレーションするDLL(Cygwin1.dll)のAPIをアプリケーションから呼び出して利用する仕組みのため、このDLLを利用しないLinuxのバイナリは、当然そのまま動かすことはできません。CygwinはこのDLLを利用するために、Cygwin環境上でソースコードから再構成する必要があります。したがって、必然的にソースコードレベルでの互換性に止まることになります。また、APIをエミュレーションするためのオーバーヘッドがあるため、どうしても動作が遅くなります。
しかし、Cygwin環境からは、Win32 APIなどのWindows環境に直接アクセスすることができたり、仮想マシンやLinux kernelが介在しない分、メモリ消費量が少ないという利点もあります。
一方、仮想マシン上のLinuxは、ホストOSとなるWindowsとは独立した環境で動作しています。仮想マシンは、普通にPCにLinuxをインストールする場合とほぼ同様の環境をWindows上に構築することができるので、開発したアプリケーションの動作確認には適しています。しかし、インストールや環境設定の手間もやはり通常のPCにインストールした場合と同様にかかりますし、操作や設定も基本的にそれぞれの環境で閉じています(相互のコピー&ペースト(要ツールインストール)や、ファイル共有(要設定)は可能)。
そういう意味で仮想マシンは、PCを2台用意しなくても済むというメリットはありますが、ホストOSのWindowsと一体化した運用ができるというレベルには達していません。また、仮想マシン用にもメモリなどリソースを割く必要があるので、導入に必要とされるマシンスペックが高くなりがちな点も注意が必要です。なお、言うまでもないことですが、Linuxをインストールする前に、仮想マシン自体を別途インストールする必要があります。
XAMPP for Windowsの場合は、すべてWindowsアプリケーションで構成されているため、Windowsとの親和性の点では最も良いと思われます。パッケージに含まれているソフトウエアで要件が満たされるならば、良い解の1つでしょう。
しかし、含まれていないソフトウエアが開発に必要な場合、そのWindows版を用意できるかどうかが問題になります。また、Windowsアプリケーションの集合体でしかないので、この環境でLinuxバイナリを動かしたり、ソースコードを再構成したりできないため、互換性はせいぜいスクリプトや設定ファイルなどデータレベルにとどまります。
連載の今後の予定
本連載では、以下のような予定で解説をしていきます。
第2回は、andLinuxのインストールと日本語化について解説します。インストール時の選択肢や設定、そのほか注意すべき点を紹介し、日本語表示/入力環境の構築や設定の具体的手法について解説します。
第3回は、andLinux上での具体的な開発環境の構築と実際の開発について、簡単なケーススタディのような感じで実際にやってみる予定です。andLinuxだけではなく、ほかの方法ではどうなのかといった比較もできる限り紹介したいと思います。
そして、本連載の最終回では、Windows上でのLAMP開発という観点からandLinuxを評価し、ほかの方法と比較した結果から各方法の用途別に向き不向きなどを考察する予定です。最終的に、結局andLinuxって何ができるのか、ということについて何か提案ができればと思っています。