javaとandroidに関するkeijakのブックマーク (1)

  • Android らしい Java - 4. コード生成

    Java にはリフレクションがあり、当時は目新しかった。 人々がリフレクション API を使いこなしだすと遅さが目立ち始めた。ライブラリ開発者はリフレクションを実行時バイトコード生成で置き換えた。こうして Java のバイトコード編集ライブラリが発達した。 言語仕様にアノテーションが追加されたのも同じ頃。アノテーションと実行時バイトコード生成が Java フレームワークのデザインに与えた影響は大きく、モダンなサーバサイド Java は案外簡潔なコードを書けたりする。XML がアノテーションになっただけ、とは言わない約束。いちおう型をチェックできるし、冗長といわれる Java だって XML よりは簡潔だし。 Android Java は実行時に Java バイトコードを解釈できない。だから Java のコード生成資産が使えない。実行時にロードできる DEX にもデータを一旦ファイルに書かな

    Android らしい Java - 4. コード生成
    keijak
    keijak 2015/11/20
    調子に乗ってコード生成しまくるとフィールド数メソッド数が増えていくのがAndroid的には悩みの種。DEXの呪縛から逃れるためにProGuardのconfigが複雑化したりとかmultidex化みたいな謎の努力を迫られてつらくなりがち。
  • 1