megamouthの葬列

長い旅路の終わり

漫談・フロントエンド談義

(出囃子)

あー本日はお日柄もよろしゅう…
え?そないな挨拶はええから、はよ、おもろい事言え?
今日はお客さんはプログラマばっかりやから、せっかちでんな。短気も美徳のうち言うわけやけども、わしも、ただの大阪のおっさんやさかいね、そない、おもろいことはすぐに言えまへんのや…

うーん。せや、最近、フロントエンド界隈がおもろいでんな。
ReactとかVueとかAngularとか?Riotとか言うのもあるらしいですやん。
ほんで、アーキテクチャとしてはFluxがどうとか言うとって、ここ数年のフロントエンドはめまぐるしゅう変わっとって、
横目で見とるわいらなんかも、えらい忙しゅうしてはんなあ、思うてね。
あの人どのぐらい儲けてはんのやろ?とかそないな下世話な興味も出てくるっちゅうもんですわ。

アタクシなんかは、システムっちゅうもんは何で書こうが、動きさえすればそれで、ゼニコロ貰ろうて、ホナサイナラ、言うもんで、好きにしたらええ思うとりますけど、
こうも大手を振ってQiitaやら、ブログで得意げに知識をひけらかされちゅうもんで、なんや、自分もやらなあかんのちゃうか、jQueryですまそう思うとったけど、そうもいかんのちゃうか、ちゅう気持ちにもなろうもんや。

ほんなら、いっちょやったろか、言うてね、boilerplateでもクローンしてきて、よっしゃとりあえずソース見てみようか、ちゅうてこう、ワイシャツを腕まくりして、ソース見ますやんか。ほらな、まず最初にimportやらなんやら書いてありますんや。なんやこれ?ちゅう話ですわ。

ちょっと調べてみたら、jsはバンドラーちゅうもんで、なんもかんも一緒くたにしなはれや、言うことで、gulpやら今はWebpackや、いやそれもWebpack2やみたいな話になっとる。
この前Grunt言うとったんちゃうんかい。
言う話やけど、boilerplateみたら、webpack.config.jsやら、yarn.lockやら、そないな、わけわからんもんが入っとるさかい、使わんことには、これ、どうにもなりまへんで、いうことになっとります。

そもそもES6ってなんやねん。言う話やでほんまに。
そないなもん、クライアントはんが求めてはる動作環境で動くんかいな。いや、IE8なんて実際のところ使こうてはるんかわかりまへんで?
せやけども、うちのアホの営業が昔の企画書コピペしてきて、動作環境に入れとるもんやから、動かんとわいらが怒られますよってな。
ほんで、これも苦労して調べたらpolyfill言うのいれたらいけるで言うわけで、ほなそないでっか、言うて、調べたら、今のbabel.rcやとアカンからここをこうして…言いましてな。

一体わしはいつになったらReactちゅうののコンポーネントが書けるんや!
FluxちゅうのでどれぐらいjQueryのアホンダラなコードが綺麗になるんやと。
あかんわ。お手上げや。
わいが悪かった。
わいみたいなjQueryとBackboneで止まっとる阿呆がWebコンポーネントとか、SPAとか言うて、こらすんまへんでしたな、と意固地になりまして、rm -rf boilerplace、グッバイサンキューちゅうところですわ。


Qiitaでイキっとる連中がどれぐらい意識しとるかわからんへんけども。そうやってアホを置き去りにしたかて、あんたらの為にはならんで、ちゅうことは言うときたい。

あんさんらは、わいらがおるWebっちゅう世界が、プログラミングの世界の先端にあるっちゅう、そないな勘違いをしとるんちゃうか、思う時が時々あるんや。
Webっちゅうのはパラダイムの良くて中心か、末端を走っとってな。Webの「新技術」なんてものは、別に発明されるんやのうて、「発見」されとるのに近いわけや。

つまりはWebの世界の「標準」いうんは、GoogleAppleやMSが作っとるんやないんよ。ましてやその技術系統の素性なんてどうでもええことでな、凡庸なプログラマ連中が、みーんな普通に使えるようになったら「標準」なんや。それだけの話やで実際。

そもそもjQuery見てみーや。あないな変態なもんがあるかいや。セレクタで対象選んで、メソッドチェーンでDOM操作やで。
prototype.jsのほうがオブジェクト指向的には、CodeComplete読んどるお客さんからしたら、よっぽどまともな代物に見えるんちゃいます?
それが今やprototype汚染言われるんやから、ほんま時代の移り変わりは激しいもんやで。

ちょっと話がずれてもたけども。
それでもみんなjQuery使こうたわけや。なんか慣れたら結構便利やしな。IE7とかクソアホンダラなブラウザの事も気にせんでええ。デザイナーの上げてきたHTMLをいじらんでも、まあせいぜいいじったところで、id属性適当につけたるぐらいや、それでセレクタで掴んで、操作して、完全にレンダリング後のHTML操作ができるんやさかい、こりゃええわ、ってなったわけですわ。

これが「標準」ですねん。
フロントエンドの人らに言いたいんは、あんたらがいくらDIやらSPAやら言うてもな、誰もWebコンポーネントなんてもんは作らん、言う話や。
あんたらが作るんか?そらご苦労なことやで。
デザイナーはんが修正したい時はどないするんや?
jsxやらvueファイルやらいじってもらうんか?それどないして確認してもらうんや?webpackいれてもらうんか?yarn installで入るって?
そもそもデザイナーはんのMacにnodeもhomebrewも入っとらんがな。どないすんねやほんまに。

そら、あんたらの気持ちもわからんでもおまへんで?新しい、便利なもんは使いたい。普通にJS使うたら、そもそもclassの定義すらできまへんからな。
それで、躍起になってGoogle Trendで調べたら、Reactが流行っとる。jQueryなんて今さら誰も使こうてへん。海外のサイトがどうや、色々言うてきますわ。

それでもな、自分らで好きなようにやるんやったらそれでかまやせんけど、
世の中には、難しいことはなーんもわからん、いたいけな若いデザイナーの女の子がおるわけや。
その女の子にあんたらそのBabel言うの、Webpack言うの、どないして使こうてもらおう、思うとるんよ。

わいが思うんは、「正しい技術」やら「使わなあかん技術」なんてもんはない、言うことですわ。
あるんは、職業プログラマーとしての「指針」言うんますかいな、まあ、早い話がとっとと仕事終わらせて、飲みに行くにはどないしたらええんか、ちゅうことです。

わしの経験から言わせてもらいますけど、凡庸な課題には最も凡庸で手っ取り早い実装が向いとる、ちゅうことですわ。凡庸でない課題はどないすんねん、言う話やけどそれは、まあ置いといてやで、不動産屋の物件管理がしたい、とかそないな凡庸な課題ちゅうもんはPHPでもrailsでもなんやったらWordpressでも何でもかまいやしまへんけど、別にSPAである必要はあれへんし、ページ送る度に、ブラウザがリロードしたかて、だーれもそないこと気にせえへんのよ。

逆にそんなシステムにおたくらご自慢のSPA導入して、デザイナーの連携もできんでな、ボタン追加するのに2人日かかりますねん。いやそもそもフロントエンドエンジニア一人しかおりまへんから、全然作業進まへん。あー納期来てもうた。なんちゅうことになったらどないしますねんや?

これなんかわし、実際に言われた事あるんやけどな、クライアントはんが「普通に作ってくれはったら、それでええんやけどな」言われたらどないしますねんや?

せやったら、馬鹿でかいエコシステムを抱えちゅうフロントエンドの出番なんてないやないか、わいらはどないしたらええんや、言うてな、フロントエンドエンジニアのお客さんなんかは頭抱えてはるんちゃいます?

まあそうなるのが嫌やから、一生懸命Qiitaやらなんやらに書き込んではるんやったら、わしらも同情しますけどな。ほな、もう正直に言うてもろうてもええで、実際誰もついて来まへんねん。いうお客さんおりますかいな?

誰も手あげませんな。よっぽど気位が高いんか、あんさんらがみんなjQueryしか使こうたことがないかどっちかやな。

まあよろしいけどな。ただ一つ、フロントエンドはんが、救われる道があるとしたら、これは一つでな、「困難な課題」に挑戦することやで。
GoogleAnalysticsの画面なんかはこれ、見事なangularアプリケーションやな、わしなんかはリアルタイムサマリー一日に100回はリロードして、散々いろんなところクリックしますけど、レスポンスも早いし、それでもエラーが起こることは全然ありまへんわな。
こういうアプリケーションを作るのは、フロントエンドはんだけが頑張っても詮無いことでしてな、デザイナーも、営業も一体になって、「困難な課題」に挑戦していかなあかん。そんで、それがフロントエンドの生きる道や、思います。

まあ実際問題、そないな課題を発注してくれるお客さんがいはるかは知りまへんけどな。もし発注してくれる、ちゅう話になったら、単価は上げてもらわんと、わいらみたいなjQueryのおっさんが困りますよってな、くれぐれも安い値段でとらんといてもらいまっか?

ちゅうことで、わしの言いたいことはこれぐらいや。ほな、また。

(パラパラとした拍手、罵声)

Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門

Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門