: 雑記 「車輪の再発明」をするべきか、しないべきか・・・それが問題だ

 今回は、本当の意味での「雑記」です。技術的な情報を集めている最中、不幸にも当ブログに検索で引っかかってしまわれた方!申し訳ありません。お手数ですが「戻る」ボタンを押して再検索願います。

車輪の再発明

車輪の再発明(再発見)」一部界隈ではよく耳にされる言葉でしょう。基本的には忌み嫌われる類の言葉です。物知らぬ者を嘲笑う、といった意味でも使われますし、何がしかの理由で今在るものを使うことが許されず、ゼロから作り直さねばならぬ己の境遇を嘆く意味でも使われます。また、よい意味でとれば、何かを作る必要に迫られた場合、一度立ち止まり「これは車輪の再発明ではないのか?」と自らに問う有難いお言葉、とも言えるかもしれません。
なぜこんな話をしているのかといえば、お察しの通り、私自身が今ハムレット状態なのですwいや、そんな大袈裟な話ではないんですが・・・。先月から Android プログラムを始め、当ブログを始めたのも他ならぬ「何かアプリケーションでも作ってみようかな」という動機からです。料理を作る場合でも調理を始めながら、その都度、足りない材料を買い足しに出かけたのでは相当辛い。基本的な献立を決めたなら、次は材料集め、そしてようやく調理開始が基本。プログラムだって同じこと。というわけで材料集めのスタートとして TextView の吟味を行っていた訳ですが、ここで1つ壁にぶち当たることになります。


「テーブルないじゃん・・・」


どうしてもテーブル(表)は必要な素材のひとつなのです。無きゃ無いでしょうがないという訳にはいきません(献立上)

方法論は幾つかが浮かびました。


1・画像で済ませる。
2・テーブル・レイアウトを使う。
3・WebView を使う。
4・自分で作る。


出来上がりを想像すると1は何か間抜けです。そもそも何十ものテーブルを必要とするので一々画像を揃える手間も避けたいところ。プログラムのサイズ自体も心配です。その割には出来上がりはやっつけ仕事感が漂います。2は一番無難な発想だろうとは思います。しかし、これとて何十ものテーブルを挿入するごとに組むのでは大変です。もちろん処理を自動化すればいいのでしょうが気が進みません。そうなれば当然「3 WebView を使うしかないじゃん」となるのは当然の帰結でありましょう。ええ、それはそれで正しいと思います。当ブログで TextView の資料を書いていて、づーっと心の中でせめぎ合いが続いていた事でもあります。「いっそHTMLで書いてしまったらいいんじゃないの?」と。ま、そりゃそうなんですが、それをしてしまうと何か絶望的な敗北感は否めないじゃないですがw PC界隈で一時席巻した「ブラウザ至上主義」に屈したようで・・・。
もちろんそれが間違いであるとは思ってません。スマートフォンといえどネットワークと接続している以上、ブラウザが全ての中心となっていくのは時間の問題でしょう。メンテナンス、開発・運用コスト、優れた部分が多いですからね。だけど「そんなのが作りたいの?」と問われると「うーん・・」と考えてしまいます。そもそもWebアプリとしてなら類似するアプリは「献立」被りで存在してますからね・・・。
そこでぐぐっと持ち上がってくるのが4の「自分で作る」という方法論です。前回 Tips でやったような SPAN でテーブル機能を用意出来れば結構面白そうです。その方法論ですが、最初は WebView から租借出来ないものかと考えたわけです。いやいや卑怯ではなく「車輪の再発明」の教訓を実践した訳です(言い訳)。しかし、つらっと眺めた限り、実装はネイティブの闇の中にありそう・・・。そこで租借は諦め自ら実装する道を探ることに。そして、ちょっと調べてみた限り線を描くだけなら案外出来そうだな、という感触は掴めました。しかし、ここではたと我に返りました。


「そもそもテーブルってどういうルールの上に配置が決定されているのだろう?」


文字数が決められていないテキストを決められた大きさの決められた数の枠にバランスよく綺麗に収める・・・。Java がどうとか Android がどうとか以前に多分古代ギリシャ時代」以前の数千年前には解かれているであろう解を再度「再発明」せにゃならん羽目に陥りました。いや、そんな大袈裟な話ではないんですが、ま、なんといいますか・・・面倒くさいなぁ・・・とw
ま、結局使うのは自分なんで、自分が満足できる範囲で作ればいいだけなのでその点気が楽ですが。




終わり。