ふろしき.js

Web + Mobile + UX + Performance Tech

「Visual Studio 2013 は何が違うのか? HTML5時代に整合したWeb開発環境」もう少し細かく説明

10月31日、Web技術者イベント「Halloween Web Night」にて登壇させて頂きました。

その際、Visual Studio 2013に含まれている新機能について、15分間でできる範囲での紹介をさせて頂きました。時間が十分でなく説明ができていないところもあったため、少しばかりその補足をさせて頂きます。


なぜ、Visual Studio 2013なのか?

ばりばりのベンダ製品なので気後れした人も多いと思いますが、私は別に「Visual Studioを使って欲しい」という想いを持ってやっていたわけではありません。どちらかと言えば、技術として優れている部分を共有したいという気持ちから紹介してみました。

昨今、Webの開発環境はHTML5の登場でかなり高度な知識を要するようになりましたが、その考え方は様々なOSSの複合により実現することが多くなったはずです。そしてそのバラバラのOSSを使って、なんとか目的の開発環境を得ようとしているはずです。

こうした中、Web開発に必要な要素、エッセンスみたいなものを的確に吸い上げてきたVisual Studio 2013は、OSSの組み合わせるノウハウを必要とせずに「イマドキの開発方法」に簡単に触れることができる入り口として優れていると感じたんです。だからこそ、普段私がGrunt推しと言いつつも、あえて今回この製品を紹介してみました。

今後、EclipseやNetBeansなんかも、Gruntのような独立ツールでなく、プラグインとしてどう開発環境と混ぜていくべきかという議論が必要になった場合、今回のVisual Studio的アイデアは参考にされる可能性が高いと考えています。

今がどうこうでなく、将来のIDEの姿を考える上で必要なことだと、私は思っています。

Gruntと本当に同じことができるのか?

実はVisual StudioがGruntと全く同じをできるというわけではありません。あくまで「Gruntっぽい」というだけでしょう。

GruntにせよSenchaSDKにせよ、あくまでYUI Library的、独立したツールとして提供する流れに入っています。こうした中、独立したツールではできないようなユーザビリティに力を入れているのが、今回のVisual Studio2013ではないでしょうか。

エディタもバックグラウンド処理もテンプレート生成もパッケージ管理も、全てが繋がっていて初めてできるようなことを、VS2013は上手く実現できていると思ってて、そこに今後のテクノロジーの未来みたいなものを感じたのです。

オープン系技術としてのWeb

私はこれまで、会社名を出して講演をしませんでした。去年あたりからWeb系勉強会で喋ることがありましたが、あくまでそれは個人での活動ということで、会社の名前は一切出しませんでした。

では、ここに来てなぜ所属会社名を明かしたのか?

実は11月は講演が5本ほどありまして、いよいよ資料作成の時間が無くなってきたところに、「会社で作っても良いよー。そのかわり、スポンサーみたいな感じで所属名ぐらいは入れてね」と。。まぁ自分で言うのもアレですが、私の個人的な活動を会社が後方支援してくれるだなんて、結構いい会社ですよね。

うちの会社ですが、90年代末からLinuxに取り組んでいたり、Javaなんてバージョン1の頃から使ってたりで、国内でも有数なんじゃないかと思えるぐらい、オープン系にやたら強いという特徴を持っていたりします。

オープン技術を扱う人ならわかると思いますが、この手の技術はコミュニティとの関わりがすごく重要だったりします。コモディティ化された技術に企業の壁を超えて皆がコミットし、互いに助け合うことでそれぞれのビジネスを成長させるという、論文「伽藍とバザール」を体現したようなスタイルを持ちます。こうした背景もあり、特に私の所属する部は、SIとは思えないほどコミュニティとの関わりに寛容なところがあったりします。

また、非メーカー系SIなのでベンダに全くロックインされておらず、私が最大に注意を払っている「中立」なコミュニティ活動家という立ち位置は維持できるかとおもいます。会社も自分の紹介するOSS/ベンダ製品が何かについて、文句を言ったりはしないでしょう。

SignalRから読み取れる今後のAjax

SignalRのような、非同期通信をAjax的データ通信でなくRPC的発想として使おうという流れは、別にMicrosoftに限った話ではありません。

Socket.IOはあくまでWebSocketがCommetにフォールバックできるというステートフル通信の抽象化のみでしたが、近年のベンダ製品にあるのは通信の抽象化でなく、「モジュール間通信」です。レイヤーの上昇が進んできたのです。

このあたりは話すと長くなるので、うまく情報を整理した上で、HTML5 Conference 2013の講演にて紹介しようかと思います。

お楽しみに!