(ここまでのあらすじ)はてなでは、Windows 8のリリースに合わせてWindowsストアアプリ「はてなブックマーク」をいち早くリリースしました。この開発を主導したエンジニアは、社内でこんな声を耳にします――「ブックマークのアプリは便利やけど、検索もできるともっとええなあ」。そう、新機能追加の要望です。継続的な開発を進めなければなりません。しかし手元のPCはリプレイス予定。これに代わるものはないかしら? そこにGMOインターネットから、クラウド型開発環境「お名前.com デスクトップクラウド for Windowsアプリ」を試用しませんか? とのありがたい申し出が! はてなブックマークのWindowsストアアプリ開発セカンドシーズンでは、クラウド開発による検索機能の追加に挑戦します!
(※この記事はGMOインターネット株式会社によるPR記事です)
「お名前.com デスクトップクラウド for Windowsアプリ」とは?
GMOインターネットが日本マイクロソフトと提携したクラウド型のWindowsアプリ開発環境。最新のWindows仮想環境をリモートデスクトップサービス(RDS)で提供する「お名前.com デスクトップクラウド」に、統合開発環境「Microsoft Visual Studio 2012 Professional」をプリインストール。ログインするだけで使い始められる世界初のクラウド型Windowsアプリ開発環境です。
▽ お名前.com デスクトップクラウド for Windowsアプリ
記事末には、無料アカウントが100名様に当たるプレゼントキャンペーンも!
Windowsストアアプリ「はてなブックマーク」の改善に取り組んだのは、「『はてブ Windows 8 アプリ』開発から考えた、これからのユーザー体験」にもWindowsストアアプリの開発担当として登場した、はてなアプリケーションエンジニアのid:nobuokaです。
―― nobuokaさん、Windowsストアアプリ開発の話を引き続き聞かせてください。
nobuoka はい。よろしくおねがいします。
―― 今回はアプリの追加機能ということで、実機ではなく「お名前.com デスクトップクラウド for Windowsアプリ(メモリ8GBプラン)」で開発したわけですが、使用感はざっくりどういう印象でしたか?
はてな Webアプリケーションエンジニア
id:nobuoka
nobuoka リモートデスクトップで開発すると、当然のようにネットワークも遅延するだろうし、実機より効率が悪いと考えるのが普通だと思うんですよ。でも実際に試してみると、リモートだからといって遅延などが気になるということはほとんどありませんでした。
―― それはうれしいですね。良い方向に裏切られたということでしょうか?
nobuoka そうですね。「こんなん使えないやろ?」と思ってる人にこそ、一度使ってみてほしいなあ、と思いました。
―― かなりの高評価で詳細をうかがうのが楽しみなんですが、その前に、今回開発した「はてなブックマーク」アプリの追加機能について教えてください。
■ はてなブックマークアプリがWindows 8検索チャームに対応
nobuoka Windows 8には、どこからでも検索チャームを呼び出して、どのアプリでも検索ができるという機能があります。これを利用して、自分が過去にブックマークしたWebページを検索できるようにしました。
―― Windows 8の新しいインターフェースですね。詳しく教えてください。
nobuoka 検索チャームは、どのアプリを起動していても、キーボードのWindowsキー+Qで呼び出せます。タッチ操作では画面の右端をスワイプします。
検索チャームを起動
検索機能を実装したアプリが一覧表示されます。そこから「はてなブックマーク」を選択して、たとえば「Windows」と入れると、自分のブックマーク一覧から「Windows」が検索されて、はてなブックマークアプリに表示されます。マイページの「ブックマークを検索」と同じですね。
“Windows”の検索結果
■ リモートの方がなぜか速い
―― アプリ本体を作ったときから開発環境が大きく変わりましたが、違いを体感することはありましたか?
開発環境の違い
アプリ本体開発時 追加機能開発時 PC 実機 お名前.com デスクトップクラウド for Windowsアプリ OS Windows 8 RTM (*1) Windows Server 2012 開発環境 Visual Studio Express 2012 for Windows 8 Visual Studio Professional 2012 (*2) *1 Windows 8リリース前のため / *2 プリインストール
nobuoka Visual Studio上でソースコードを検索するのは、リモートで接続したお名前.com デスクトップクラウドのほうが、実機より快適に動作しました。というより、実機がとても遅いんです。なぜか分からないんですが(笑)。
それから、コードを書かなくてもHTMLの見た目を調整できるVisual Studio付属のデザイン用ツールに「Blend」がありますが、オブジェクトの大きさをドラッグで拡大・縮小するような操作が、実機でアプリ本体を作成したときには遅くてかなりストレスでした。これはおそらくメモリが足りなかったのだと思います。
お名前.com デスクトップクラウドはものすごく速いというわけではありませんが、確実に使えるレベルです。とにかく、リモートだから遅くてストレスが溜まるということはなく、コードも快適に書けました。
お名前.com デスクトップクラウド上のVisual Studioでコードを編集
―― 実機よりリモートの方が速いことがあるとは驚きですね。
nobuoka もちろん「リモートは遅い」と感じる部分もあって、たくさんグラフィックがある画面全体を描画する、例えばWebを閲覧していてブラウザをスクロールするときなどは、やはり遅いように感じます。回線による部分もあると思いますが。
「はてなブックマーク」アプリをお名前.com デスクトップクラウド上で動かしてみたときにも、スクロールの反応がやや遅いのは気になりました。このアプリではそれほどでもなかったのですが、もっとグラフィカルな、ゲームのようなアプリを作るのは大変ではないでしょうか。
―― 動作させるアプリケーションによるということですね。
nobuoka そうですね。ソースコードをスクロールする程度なら、Visual Studioを全画面表示にしても特に気になりませんでした。
■ アプリも自由にインストールできるデスクトップクラウド
―― そのほか不便だったところをあえて挙げるなら、何かあるでしょうか?
nobuoka あえてですか……あえて言うなら、そうですね……お名前.com デスクトップクラウドで利用している仮想マシンは社外のネットワークになるので、社内ネットワークに直接アクセスすることが難しいということはありました。これは会社の方針によるので、直接アクセスできるところなら問題にならないと思います。
―― どういう理由で、社内に直接アクセスする必要があるのでしょう?
nobuoka リモートで開発しているソースコードを、社内のサーバーにプッシュしたいときですね。
今回は完全にリモートだけで開発したのでソースコードもずっとリモートに置いて、社内にプッシュするときはディレクトリごと実機にダウンロードして、実機からGitのコマンドを実行して、その後またリモートにアップロードしていました。
―― ディレクトリをリモートにアップロード/ダウンロードするのは面倒そうですね。
nobuoka いえ、リモートデスクトップの機能としてファイルのコピー&ペーストができますし、実機のディスクをリモートにWindowsの共有ディスクとしてマウントもできますから、コピーそのものは手間ではありません。
例えば、開発したアプリを実機で試してみるときにも、まずVisual Studio上でWindowsストアアプリのパッケージを作って、コピー&ペーストですぐローカルに持ってこれます。
ただ、ソースコード管理の場合は、本来ならGitコマンド一発でできることなので。
―― リモート側ではどのようにソースコードを管理していたのでしょう?
nobuoka リモートでもバージョン管理はGitでやっていました。メインリポジトリにアクセスできなくても使えますから。お名前.com デスクトップクラウドから社内サーバーに直接アクセスできる環境なら、Gitコマンドでそのままプッシュできるのでより便利ですね。
―― ほかにデスクトップクラウド上にインストールしたアプリはありますか?
nobuoka GitのほかはFirefoxくらいでしょうか。Firefoxはけっこう使いました。
―― Firefoxですか。ブラウジングは実機でもよいのでは……。
nobuoka デスクトップクラウドで開発するときは、できればリモートデスクトップを全画面表示にして、そこですべての作業を行いたいんです。何かネットで調べたいときにも、リモートのブラウザを使っていました。
ブラウジングもローカルよりは遅いんですが、特に困ったことはなかったですね。
奥がデフォルトのIE 10、手前が自前のFirefox
■ さまざまな環境でマシンリースを消費しない開発が可能
―― お名前.com デスクトップクラウドは月額課金で、PCやWindowsなど開発環境を一気に買いそろえるのとはコストの感覚が違うと思いますが、そのあたりはどうでしょう?
nobuoka いま使用しているPCは13万円くらいで購入したものです。Windowsストアアプリ「はてなブックマーク」の最初のバージョンを開発するときには、このマシンに無償のVisual Studio Express 2012 for Windows 8をインストールしたのですが、先ほども言ったようにソースコードの検索が遅かったり、Blendもけっこう重かったり。
このマシンに比べると、お名前.com デスクトップクラウドでは検索もサクサク動きましたし、お名前.com デスクトップクラウドで開発するのは十分にアリですね。
―― なるほど。十分なWindows 8環境のマシンが調達できないときなどはかなり役立ちそうですね。
nobuoka いまやアプリケーションエンジニアの開発マシンも多様化していて、はてなでもWindowsを使っているエンジニアはむしろ少数派なんです。そんな中でWindowsストアアプリを作ろうとなったときに、Mac OSやLinuxからでも十分に開発できるのもいいですね。
―― 実機以外の環境でWindowsストアアプリを開発するには、仮想マシン上にWindows 8をインストールする方法も考えられますが、比較してどうでしょう?
nobuoka 仮想マシンを使うより良いのは、マシンリソースをほとんど消費しないことです。 仮想マシンだと実機のPCリソースをかなり持っていかれるのですが、リモートデスクトップなら実機はただ描画するだけなので、すごく軽いんですよ。
このアプリを開発するときに、サーバー側のコードも修正したりWindows XPでも検証したりで、仮想マシンを2つ3つ立ち上げることがありました。その上でさらにVisual Studuioも立ち上げると、メモリが厳しくて「これは無理やな」という感じなんですが、そういうときでもリモートデスクトップはわりとサクサク動く。
本当にPCリソースが十分なWindows環境なら実機を使ったほうがいいと思いますが、そうでなければリモートデスクトップに利点はいろいろありますね。
■ Visual Studio Professionalがすぐに使える利点
nobuoka もう1つ、Visual Studio Professionalがプリインストールされていることは大きいですね。Windows環境が使えることより価値があるかもしれません。
アカウントを取得してリモートデスクトップからログインするだけで、何もしないでもVisual Studio Professionalがすぐに利用できるのは、Windowsストアアプリ開発者じゃなくても魅力的なんじゃないでしょうか。
―― どういうことでしょう?
nobuoka 無償のVisual Studio Express 2012では、Windowsストアアプリ用の「for Windows 8」はストアアプリ専用で、通常のアプリケーション開発なら「for Windows Desktop」と分かれているんですよ。
Visual Studio Professionalなら、ストアアプリも、Webも、デスクトップアプリケーションもすべて開発できる上に、全体的に高機能になっていますし、Professionalでないとできないこともいろいろあります。
▽ Visual Studio: IDE and Code Editor for Software Developers and Teams
―― 実際にProfessional版だったから試したことってありますか?
nobuoka Visual Studioのプラグインの中には、無償のExpress版では利用できないものもかなりあるので、いくつか試してみました。
1つ目は「VsVim」といって、VimのキーバインドをVisual Studio上で実現するプラグインです。普段はVimを使っているので、Vimのキーバインドを使えるとやはり便利でした。
VsVim
あとは、Microsoftが発表したばかりのプログラミング言語「TypeScript」を利用するための「TypeScript for Visual Studio 2012」。これは「Web Essentials」との合わせ技でさらに便利になります。
―― Visual Studio Professionalを使い込んでいるソフトハウスにとっても利点がありますね。
nobuoka そうですね。仕事に必要であれば。
―― ところで、お名前.com デスクトップクラウド上でずっと開発していると、実機で試したときに違和感があったりはしませんか?
nobuoka お名前.com デスクトップクラウドに限らず実機でも同じなのですが、マウスとキーボードを使って操作するのと、タブレット上で触ってみるのではやはり違いますね。
タブレット上でアプリを動かしてみると想像以上に良かった部分もありますし、逆に「こうしておけば良かったかな」という部分もあったりしました。
―― なるほど。それでは今後も継続的な開発を期待しています。
nobuoka はい。
―― 本日はありがとうございました。
お名前.com デスクトップクラウド 割引キャンペーン
GMOインターネットでは「お名前.com デスクトップクラウド for Windowsアプリ」の初期費用が無料、月額料金が最大3ヶ月分無料になるキャンペーンを実施しています。
■ お名前.com デスクトップクラウド for Windowsアプリの無料アカウントを100名様にプレゼント! GoogleのタブレットNexus 7も当たります。
※以下のキャンペーンは終了しました。たくさんのご応募、ありがとうございました。
記事をお読みの方の中から抽選でなんと100名様に、お名前.com デスクトップクラウド for Windowsアプリの無料アカウント(4GBプラン)を1ヶ月分プレゼントいたします。応募方法は、この記事をはてなブックマークに追加するだけ!
さらに、Twitter連携してブックマークいただいた方から抽選で3名様に、Google Nexus 7(16GB)をプレゼントいたします。
キャンペーン応募要項
- 応募期間
- 2012年11月27日(火)から2012年12月10日(月)24時まで
- 賞品と当選人数
- お名前.com デスクトップクラウド for Windowsアプリ 無料アカウント:100名様
- メモリ4GBプラン×1ヶ月間
- Google Nexus 7(16GB):3名様
- 応募方法
- デスクトップクラウド 無料アカウント
- この記事をはてなブックマークに追加する
- Google Nexus 7(16GB)
- Twitter連携した上で、この記事をはてなブックマークに追加する
- ※はてなブックマークをプライベートモードでご利用の方は対象となりません
- 抽選と賞品の発送
- 厳正なる抽選の上、当選された方に確認のメールをお送りします
- 無料アカウントの当選者には、申込みURL情報等をお知らせします。
- Nexus 7の当選者には、送付先情報(送付先住所、受取人氏名、電話番号)をお聞きします
- 発表は、発送をもって代えさせていただきます
写真:濱田貴行