検索
連載

ツールから入る、モダンな.NET業務系HTML5/JavaScript開発連載:業開中心会議議事録(2/2 ページ)

マイクロソフト技術がオープンソースで提供されたり、Web標準技術がツールに搭載されたりするなど、Visual Studioユーザーの状況は変わりつつある。今後、.NETとHTML5のどちらを選択すべきかを議論した。

Share
Tweet
LINE
Hatena
前のページへ |       

パネルディスカッション『これからVisual Studioエンジニアは、.NETとHTML5、どちらに賭けるべきなのか?』

 本会議の最後には「これからVisual Studioエンジニアは、.NETとHTML5、どちらに賭けるべきなのか?」をテーマにパネルディスカッションが行われた。登壇したパネリスト/モデレーターは以下の通り。

 パネルディスカッションは川田氏によるいくつかの疑問提起と、それに対するパネリスト各氏のレスポンス、そこから始まる議論という形で進んだ。以下では、パネルディスカッションの中で筆者が興味深いと思った点を取り上げていこう。

HTML5は何がよいのか?

―― .NETがあるにもかかわらず、HTML5で案件の提案をしないといけない場合もあると思いますが、HTML5はどこがよいのか、どこにメリットがあると思いますか。

芝村 HTML5がここまで盛り上がってきた理由の1つはスマートフォンだと思います。スマートフォン対応の段階でHTML5の機能を使ったものが要求されることが多いですね。自分「全てをHTML5で統一したい派」です。IEも古いバージョンには消えてもらって、HTML5の楽しい機能だけを使いたい。でも、状況がそれを許してくれないので、妥協しつつ古い形式でコードを書いています。HTML5のどこがよいかというのはなかなか難しいですね。

物江 (隣でウンウンと頷く)

―― なるほど。IEが邪魔をしているのですね。

芝村 IEの10より下は邪魔をしています。

―― 10より下ですか。IEは8以下が邪魔をしているとはよく聞きますが。

芝村 ファイルAPI周りなどの対応で、IE 9には中途半端な部分があるので。IE 10はWindows 7用も提供されているので、最低でもIE 10が欲しいところです。

―― FirefoxやGoogleがもうかる可能性もあるのに、マイクロソフトがHTML5にコミットすることでどのような価値につながるのでしょう。

物江 「個人の立場」でいわせてもらうと、弊社はプラットフォームベンダーなので、技術は動きさえすればいいんです。全てはお客さまということです。Googleさんは競合相手ですが、Windows用のソフトを作ってくれるという点ではお客さまでもあります。ですから、HTML5/JavaScriptが動くのは大歓迎です。マイクロソフトは開発者を大切にする会社なので、開発者が幸せになるのであれば、使ってもらって全く問題ありません。「個人的意見ですが。」

―― 宮崎さんは、この中で一番現場に近い方だと思いますが、その観点からHTML5のよいところは何でしょう。

宮崎 よいところというか、現実的にお客さんの要望を満たすのに、HTML5を使わなければならない状況が発生するようになったのだと思っています。スマートフォン対応もそうですし、新しい操作性を求められた場合にはHTML5を使いたいことがあります。が、先ほども話が出ましたが、環境が問題になります。IE 6はさすがになくなりましたが、IE 8には対応してくれということがよくあります。HTML5対応という意味では、IE 10が最低でもほしいのですが、そうはなっていないのが足かせになっています。

―― IE 8縛りですか? ChromeやFirefoxもあるのに。

宮崎 そうですね。しっかりと環境の管理をされているところだと、FirefoxやChromeはいつの間にかバージョンが上がってしまうのを嫌うのではないでしょうか。「このバージョンだったら動きます」と検証するプロセスがあるので、小まめにバージョンが上がるものには追随しづらいというものはあります。

物江 聞いた話では、確かにIE 8が増えているらしいです。企業がWindows 7に移行したことで、Windows 7のデフォルトブラウザーであるIE 8が使われると。そこで申し上げておきたいのは、Windows 7にはIE 11が用意されていることと、IE 11には「エンタープライズモード」があること。以前のドキュメントモードは古いブラウザーのレンダリングルールでレンダリングの真似をするだけでしたが、エンタープライズモードではIE 8をエミュレートしてくれます。現在、IE 8を使っている方はIE 11を使い、特定のサイトはエンタープライズモードで、それ以外のサイトは通常のIE 11の通常機能を使って見ていただけたらと思います。

―― HTML5は確かに「使わなきゃ」といわれていますが、悪いところもありますよね。

芝村 そうですね。まず、ブラウザー間での細かい差異が非常に多いのが一番の問題点だと思います。

物江 (隣でウンウンと頷く)

芝村 現在はOSやブラウザーのバージョンが細かく上がっていくので「このバージョンでは動くけど、それより前だとダメ」とか「このファイル形式は読めない」とか「イベントのハンドリングが異なっている」といった場合があります。AndroidやiOSでもブラウザーごと、ブラウザーのバージョンごとに細かいところで動作が変わります。そのため、両手放しでHTML5を勧められるかというと、検証をしてブラウザーをある程度決めてからという感じです。

.NETは何がよいのか?

―― 今日は「HTML5」というキーワードがよく出てきていて、「HTML5が一番よいのでは?」的な話に発展していくかもしれません。でも、C#もありますし、Visual Basicもあります。マイクロソフトは.NETをなくそうとはしていません。では、.NETはなぜ残していかなければならないのか、どんなところで価値を発揮していくのでしょうか。

芝村 まず、.NETはHTML5と対立するものではありません。クライアントサイドを書くものとしてHTML5、サーバーサイドを書くものとして.NET。従って、残るか残らないかでいえば、.NETは当然残るでしょう。ブラウザーの互換性を気にすることなく、開発者がHTML5を抵抗感なく書ける機能をツール側で提供したり、Webアプリの開発手法が進化しているのでC#で非同期処理を導入したりするなど、両面からサポートしていくのがマイクロソフトのスタンスです。そういう意味では、.NETのよいところは(.NETと他の技術との)「親和性」だと思います。レイヤーが違うので、.NETがなくなるということは絶対にないと思います。

物江 .NETは、プラットフォームに近いレイヤーからアプリに近いレイヤーまで共通の言語で書けるのがよいところです。そういう意味で.NETはなくならないと思います。

宮崎 .NETの何がよいかというと、ズバリ「マイクロソフトのサポート」ですね。先ほども話がありましたが、HTML5はブラウザー間の互換性がすごく低い。一方、.NETはプラットフォームに依存はするものの、整合性を持つようにマイクロソフトがサポートをしてくれています。長期にわたってサポートをしてくれるのがポイントだと思います。

―― .NETはなくならないということで間違いないですね。

芝村 .NET Frameworkが誕生したのが2002年で、今年で12年。今もASP.NET vNext、C#の言語仕様、.NETランタイム、新コンパイラのRoslynなど、新しいものに投資をして、これから先も他のプラットフォームと戦えるだけの改良が行われています。マイクロソフトの開発の体質もクローズドなものから、オープンソースな文化を取り入れつつ開発が進むようになっています。それが簡単になくなるとは考えられません。投資を続けて損をすることはないと思います。

宮崎 あと、若干乗り遅れても間に合うというのもあります。今はASP.NET MVCやASP.NET SPAなどが使われるようになっていますが、2002年に.NET Frameworkが出た当初から存在しているWebフォームが今でも使えます。サポート期間もまだあります。だから、多少乗り遅れても、追いつけるのはポイントだと思います。

HTML5と.NETの住み分けは?

―― .NETとHTML5は競合する部分もあります。業務システムをお客さまに提案する際に、どこでHTML5を使うのか、どこで.NETを使うのか、そのポイントはありますか。

宮崎 どうしてもHTML5を使わざるを得ない場合はあります。例えば、旅行代理店向けの業務システムでは、店舗ごとに使っているシステムが違う場合があります。そのときにはHTML5を使うのが現実的な解になります。一方、社内だけで閉じた環境では、ブラウザーは入力操作に弱い面もあるので、WPFなりWindowsフォームを使う方がよいでしょう。

物江 (隣でウンウンと頷く)

宮崎 さらにバーコードリーダーなどのデバイスを使う場合にはネイティブなアプリに優位性があります。どういったターゲットなのか、どういったデバイスを使うのかを考えて、適材適所で使うのが重要になってくると思います。

物江 デバイス、センサー類はセキュリティの問題があってブラウザーからアクセスできないものがあります。そういったものに安全にアクセスできるようになるまでは、.NETに優位性があります。あとはドライバー。Web標準の技術は他のプラットフォームと共通化する必要があるので、OS固有の機能は実装されません。「Windowsにしかない○○という機能をブラウザーが機能を実装してしまう」と、どこかの会社のように、たたかれるわけです。そんなことをするなら素直にネイティブのアプリを作るのがよいでしょう。後はパフォーマンスですね。

―― パフォーマンスですか。

物江 基本的には、JavaScriptはスクリプト言語ですから。プリコンパイルされるかもしれませんが、最適にコンパイルされる言語にかなわない部分はあります。

芝村 あとは規模の問題があります。Webと連携するアプリなら、JavaScriptを使って問題なく実装できるでしょう。しかし、業務アプリはロジックが複雑になるので、JavaScriptでは破綻してしまうと思います。また、C#のライブラリの形でビジネスロジックが存在している場合もあるので、わざわざそれをJavaScript化してビューをHTML5で書くかというと……。

迷ったら2つだ!

―― 最後に「Visual Studioエンジニアは.NETとHTML5のどちらに賭けるべきか」の答えを教えていただけますか。

物江 どっちもです! 孤独のグルメという番組を知っていますか。井之頭五郎という男がご飯を食べるだけのドラマですが、彼は迷うんです。「どっちを食べようかな?」と。そこで、よいことを言います。「迷ったら2つだ!」 そうです。どちらも勉強しておけば間違いない。どちらも大事です。

―― 迷ったら2つですか……

物江 2つです!

―― 皆さん、「2つ」でよいですか。この答えが出ないと、私、モデレーター失格になってしまいます……

物江 まじめな話をすると、.NETとHTML5は使いどころが異なるので、デスクトップやサーバーサイドなら.NETを使ってもらえればと思いますし、フロントエンドの開発やマルチデバイス、マルチプラットフォームという話であれば、プラットフォームに依存しないHTML5の方がよいわけです。どちらを深くやっていくかに合わせて取捨選択していただければと思います。

 この他にもマイクロソフトのオープンソースへの取り組み、VSは最強の開発環境なのか、物江氏の「個人的意見」の炸裂、XamarinとMulti Device Hybrid apps for VSの差異など、興味深い話が展開された。興味のある方は以下のUstream中継アーカイブをご覧いただきたい。

パネルディスカッションのUstream中継のアーカイブ(パネルディスカッションは00:03:40(3分40秒)から)


「連載:業開中心会議議事録」のインデックス

連載:業開中心会議議事録

Copyright© Digital Advantage Corp. All Rights Reserved.

前のページへ |       
ページトップに戻る