2012/11/24

[win8]DesktopからWinRT APIを使うことはできるようだ

正式には、Metroじゃなくて、Windows Realtimeと呼ぶらしい。WinRTとか。
Realtimeって書くと、リアルタイムOS系の人が混乱しそうだけどな。

 

まだWindows8を使い始めて日も浅いし、メインPCにインストールしているわけでもないのでそんなには使っていない。
UbuntuでUnityが使いづらいのでxubuntuにしたのと同じように、Windows8の四角がいっぱい出てくる画面(WinRTを使った画面?)は私には無理だった。すまん。

通常使う分にはそれでいいのだが、MicrosoftのNFC実装であるNFPはWinRTのAPIらしい。
以前調べたときからWordの文書も更新されているみたいだ(2012年10月12日版)。変更履歴には、Tap and Doのマークについての情報が更新されたらしい。

正直に書くと、私はWindowsのソフト開発には全然詳しくない。
開発環境をインストールすればなんとか調べつつできるかも、というレベルだ。
ここを読むと、WinRTというのは、.NET/Win32の上位層で、なおかつそれらから切り離されたシステムらしい。WinRTからWin32は呼べない、と書いてあるからだ。

じゃあ、開発環境もDesktopではなくてWindows8にせんといかんの?
あんだけ時間かけてインストールしたのに・・・。


あまり読んでいなくて申し訳ないが、タイトルだけ見る限りではWin32からWinRTのAPIは呼べるらしい。

Using Windows 8* WinRT API from desktop applications

さすがWin32。しぶとい。
.NETもそうだけど、結局はWin32のAPIを呼ぶことになるということも多いので、最後まで生き残る気がする。

WinRTのアプリは使うことがないのだろうが、デスクトップアプリでも動かせるのならやってみてもいいのかな。
とりあえず、Visual Studio ExpressもDesktopでやれると考えておこう。
だめだったら、そのときだ。


Windows RT、というのもある。
はっきりとMicrosoftが書いたページが見つけられないのだが、WinRTしか動かないOSのようなことが書かれているところが多かった。

WinRTはCOMベースらしいので、ARMのようにバイナリが異なる環境であっても、プロトコルさえあっていれば動く、ということなんかね。
COMって使ったことないけど、ATLとかなんとか、そんなのじゃなかったっけ(ATLも使ってない)。
CORBAみたいなの、と当時は説明があったような気がするが、CORBAもやったことがない。。。
.NETが出たときは「中間言語にするからバイナリが異なってもOK」だったと思うが、気分が変わったのだろうか。。。

てきとうにまとめると、

  • WinRTで書いておくと、四角いカラフルな画面やWindowsRTから使えるが、Desktopでは使えん
  • Win32で書いておくと、四角いカラフルな画面やWindowsRTからは使えないが、Desktopでは使える

ということなのかな。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。