「8月末に出版されてからだいぶ経ってしまったが、こういう本が出たぞ」
「内容は?」
「C#6とデスクトップアプリをWeb対応にして、スマホでも使えるようにしていく技術的な話だ。C#6時代に必要とされるノウハウだろうと思ってね」
「C#6とは?」
「C#5から変更された言語仕様について詳しく説明した。オーバーロードの解決の変更も具体的にVisual Studio 2013と2015で結果が異なるサンプルソースを掲載している」
「Web対応とは、具体的には?」
「ANGF Web Playerの実験コードの成功のフィートバックだ」
「その実験コードのポイントはなに?」
「状態を持つデスクトップアプリのコードを、いかにしてステートレスのWebの世界に最小限の修正で持ちこむのかというノウハウ」
「具体的には?」
「おっとそこから先は買って読んでおくれよ」
「無修正ではないんだね?」
「リモートデスクトップ的な技術を使えば無修正で……という話もあるのだろうが、今回は小修正で正直にHTMLを生成するようなアーキテクチャになっている。利用者は他のWebアプリとあまり区別できないかもしれない」
「その程度にはWebアプリらしく仕上がるわけだね」
「ただし、【状態】は存在する」
「その意味は?」
「元々のアプリに【状態】が存在するからだ。それをWebアプリに直したところで、【状態】が消えるわけではない。ゼロからスクラッチで書き直さない限り【状態】は消せないが、それだけの手間を掛ける意味も予算も時間もないし、そもそもコード資産を活かせない。それはダメな前提だ」
「つまり、どこにポイントがあるの? HTTPには状態が無いから状態などあってはならないという人達に喧嘩を売るの?」
「思いっきり喧嘩を売ってるけどね。それは本質では無いよ」
「というと?」
「そんな喧嘩は一文の値打ちも無い。意味があるのは、状態を持ったデスクトップの既存コードと、状態を持たないWebのアーキテクチャをいかにすりあわせるのかだ」
「そこが技術的なポイントなのだね」
「そうだ。技術は人に奉仕すべきなのに、人間がプロトコルごとき奴隷になれという人達は阿呆の極みと思うが、そんなことはどうでもいいことなのだ。まずは動くこと。話はそれからだ」
「動かないコードは、どんなに理屈が正しくとも、利用されることは100%あり得ないわけだね」
「まあだいたい動くところまでで、体力も時間も予算も使い切るよ。手を動かすより口を動かして理屈を言う人はそもそも敵にならないと思っていい」