Javascriptが世界を支配する日
Ajaxの登場とDOMの標準化
Ajaxの登場でこれが変わりました。Gmail, GoogleMapsの登場は衝撃的でした。
WebエンジニアたちはこぞってJavaScriptを勉強し、書き始めました。
またDOM標準が整備されることによって、画面を動的に変更するのにJavaScriptが使われるようになりました。
ホリエモンがlivedoor PICSについて「AJAXバリバリです」と宣伝したのがこのころでした。(当時はprototoype.js)
jQueryの登場
jQueryの登場はこの流れを加速しました。マークアップエンジニアたちもjQueryのコードを書き始めました。
これは革命的なことでした。
今日、JavaScriptが使われていないWebサービスはほとんど存在しません。
プロのWebエンジニアでJavaScriptを書けない、書いたことがないという人は皆無でしょう。
HTMLを手で書く代わりに、jQueryでDOMを構築することが多くなってきました。
.append($('<div>'))
こんなコードをしょっちゅう書くようになりました。HTMLには<body>タグ1個書くだけ、そんなケースも増えてきたのではないでしょうか。
例えばGmailのHTMLソースでは、<body>タグ内に<script>タグしかありません
この傾向はどんどん加速するでしょう。
iPhoneの登場
iPhoneの登場によって、Flash/ActionScriptの地位が相対的に低下しました。iPadの登場はこれにとどめを刺しました。
いままで「ホームページ」をFlashで飾っていた企業も、FlashをやめてJavaScriptに置き換えるようになりました。
JavaScriptの直接的な競合がいなくなってしまいました。
さらに、HTML5/JavaScriptでスマートフォンアプリを書くケースが増えているという話もあります。
スマホアプリ開発はHTML5/jQuery Mobileとネイティブどっちがいいの?
GUANDAMの時代
さて2012年はGUANDAMの時代と言われます。おい!おいおい!「LAMP経験者募集してます」っておい!もう2012年だぞ!もっとナウい感じのがあるだろ!!クラウドWebサービス時代は GUNDAM(Github Ubuntu Node Dropbox AWS MongDB)だ!!「LAMP経験は?」「俺がGUNDAMだ!」
— Wataru MIYAGUNI (@gongoZ) March 12, 2012
NとM(Node.js、MongoDB)、この2つに共通するものはなんでしょうか。
そう、JavaScriptです。
Node.js
Node.jsの登場によって、JavaScriptはPerl/PHP/Ruby/Pythonの領域(の一角)を侵食しつつあります。node.jsきてるなー、胎動してるなー → node.js のホスティングサービスまとめ - 自分の感受性くらい http://bit.ly/fR3DKK
— Ken Nishimura / 西村賢 (@knsmr) December 16, 2010
MongoDB
MongoDBの登場によって、JavaScriptはSQLの領域(の一角)を侵食しつつあります。MongoDBはきてます。
【増員73名】MongoDB女子部 startupイベント
他にもこんなところでJavaScriptが
Google DocumentsのマクロはJavaScriptで書きます。Google Apps ScriptでGoogleドキュメントのスプレッドシートを操作する
Windows8は、HTML5とJavaScriptでネイティブアプリを書けるそうです。
Windows 8では、HTML5とJavaScriptでWindowsアプリを開発可能に - Publickey
するとどういうことが起こるのでしょうか?
自然言語で起きたのと同じことがWebの世界でも起こる
自然言語で英語が台頭したのと同じようなことがWebの世界でも起こるでしょう。JavaScriptが共通言語になるでしょう。
すでに「Webデータ」の世界ではJSONが共通言語になりました。
XML-RPCの話題はめっきり聞かなくなりました。SOAPって何でしたっけ。
共通フォーマットが1つあるというのは大変便利です。
プログラミング言語でも、共通の言語が1つあると便利でしょう。
アルゴリズムの解説に説明に仮想言語を使うより、JavaScriptで示した方がわかりやすいかもしれません。
例えばクロージャの解説をするなら、JavaScriptで例を示せば十分です。
[JavaScript] 猿でもわかるクロージャ超入門 まとめ - DQNEO起業日記
同じことがCLI(バッチ処理)の分野でも起こるのではないでしょうか。
MongoDBではバッチ処理をJavaScriptで書きます。
MongoDBでらくらくバッチ処理をやる(JavaScriptファイルを実行する)方法 - DQNEO起業日記
MongoDB : サルでもわかるMapReduce - DQNEO起業日記
やってみるとわかりますが、なかなか快適です。
MongoDBのバッチができるなら、Linuxのバッチ処理だってJavaScriptでできそうです。
(ちなみにWindowsではWindows98の時代からWSH/Jscriptという仕組みがあり、JavaScriptでバッチ処理やCLIアプリを作成することができました。もちろんいまでも。)
思えば、この流れはどこから始まったのでしょうか。
それは間違いなく、GoogleがXHRをウェブで使うようになってからでしょう。
XHRはどこから来たのでしょう。
それは、IE5から来ました。
それは、Outlook Web AccessのためのActiveXオブジェクトでした。
脱線したので話を元に戻します。
LinuxのバッチをJavaScriptで書けるようになったら、Bash/Perl/Python/Rubyを駆使する必要がなくなるかもしれません。
そうなると全部JavaScriptで済んでしまいます。
クラウドの登場によってアプリ開発者の仕事が増えました。
小さい会社であれば、サーバ管理者を雇わずにアプリ開発者がサーバ管理を兼務してるケースがあると思います。
スマートフォンの登場によってアプリ開発者の仕事はさらに増えました。
一方、技術がどんなに進化しても人間の脳は進化しません。
そうすると、複数言語を学習する余裕がなくなります。
言語を3つも4つも使いこなせるエンジニアというのは世の中には多くありません。
それは、自然言語を3つも4つも使いこなせる人が多くないのと同じ理由です。
普通の人にとっては学習コストが高いのです。
JavaScriptさえ書ければ何でもできる時代が、もうすぐそこまで来ているかもしれません。
JavaScriptを書こう。
カテゴリ:
JavaScript
MongoDB