登場年代や時代のPCの性能がそれぞれ違いますし、各年代で合理的な選択の結果、ではないでしょうか?
WinAPIはWindows黎明期からずっと拡張が重ねられてきていて、CreateWindowなどができたときはXMLなんて物は存在しません。多少rcが融通利かせてくれましたが、PCも貧弱でかなりの部分を一から全部書かないといけなかった時代です。
WinFormsが登場したのはXMLよりも少し後ですが、まだXMLはデータを保存する一形式というレベルでそこまで一般的なフォーマットとして広がってはいなかったように思います。アプリすべてを.NETの仮想マシン上で動かすのは、動くには動くけどやや厳しい、という感じで、Visual Studioがフォームの作成コードを直接生成するのは起動速度の面でもXMLなどの解析が必要なく有利だったのでは、と思います。
WinFormsとして一度作ったものですから完全に置き換えるわけにはいかず、今もそれは続いていますね。
Androidよりも前でも、WinFormsの置き換えとして登場したWPFのようにXML(を拡張したXAML)でUIを記述するものはありますし、AndroidだけがXMLを使っているというわけではないです。(WPF自体は描画速度が遅すぎて流行りませんでしたが、、、)
このころにはインターネットが一般的になって、XMLの処理もそれなりに行え、データ形式はもう全部XMLでいいじゃん、って感じだったように思います。
XMLは木構造の静的なデータを表すのに向いていて、UIもビューの木構造で表せますから相性がいいです。
XMLにするのは作る側、使う側それぞれにメリットがいろいろあります。
・ファイル構造を考えなくてよい(データの形式に集中できる)
・テキストデータなのでgitなどでのマージがしやすい
・手で書くことも専用ツールを被せることもできる
・困ったときに手で編集も可能
・開発ツールを開発する側にとっても、とりあえず手書きでデータを作れてテストも容易
・各種ツールも先駆者が揃えてくれてる
最近は可読なデータ形式ならわざわざ作るよりもXMLかJSONか、という感じですが、JSONだと型が表しにくいのでUIの構造をきっちり表すにはちょっと向いていません。
ですので、WinAPIやWinFormsと比べて最近登場したAndroidのUIの記述がXMLになったのはごく自然の流れだと思います。
XMLに代わるものってあんまり聞きませんからしばらくは続くんじゃないでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/10 06:20