Androidの設計は経年劣化していると知る
最近はAndroidアプリの開発に手を出しているのでその感想を言うことが出来るようになりました。
「ひでえな、これ」
これがスマートフォンのシェアで、Apple iPhoneと世界を二分するそのもう一つであり、そしてそれは最高水準のエンジニアが世界中から集合しているというGoogle社の手によって作られている事実が二重に信じられません。開発者が触るフレームワークは、建て増しを重ねて迷路のようになった温泉旅館のように感じました。定数に`xxx_1`のような数字を入れてしまうセンスの無さとか、Googleが買収する前の、旧Android社での設計の古さは、いくら当代随一のエンジニアが集うGoogleの力をもってしても修正は不可能、土台が良ければ立派な建物も建つが…といったところでしょう。Androidスマートフォンが登場した頃、非力な組み込み機器にJavaを採用、という時点で当時も嫌な気がしたので手を出さずにいたのですが、実際に開発をしてみてその勘は正しかったと感じました。
しかしXMLで画面を作りながらJava(Kotlinでも良いですがJVM言語)でロジックを組んでゆくのは古のAdobe Flexのようで、私のキャリア的にもJavaが一番長いことからも入門中のAndroidは「勝手知ったる世界」なので、ほっとするのも事実です。サーバーサイドJavaをやっていた人がスマートフォン方面にキャリアチェンジをするなら、iOSよりはJavaの方が慣れ親しんでいるので、Androidを選択するのは、つまらないですが妥当と言えます。Windows Phoneは詳しく知りません。
Googleは現在、Fuchsiaという謎のOSを開発中であり、そのアプリケーション開発言語はDartになるという噂を聞き、それは経年劣化激しいAndroidを捨てるチャンスなのでは?と思っています。Dartがもっと流行ったら良かったのに。
iOSアプリ開発はどうなのでしょうか。作りたいものが無かったので詳しくは知りませんが、Androidよりマシな感じです(深く知っているわけではないので断言はできません)。
