アンドロイド開発の面倒さ
私はとある企業でソフトウェア系の仕事をしています。
単なる私の独断と偏見かも知れませんが、同じアプリをWindowsとAndroidで作ろうとするとAndroidの方が10倍ぐらいめんどくさいのではないか、と考えてしまいます。
普段使っている言語がjavaでは無いため、アンドロイドでの開発が余計に億劫に考えてしまうのです。
ある急ぎの業務を先日おこなったのですが、その業務とは、開発期間が極めて短い状態で、あるデバイスをタブレットとの連携動作を行う案件でした。
社内に評価用のアンドロイドなども多数転がっているため、それらを用いて少人数で構築をしようと思ったのですが、なにせ、面倒。
特に、Javaを普段使っていないので、このJavaが分かりにくいったらありゃしない。
これは使用言語によるところも大きいのでしょうけれど、簡単なアンドロイドアプリ、たとえば数値計算などであればHTMLとJavaScriptで書いて、それをAndroidアプリ形式に変換してしまえばいいのですが、今回はハードウェアとの連携をせざるを得ない、つまり、外部機器との接続が必要であるため、Javaで作成をしようと持ったのですが、本当に面倒。
実機にインストールし、デバッグをした際のエラーの分かりづらさ
問題が起こった際に、エラーで終了します
と書かれても、一体、何が問題なのか。せめてソースファイル名とプログラムの行番号を書いて、と本気せ思います。
AndroidStudioの中のログには多数エラー表示はされているのですが、普段Java使っていないため、非常に億劫。
普段からJavaで開発をしているような人にとっては、アンドロイドとは、おそらく朝飯前で作る事のできるアプリも多々あるでしょう。
また、開発環境などについても、慣れを要しますが、慣れてしまえば、それはそれで開発しやすいのでしょうけれど、少なくとも私にとってAndroidの開発環境は全く使いやすいものであるとは思いません。
零細企業で、開発期間がおそらく一般の企業で言えば信じがたいような期間しかない今回の開発です。
これはでは本当に間に合わない、またはデスマーチになりかねない、との危機感の上で開発チームで話し合った結果、結局Windowsで作る事になりました。
Windowsと言っても、正確には今回は操作する人が手に持って使える事が必須であるため、タブレットでの開発となったのですが、ともかく動けば良い状態に持っていくのであればWindowsは非常に便利です。
たとえばHTA、そして、C#などうを使えば簡単に開発する事ができます。また、少し難しい事をしようと思うのであればcygwinなどを入れても良いかも知れません。
開発環境によりけりですが、メモ帳一つあれば開発できてしまう事もあります。また、デバッグも非常にしやすいます。
ウインドウズのフレキシブルさの理由
Windowsの方が開発的には多様かつ簡単なりゆうとして、以下のように考えられます。
これまでWindows95から始まり、現在のWindows10に至るまで20年以上の歴史があり、そこで様々な企業がアプリを開発してきました。
そして、それらのアプリは現在でも少なからず使われているため必然的に、過去のアプリを現在でも使う事ができるようにする必要、つまり、互換性が非常に保たれている事があります。
互換性が保たれている、それはつまり、それは様々な開発方法を許容する事にほかなりません。
顧客からすれば、そのプログラムの中身が、どのような言語で書かれていようと、欲求した動作が行えば、それでいいのですから。
また、それを顧客が許容するのであれば、ですが、guiを使わずcuiアプリつまり、コンソールである機能を実装する方法であれば、超短期納期での実装が可能です。
「とりあえず動くものを納品する」とのお断りの上での納品だったのですが、今回はCUIで実現させました。
「どのようなOSであれ、モノがないよりは、あった」ほうが絶対にいいですから…。
あと、Windows10のタブレットのメリットとしては非常に安い事もあります。教務アプリを開発しているので、お客様に納品する時に本体代金なども上乗せするのですが、安価なタブレットの方がお客様としても手軽に納品発注していただけます。
また、こちらとしてお手柄にガジェットを買う事ができます。
もちろん、Windows10タブレットについて、安定性やその安全性意味において使う事のできる業務が一定程度に制限される事はやむを得ませんが。
そのような意味で、短期納期を要求されるような現場においてはWindows10タブレットでの開発を頭の片隅に置いておくと、非常にいい選択肢になるかも知れません。
もちろん、そのような開発を顧客に受諾させるには、営業の力量も大いに重視される事かも知れませんが…。