GAE開発の落とし穴
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Jonathan Allen , 翻訳者 尾崎 義尚 投稿日 2011年9月15日
Windows 8は、WinRTと呼ばれる新しいコアAPIを提供する。これは、C/C++、.NET、JavaScriptを使ってメトロスタイルのアプリケーションを開発するために使用する。これらのアプリケーションは最初からなにもせずに、ハードウェアアクセラレーションと優れた電源管理のような機能をの恩恵を受けることができる。既存のSilverlightとWPFアプリケーションは、最小の影響で新しい「ネイティブXAML」ライブラリに移植することができる。
以下は、キーノートプレゼンテーションの要約である。さらなる詳細は、近日中に提供される予定である。
ジェネラルノート
Windows 8: 基本のメモリ使用量が540 MBから281 MBになった。
ロック画面にユーザーのコンテンツを表示することができるようになった。
タッチによるパスワード。実質、マシンのロックを解除するために、画像の3箇所をタップする。
Windows Phoneのように、スタートページがライブタイルを含むメトロスタイルが使われる。
フルスクリーンアプリケーションにも注目が集まっている。
アプリケーションの仕様とシステム設定は、ユーザーインターフェイス上の同じ空間を共有している。これは、アプリケーションがシステム設定と関連していることを示す必要があることを表している。
新しいバージョンのInternet Explorerは、完全に枠(chrome)から切り離される。すべての機能は、スライドで表示されるアプリケーションバーに隠されている。
スペルチェックはシステム横断的に含まれている。
開発者プレビューには、Visual Studio 11Express 、Expression Blend 5が含まれている。これには、次のマイルストンであるパブリックベータのためのタイムラインは存在していない。インターンの更新は、プレビューマシンに必要に応じて配信される。プレビューは今夜、http://dev.windows.comでx86/x64に向けて提供される。
アプリケーション統合
Windows 8は、「charms」として知られる拡張ポイントを持つ。charmの例として、Eメール、Facebook、Twitterなど、あらゆるテキスト情報を共有する「share charm」があげられる。正しいインターフェイスを実装することによって、アプリケーションは、内部にcharmを登録することができる。それと同時に、他のアプリケーションがcharmに情報を送ることができることを表す。コンセプトは、JavaScriptのマッシュアップやクラシックOLEにとても似ているが、さらに多くのそれらの操作について考えられている。
システムワイドの検索がサポートされている。アプリケーションはそれ自身を検索プロバイダとして登録することができる。
アプリケーションは、他のアプリケーションに対して直接クラウドにファイルを公開することができる。これは画像などのファイルに関して、他のアプリケーションがそれらにアクセスできるようになる前に、ローカルハードドライブに保存する必要がないということである。
Windows 7に向けた開発: クラシックプラットフォーム:
· Internet ExplorerのHTML/JavaScript
· Win32のC/C++
· .NETとSilverlightのC#/VB
Windows 8に向けた開発: メトロスタイル
Windowsカーネルはまだスタックの底に存在している。
WinRTは新しいOSレベルのAPIレイヤである。これはWindowsの新しいネイティブAPIであり、Win32の上にある新しいレイヤではない。
WinRTには、C/C++、C#/VB、JavaScriptからアクセスすることができる。XAMLは、C、C++、C#、Visual BasicのUIレイヤである。HTML/CSSは、JavaScriptのUIレイヤとして続けて使用される。
Visual Studioは、Windows 8アプリケーションの様々なスタイルのプロジェクトテンプレートを持つことになる。最初のデモンストレーションは、JavaScriptベースのアプリケーションである。アプリケーションはコンパイルされていないが、それに必要なすべてのHTMLとJavaScriptファイルがパッケージにまとめられている。Windows 8はWebブラウザを起動することなく、直接これを実行する。
上から察することができるようにJavaScriptはWinRT APIからネイティブの機能にアクセスすることが出来る。キーノートのデモでは、たった2行のコードで、新しいWindowsのファイルを開くダイアログを表示していた。Facebookについて、すでにインストールされたマシン上で、ファイルを開くダイアログにプレゼンターのFacebookページの画像が表示されていた。JavaScriptアプリケーションは、ネットワーク用のコードを書かなくても、これとFacebookの間のリンクはプラットフォームによって完全に処理される。
Expression Blendは、HTMLとCSSをサポートする
HTML 5グリッドは、Windows 8アプリケーションを構築するために不可欠である。これなしで、広く様々な解像度のWindows 8を実行することは非常に難しい。
メトロスタイルのアプリケーションは表示されていないときには、自動的にサスペンドされる。これは、バッテリー寿命を延ばすために実施された。
Appストア
これは、現在のアプリケーションを配布するWindowsストアになることが期待されている。価格や使用期間があるかどうかなどの基本的な情報を提示すると言った理由から、アプリケーションのライセンスは技術的にストア自身で処理される。
Windowsストアでアプリケーションを提供するためには、認定プロセスが必要である。認定されたアプリケーションに利用できるツールが開発者に提供されているため、彼らはアプリケーションの正式なサブミットの前に違反を見つけて修正することができる
Windows 8ストアにアクセスするアプリケーションは、実際にはWinRT APIを通じて、JavaScriptで書かれている。
Appストアはメトロスタイルのアプリケーションに制限されず、伝統的なWin32アプリケーションもストアを通じて提供することができる。
SilverlightからWindows 8へのアップグレード
すべてすでに動いている既存のXAMLでデモが行われた。プレゼンターは、名前空間 を変更(System.WindowsをWindows.UIに変更するなど)するだけで、ネットワークのコードを調整していた。さらにたった2行のコードをアプリケーションに登録するだけで、アプリケーションを検索プロバイダとして登録することができた。
Windows 8からWindows phoneへの移動は、さらにたった1~2行を追加するだけであった。
ハードウェアサポート
「Connected Standby」と呼ばれる新しいモードは、モバイルデバイスから影響を受けている。Windowsが時々、ネットワークに接続してアプリケーションのアップデートを受けるために一時的に電源をオンにするが、電力消費量は非常に少ない。システムは実際にはオフになっていないため、瞬時に復帰する。
ハードドライブは最大256テラバイトである。Windows 7のブートドライブは2テラバイトに制限されていた。
プラットフォーム全体は、ハードウェアアクセラレートされたグラフィックを使うように作られている。メトロスタイルのアプリケーションは、これを有効にするコードを追加で書かなくても、デフォルトで使用するようになっている。
Sensor Fusion APIは、ジャイロ、加速度センサー、磁力計からの情報を集結させる。物理的な方位のような基本的な情報を取得するためには、3行のコードを書くだけである。
3Gのサイドチャネルのようなネットワークスタックのコンセプトがサポートされた。
Windows 8とVisual Studioが実行されたタブレットを配布した。
リフレッシュとリセット
リフレッシュコマンドは、個人情報/設定を除くすべての情報が削除される。メトロスタイルのアプリケーションは保持され、あらゆるWin32スタイルのアプリケーションは削除される。これはベースラインイメージからのもので、ウイルスなどのシステムの問題に対応するときに実行するべきである。
リセットコマンドは、完全にPCをクリアにする。すべての個人情報は削除され、新規購入時の工場で設定された状態に戻される。
ベースラインイメージを更新するコマンドラインツールが存在している。これは、Visual StudioやOfficeのようなアプリケーションを標準のイメージに追加するために使用される。企業ユーザーは、企業用のカスタムソフトウェアもベースラインイメージに含めたいと考えるだろう。
クラウドサービス
アプリケーションの設定、テーマ、パスワードなどは、Windows Liveアカウントを使って、複数のマシンで同期することができる。
Windowsアドレス帳は、ソーシャルネットワークサイトとWindows Liveを通じて公開されている情報を含むすべてのソースから連絡先を引き出す。同じように共有カレンダーも集約される。
Windows SkyDriveは、すべてのWindows Liveアカウントユーザーに提供される。開発者は通常のディスクドライブと同じようにアクセスすることができる。
Windows Liveは、他のマシンが、たとえファイヤウォールの後ろにあったとしても、アクセスすることができる。情報セキュリティに気をつけている企業は、技術スキルがない一般的なユーザーにこれを許すと、ビルにいなくても、彼らのワークステーションから自宅のマシンに制限されたファイルを容易に移動することができてしまう。
マイクロソフトは開発者が彼らのアプリケーションと一緒にWindows Liveを使うことを期待している。
誰がアプリを構築したのか?
2から3人の開発者がいる17のチームは、デモアプリのためにそれぞれ10週間の作業を行った。彼らは夏のインターンのすべてを進化したプラットフォームで作業していた。
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式
本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。
前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。
Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。
スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。
No comments
スレッド表示 返信