Previous Entry Share
GUIシステムの教科書を書きたかった: Androidを支える技術、の話
karino2
Androidを支える技術 I の話。

「おわりに」にも書いたけれど、自分はGUIシステム全体を述べた本を作りたかった。

GUIシステムというと

1. 入力からイベントループの所
2. Viewツリーの作成とレイアウト
3. 描画

くらいだよな、と思う。そんな訳でこの本はこの3つを扱っている。
それに加えて、3の描画の所が長い、という特徴がある。これは現代的なGUIシステムの標準的な姿だと思う。その事はクラスライブラリの構成、ハードウェア、標準的なUIなど、多岐にわたる影響を与えている。

そんな重要なGUIシステムの現代的な姿だが、その事を学ぶ時の定番の教科書、のような物は無かったんじゃないか。
一昔前ならXでもWin32でも、自分が使う環境についてこの辺を一通り学んでいたと思う。でも当時と比べると描画回りは結構変わったから、昔の本を読めば良い、という訳でも無い。
しかも今からXとかWin32とか無いわー、という気持ちでいっぱいである。

この辺はwebの時代になって一旦不要になった知識、と思うのだが、モバイルになって重要性がまた戻ってきた。でも重要性が高まってきたにも関わらず、ここを述べた本が復活していなかった。
web以前から来た人はかつての自分の知識をひっぱり出してきて、それを土台に違う所を比較しつつ適応していったと思う。
でもwebから流れてきた人はどうか?
rails飽きたからスマホのアプリでも作るか〜、という人は、どこでこうした知識を学ぶのだろう?

そこで自分は、そうした人もちゃんと読めるような、以前のGUIシステムの差分としてではなく、今はじめてこの知識の土台を作るべく最初から学ぶ時に読む本を提供したいと思った。
その目的にはAndroidほど適切なプラットフォームもあるまい(ソースもあるし凄い普及しているし)。
という事で書かれた本が、「Androidを支える技術 I」である。

GUIアプリは、コンソールアプリとはちょっとギャップがある。例えばmainから始まらない。
で、最初にいろんなバックグラウンドを全部無視して、そうしたギャップは全部のみこんで、とりあえずGUIアプリ開発をしていく過程で慣れていく、というのは正しい始め方と言える。
でもどこかではコンソールアプリ的な、mainから全てを理解する世界と、GUIアプリ開発とをつなげた方が良い。
自分の本はそこを解説している唯一のAndroid本だと思う。

GUIシステムの全体像という物の理解は、プログラマの知識のポートフォリオの中ではなかなか使い勝手の良い項目だ。プログラマ人生の中のどこかで、一回くらいはその土台をしっかり築く価値があると思う。

もちろんこの本は、真の意味でAndroidの本である。
決してAndroidという名前を冠していながら実際は一般論を述べただけの本ではない。本当にAndroidを全てを知ろう、と思った時の出発点たりえる本だと思う。やはり実際のコードがあるものじゃないと納得行くまで読み込めないしね。MINIXカーネル入門が良いのはMINIXの本だからだ。

読んだ人には割と「確かにGUIシステムの本ってあまり無かったな」という印象を持ってもらえているようで、どうやら目指した本を作れたらしい、と思っている。

?

ログイン