iOS用のObjectCを読み込んでUWPアプリにする「Windows Bridge for iOS」が公開

「Windows Bridge for iOS」がDeveloper Previewに

Windows Bridge for iOS こちら
iOS用のObjectCプロジェクトをVisual Studio 2015で読み込んで、Windows Universal Project(UWP)アプリにすることができる「Windows Bridge for iOS」がDeveloper Previewとして公開されました。
「Windows Bridge for iOS(WinObjC)」は「Project Island wood」と呼ばれていたBuild 2015で公開されていたものです。

WinObjC こちら
「WinObjC」はMicrosoftによるオープンソースプロジェクトでGitHubで公開されています。

iOSアプリがWindowsで動くということもですが、すぐれたiOS開発者による新規のWindowsアプリの開発も期待されます!

UWPアプリなので必要環境はWindows10+VisualStudio2015+Win10SDKになります。

Docs.comとSwayが正規公開されました

OfficeサービスとしてDocs.comとSwayが正規公開

Docs.com こちら
Sway   こちら

Docs.comはSlideShare等のサービスのように、PowerPoint、Excel、Word、PDF等のドキュメントの公開や、WebページやDocs.comで公開しているドキュメントのコレクションを、行うことができます。
また、Blogへ埋め込みも行えます。
このサービスは日本の開発チームが主導で行っていて、自分もMS MVPとしてほかのMVPの方々と使用しながらフィードバックに協力していました。

Swayは簡単にプレゼンテーションを作成できたり、インタラクティブコンテンツを作成できるサービスです。
Swayで作ったコンテンツはDocs.comで、個人ページの背景に設定が簡単にできるなど、連携性の高さがあります。

これからも継続的に機能強化が行われるとのことですので、ぜひ使ってみてください!

Visual Studio 2015 & .Net 4.6 リリース

Microsoftが予告していた通り、7/20にVisual Studio 2015が正規リリースされました。

ダウンロードはこのページから可能になっています。

「Visual Studio Community 2015」もリリースになっているので、無償でVS2015を利用することが可能です。

さらに、下記のサードパーティツール群も一斉に対応されています。
・ReSharper
・Xamarin
・Visual Studio 2015 Tools for Unity

「Microsoft .NET Framework 4.6」もDL可能になっています。

また、「Visual Studio 2013 Update5」も正規リリースになっており、同じページからDL可能で、各ツールもUpdate5対応になっています。

さすがにオンラインストアのMSDNサブスクリプションは2013のままのようですが、これはそのまま2015になるはずです。(ご確認はお願いします)

Visual Studio 2015 RTM は7/20にリリース(条件付き)

さて、最新の開発環境「Visual Studio 2015 RTM(最終リリース版)」のリリース日が2015/7/20に決定しました。

Visual Studio 2015 RTM のリリースが 7 月 20 日に決定! 記念イベントも同日開催

VS2015はクロスプラットフォーム開発への起爆剤になるかもしれません。

また「Visual Studio Code」というLinuxやMac上でVSスタイルでASP.NET5やNode.jsの開発ができるアプリもプレビューながら公開されています。

さて、タイトルに「(条件付き)」としましたが、これは「UWP(Universal Windows Platform)」用のアプリ、つまりはWindows10専用ストアアプリ開発SDKがWindows10リリース日の7/29に正規版になるためです。
このためWindows10専用ストアアプリ開発は九日間とはいえお預けになります。

もちろん、UWPアプリ以外の開発は可能ですので、「早速最新環境で開発を!」という方はぜひ導入してください。

「MADOSMA」発売日が決定!

0602-mouse01

MouseComputerから発表されていた日本で使用できるWindowsPhone8.1端末「MADOSMA Q501WH」の発売日と価格が発表されました。

発売日は「6月18日」で価格が「3万円前後」、そして今日から端末の予約受付を開始とのことです!

※追記
・Amazonで予約購入が可能、なんとスマートフォン部門で1位になっているようです(2015/6/2 21時現在)

Windows 10 for mobile ?

Windows10でさらに統合が進むのか?

今月21日(PST)、日本では22日深夜ですが、Windows10に関するMicrosoft社のイベントが開催されるそうです。
そうなると注目したのはWindowsPhoneに関する情報がということになるのですが、タイトルに書いていますが「Windows 10 for mobile」とOS名は変わる可能性があるようです。

自分は、WindowsPhoneという名称はそのまま使われるんではないかと予想はしています、変わるのはOS名称だけかなと。

さて、Windows10は「Windows Insider Program」というテストプログラムが用意され、一般ユーザーもテスト環境を構築して、Microsoftへの要望などを行えるようになっています。
このプログラムのWindowsPhone版ともいうべきプログラムが開始されるようで、WindowsPhoneストアに「Phone Insider」という公式アプリが公開されました。

現在はロックがかかっているようなので、インストールしても使用はできません。

a17456e7-8840-49e9-baad-d621b08b96c1

be4186ca-e744-454e-8711-4350bcca16e0

c610d20d-1206-4956-8fb0-16377a67de73

WindowsPhone 10?って?

Windowsとの統合がさらに進むということは伝えられていますが、統合が進むのは「WinRT API」で、WindowsストアアプリのAPIの共通化が進むようです。
もちろん、Phone(電話)向けのAPIがさらに進化する、または整頓されて使いやすくなっていくのではないでしょうか?

Windows8/8.1で搭載されたWindowsストアアプリとの互換性が上がり、WindowsPhoneアプリとの統合が進み、ほぼワンソース(現在もかなり近い状態ですが)でアプリストアも一か所にまとめられるのではないかといわれています。

勘違いしてほしくはないのですが、Windowsのデスクトップで使用する通常のWindowsアプリがPhoneで使えるわけではないです。
MacのアプリがiPhoneで使えないのと一緒ですね。

さて、この発表で日本でのWindowsPhoneに関することは出なさそうな気はしていますが、新しいOS、開発環境に関しては開発者としてワクワクしますね。

どのような発表が行われるか、楽しみです。

de:code Special Edition に参加してきました

開発者向け講演イベント「de:code Special Edition ~マイクロソフト本社のエグゼクティブが語るエンジニアの未来~」が昨日開催され、参加してきました。
本社エグゼクティブですが、Microsoftサティア新CEOが初来日され、最初の一時間ほど、講演されました。
サティア・ナデラCEOと伊藤かつら氏

Windows10の発表直後ということで、Windows10に関する意気込み、Officeに関するコミット等
WindowsPhoneに関して二度ほど伊藤さんが話題を振っていただけましたが、「WindowsPhoneは日本の会議で話題になる」「universal アプリをもっと出してほしい」等、言葉上は前向きですというかんじですが、これはもう3年ほど同じ状況が続いていることの追認でしかなく、残念ながら、日本での展開は期待できない状況であることには変わらないようです。

私はWindowsPhoneアプリ、universalアプリの開発公開は継続しますが、日本語アプリの提供は今後基本行いません。
universalアプリについてはWindowsPhoneと連携しなければ意味のないアプリもあるので、その場合日本市場への提供を行わないという選択肢も入れることにします。

これ以外については、IoT、Unity等のプラットフォームへ対応を進めること、クラウド(Azure)への機能対応、iOS、Android、Linux他OSへの幅広い選択肢が可能なように、SDKやコードの提供を行うとのことです。

ランチセッション
 SurfacePro3の利用に関してエヴァンジェリスト高橋忍氏が軽く行いました。
 「ペン」使ってますか?
 ペン入力を行う場合は画面の拡大や罫線表示機能を利用して、ペン入力しやすいようにするといい。
 手書き文字入力は便利で高性能に判断してくれます。

ジェネラルセッション
 お昼の後はエヴァンジェリスト5人によるセッション
 VisualStudioのコードレンズ機能やコードマップ機能など便利になってますよという紹介(ultimateでないと使えない機能もあります)
 BlendはPen入力でベクターデータを作成可能
  高橋忍氏が一筆書きでサティアを描き出してました。

 BCP(事業継続性)について
  Azureにフェールオーバー可能になりましたという紹介など
  クラウドに開発が映っている

 AzureとVisualStudio
  Azureの仮想マシンにVisualStudioを乗せているイメージが提供されているので、クラウド上で開発を行える
  VisualStudioOnlineというWebブラウザで動作するVisualStudioも使用可能
  AzureMobileServiceは様々なプラットフォーム(iOS、Android、PhoneGap等々)に対応している

 Xamarin
  Xamarin(ザマリン)を使用すると使い慣れたVSを利用してiOS、Androidの開発をC#で可能になる
  VSとの連携にはXamarin Pro版が必要

One‐Microsoft
WEBの技術でuniversalApplication
HTML5/JavaScriptで開発可能
 XBox(開発契約が必要)も可能になっていく

 ほぼ一日がかりのセッション群でした。

WindowsPhone8.1にRoamingStorageが追加

WindowsPhone8からWinストアアプリ準拠のStorageAPIが追加されていたものの、Localのみでしたが、WindowsPhone8.1からRoamingStorageAPIが有効になり、Windows8.1ストアアプリとWindowsPhone8.1アプリでアプリIDを共通化することでRoamingStorageが同期するようです。

このRoamingStorageでありがたいのは、今までのWP8ではセーブデータのバックアップ機能は自力で実装する必要(例えばOneDriveへ)があったものが、ネットワークにつながっていれば、自動的に同期されていくというところ。

ただ、これも万能ではないと思うので、バックアップ機能の実装そのものは無駄ではないと思いますが。

もちろんこれはWindowsPhone8.1がリリースされ、各端末へのアップデートや新しい端末が一定以上シェアを持たないとWP8での開発をやめるわけにはいかないので、しばらくはそのままでしょう。

さらに言えば、Windowsストアアプリ側の対応(改修)も必要な場面があるでしょうし、すでに公開済みの物を対応させようという場合は、密に確認をして対応を行わないといろいろと問題が出ることでしょう。

ですが、これに対応しているということが一つの売りにもなることであり、今後UniversalAppsによる開発の統一を考えるとXBOXも含めて連携していくものと思われます。

WindowsPhone8でSQLiteを使用するためのメモ3

WindowsPhone8でSQLiteを使用するためのメモ2以後知った新しいことですが、非同期で操作するのが推奨ではあるんですが、これには弱点がありました。

現在WindowsPhone8ではファイルのローミング保存機能が提供されていないため、セーブデータのバックアップとレストアは手動でOneDriveなどへの保存を行ってもらうようにアプリを作成する必要があります。

非同期の際「SQLiteAsyncConnection」でConnectionを行いますが、以降の操作で「SQLiteConnectionPool.Shared.GetConnection」が呼ばれる関数を使用した場合、DBファイルがSQLite3のConnectionにロックされて、Read以外の操作がSQLite3関数以外では不能になります。

そのため、バックアップファイルをリストアしようとすると、排他処理によりアクセスを拒否され、リストアすることができません。
「Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))」が発生します。

これを避けるには非同期の「SQLiteAsyncConnection」ではなく「SQLiteConnection」、つまり同期型の関数ですべての処理を行う必要があります。

アプリによる端末の処理占有量が増えますが、現状この方法で回避するしかないようです。
今後ローミング保存が可能になれば、解消されるかもしれませんが、もしかするとこちらではわからないところでエラーが起きる可能性もあるので、DBファイルの操作でバックアップ/レストア機能を搭載する場合は同期で作成するのが無難なようです。

もちろん、WindowsAzureサービスを使用して、ネットワーク上に保存を行うようにしている場合は必要ないでしょうが、ネットワークがつながらない際の処理を実装する必要がありますので、アプリによっては手間がかかることになります。

今後SQLite3のConnectionをきちんと解除できる関数が実装されれば、いいなと思います。
なお、下手にClearを読んでコネクションを切断するとエラーが起きます。