12月初頭に開発コードGingerbreadと呼ばれていたAndroid 2.3_r1がリリースされ、その1週間程後にソースコードも公開になりました。更にその1週間程後には、Android 2.3.1_r1が公開されましたが、余程不味いものが混じり込んでいたんでしょうかね?
年末にKDDI(au)とDOCOMO, SOFTBANK MOBILEから、Android 2.1/2.2搭載の端末が発売になり、人気のようです。マスコミは、もうこれでiPhoneの時代は終わったかのような報道をしていますが、現実的にはAndroid端末は不具合が結構多いし、iPhoneの方が使い勝手がよいという状況ですし、iPhoneユーザーがAndroidに乗り換えているわけではなくて、既存のケータイからの乗り換えなので、割を食っているのはSymbianとかになるでしょうね。
Androidが話題になればなるほど、既存ケータイからスマートフォンへの乗り換えに抵抗感がなくなり、iPhoneへ乗り換える人も増えるだけなので、Android普及はiPhoneにとってはむしろ追い風になっていると思います。
端末メーカーにしても、これまではキャリア毎にOSなどのプラットフォームが別々だったのが、Androidに統一できるので、ノウハウの共有やハードウェア設計の共通化、独自アプリや機能の共通化なので、トータルの開発費削減はしやすくなるので、既存ケータイの開発は削減方向に行くと思います。
極端な話、数年後には簡単ケータイと呼ばれる機種も、中身はAndroidになっているのではないかと。機能を減らすのは簡単ですけど、別のOSを簡単ケータイのためだけに維持するのは、コスト的にかなり大変ですからね。
前に端末メーカーがカスタマイズをすればする程、互換性がなくなってしまって、スマートフォンの意味がなくなってしまう、ということを書きましたが、Googleもそう考えているのか、CTSという互換性チェック試験を厳しく行い、Android端末を名乗るのにはGoogleの認定試験をパスすることを求めています。
AndroidMarketに関しても、今年後半になって何度もUpdateを行い、有料アプリが不法にコピーされて使われないような仕組みもやっと導入されました。ユーザーによるレーティング評価もやっと導入されました。これまでのAndroid有料アプリは、実際にはほとんどのユーザーはタダで使っていたんですよ。だから、iPhoneアプリで億万長者になった開発者の話はよく聞くけど、Androidアプリではさっぱりなんですよね。広告付き無料アプリだと、儲かるらしいのですけどね。
そのAndroidアプリ開発も、Javaというプログラム言語を使用するのですが、iPhoneの開発に使われるObjective-Cに比べて最初は入りやすいのですが、まともなアプリを作ろうと思ったら、Javaの性格を十分に理解しないといけないし、Androidライブラリ独特の考え方にも慣れなければいけません。
残念なことに、Javaが開発者を確保しやすいように、普及しているC++的な文法を取り入れたことが徒になって、C/C++しか知らない開発者がろくにJavaのことを勉強せずに、C/C++的な考え方で設計やコーディングするために、まともに動くアプリができないのです。
よくJavaはVMで動くから遅いという人がいるのですが、それはJavaのことを理解せずにC/C++的なコーディングをするからで、そういう連中の書いたプログラムよりも、Javaをきちんと理解した開発者が書いたJavaプログラムの方が遙かに高速に動くのですけどね。
そういう低パフォーマンスなプログラム作成でも、取り敢えずなんとなくそれなりに動くものはできてしまうので、「なんだJavaって簡単じゃないか」と勘違いして、本格的にJavaを勉強することはなされないままで、なんとなく動くけど不具合がちょこちょこと出るAndroidアプリが氾濫することになってしまうでしょう。
iPhoneの場合、Objective-CとCocoaライブラリが、ある程度はきちんと勉強してきちんとその動きを理解しないとまともに動くものができないので、質の悪いアプリが作られにくいのです。
0 件のコメント:
コメントを投稿