フロイドの狂気日記

時は流れ、曲も終わった。もっと何か言えたのに。

PR

先進的プログラマがGAFAに加担するという邪悪

PR

モダンな開発環境。イケてるweb appにまつわるバズワードが立ち上がっては消えてきた。

www.byosoku100.com

一年半以上前にこんな記事を書いて、モダンなエンジニアから微妙に批判を食らった。それから時間が流れ、IT業界周りのニュースを見るに、新しい考え方が頭の中にでてきた。僕は過去記事で微妙なフロントエンド周りの推奨ばっかりしやがって、うぜえなぐらいの価値観で書いていたが、最近ではモダンなweb開発というのはイービルなweb開発と言い換えられるのではないかと思い始めた。

 

いかにReactやAngularが優れた開発のためのフレームワークかというのは、ここでは語らない。なぜGoogleFacebookは大金をかけてフレームワークを猛スピードでアップデートしまくるか、という点にフォーカスしてみるといい。すでにGAFA製の開発環境というのは珍しくない。金になるユーザーに対する製品だけでなく、開発者に対してまでたくさんのツールを提供するのは何故だろうか。製品として売り出す可能性のないものまで大金をかけて整備しているのはなぜか。

 

webフレームワークを整備する理由は一つで、とにかく個人情報とビッグデータを蓄積したい、ということである。個人情報を取得することに特化しやすくOSレベルで作り上げたAndroidと違って、ブラウザの歴史は古い。そもそもブラウザはインターネットで閲覧するという素朴な目的で始まっていて、個人情報を取得したりデータを蓄積し続けるという目的で作られたものではなかった。もっぱらユーザーが閲覧するためのツールである。

 

それはネット時代の到来とともに爆発的に普及したわけだが、それが故に囲い込みが難しいのだ。ブラウザシェアを最も握っているのがGoogle Chromeではあるが、Firefoxもユーザのデータ保護を掲げてGoogleと対決するつもりでいるし、Applesafariも独自の観念を持って開発されている。最近ではブラウザの個人情報の取り扱いの新しい仕様を巡って激しく対立することもある。

 

Googleのミッションは現在、広告を踏ませること、そのための情報を収集しつづけることになっている。ところがモダンではないweb開発、例えば素のjavascriptjQueryといったライブラリは個人情報を取得するのに不向きである。2000年代後半から2010年代前半に向けてのweb開発は牧歌的で、リッチなデザインを実現するためのライブラリが多数でてきたが、あくまでカッコいいwebアプリのためのものだった。ところがスマホが爆発的に普及すると、webから個人情報を抜き取るための様々なアプローチが進んでいった。それでもsafariは広告をブロックできるようにしているし、firefoxは個人情報の取得に消極的である。

 

そのような状況下で誰が、どのページの、どの部分を注視して、それくらい滞在して、どの国で見ていて、というような情報は非常に価値があるものの、牧歌的なweb開発環境ではかなり取得が難しい。そんなわけでGAFAにおける広告屋のFとGはwebフレームワークを開発して、デベロッパーに提供している。ようするに膨大なwebアプリやページから個人情報やビッグデータを取得しやすくするのが目的である。Googleはwebページの解析も仕事のうちではあるが、それをよりしやすくするためには開発環境の文法とて利用可能である。

 

ReactとAngularのアプローチは少しことなるが、F側はネイティブスマホアプリとコードを共有しつつ同じように動かせるという方向で、G側はPWAなどでwebページをあたかもネイテイブアプリのように動かせるというアプローチである。2つの共通点はAndroidで動くアプリと同じようにする、というのがポイントである。なぜかというと、Androidアプリと同じような形でデータを取りたいからだ。

 

そんなわけでこの2つのフレームワークは非常に勉強が必要だが、使いこなすと利用者の個人情報や利用状況を把握しやすくなる。実のところSIerや業務アプリが必要としているwebというのはすでに発展が終わっている。業務アプリで必要なのは検索と閲覧がメインであるため、殆どの場合、秒間数千万アクセスなどをさばく必要はないし、中小企業がコントロールするのはトータルで数万数十万程度のものである。おまけにデータ解析などは対しない。そのため零細中小企業の受託開発ではハードルの高いフレームワークはほとんど採用されない。特にメリットがないし、人も集まらないからだ。

 

イケてるwebアプリをユーザー向けに展開する企業なら別かもしれない。だがユーザーが欲しているwebとは何か。答えはこれだ。

 

阿部寛のホームページ

 

ユーザーは目的の情報をスピーディに簡潔に示してほしいと思っている。だがGoogleとFBはそれが我慢ならない。なるべく多くの広告を閲覧して欲しいし、その広告の精度を上げるために多くの情報を必要としている。だから開発者にもそれにふさわしいツールをいくらでも用意する。動画広告のジャストな埋め込みや、流れる広告などの実装もjQueryで実装するより、より簡潔にエレガントにできるだろう。

 

かつてITが人類の発展のためであるという名目が生きていて、善意のオープンソース開発が活発だったころと、現在は事情が異なっている。オープンソースで開発する素晴らしいものは広告ブロックであったり、webの偽情報を判定したり、javascriptを止めたりするようなアドオンであり、開発者が使うツールというのはGAFAたちの都合によって生み出されるものに依存しつつある。

 

問題なのは「これって我々にりいます?」というのも非常に多いことだ。ユーザー体験の向上というのがお題目となっているが、広告にいったいいくらのギガを消費しているだろうか?昨今ではwebアプリと技術というのは人類のためではなく、金のなる木として発展している。どこかの芸能人のホームページのように、僕らは過剰に消費しないで目的の情報のみがあればいいと、いつだって思っているにも関わらずだ。

 

webのモダンな開発という美名欲しさに、学習能力有り余っているエンジニアは自分達の採用する素晴らしい環境を持ち上げる。だけれど、それってGAFAの売上に貢献するため利用されてませんか、真にユーザーにとって必要な機能やサービスでしょうか、という自問は常にしていきたい。

 

ReactやAngularに過度なweb依存症やフェイクニュースを止めるための機能ってのはない。その代わりに、広告スペースを有意義に配置したり、変にズレたりしないような優れたテクニックはある。それにデバッグのしやすさである。これは言い換えればjacascript部分の解析のしやすさともいえる。そのwebサイトが何をどういう風に実装しているかというのは、とりわけGoogleにとって金になる情報である。検索インデックスを機械的に解析するには、webの表のソースコードの支配は効率がいいことである。彼らが「イケてるweb開発」と称して開発者達を取り込もうとしている点について、本当に人のためなのか、なぜこうも学習が必要でオーバースペックなものを要求してくるのか、本当は疑うべきだ。

 

何故ならば不要な勉強を強要され、その成果物というのは彼らが長期的な利益を得るためのもので、僕らのちっぽけな脳みそや、貴重な時間を搾取される羽目になっているかもしれないのだから。