ページ

2009年11月25日水曜日

[XAML][Silverlight] XAML Toolkit と XAML Localization

.NET Framework 4 向けの XAML Toolkit の CTP が公開されています。
http://code.msdn.microsoft.com/XAML/
これは PDC の 「XAML Futures in Microsoft .NET Framework, Microsoft Silverlight and Tools」 というセッションで紹介されたもののようで、XAML FxCop (XAML の静的解析) とか XamlDom (XAML の DOM に簡単アクセスするクラスたち。LINQ 構文も使える) とかが含まれているみたいです。

で、セッションのビデオをちょこっと見てみたんですが、XAML 自体も拡張されるんですね。
http://blogs.msdn.com/llobo/archive/tags/XAML+2009+features/default.aspx
にいろいろありました。
Generic の型引数を指定したり とか、インスタンス生成メソッドを指定したり引数を与えたり とか、おもしろいなぁ。
ただ、どうやら XAML 2009 は .NET Framework 4 向けで、Silverlight 4 では対応しないみたいです。

あと、XAML Localization に 「おおっ」 っときました。(ビデオの 44分くらいから)
まだ 「x:Uid 方式なんてどうかな?」 とどうしようか考えてるような段階みたいですが、これはがんばって欲しい。
ちなみに、Silverlight 3 だと
Silverlight and localizing string data
こんな感じです。Localization のための特別な仕組みがあるわけではなく、文字列リソースの resx を作って、そいつを XAML にリソースとして取り込んで、 Text="{Binding Source={StaticResource LocStrings}, Path=WelcomeMessage}" なんて感じでバインドするという、何とも泥臭い方法です。


2009年11月18日水曜日

[.NET] Reactive Extensions for .NET が DevLabs でリリース

Finally, the long wait is over. Rx is available on DevLabs! より。
Reactive Extensions for .NET が DevLabs にて公開されたそうです。
どうやら今まで Reactive Framework とか呼ばれていたものが Reactive Extensions for .NET となったようです。
リリースノートはこちら → Release Notes (Build 1.0.2052. 11/17/2009, First Release)
DevLabs から

  • .NET Framework 3.5 SP1 版
  • .NET Framework 4 Beta 2 版
  • Silverlight 3 版

がそれぞれダウンロードできます。

Reactive Extensions API in depth: intro
Channel 9 で動画による解説が始まるようですが、今の時点では intro しかないみたいです。

What's different about the 3 versions of Rx? Part 1: Silverlight 3
Channel 9 で .NET 3.5 版、.NET 4 版、Silverlight 3 版の違いを開設する動画が始まるようですが、今の時点では Silverlight 3 版とかないみたいです。
で、この Silverlight 3 版の内容は、「Observable.Start(...).Subscribe(...) は自動的に UI スレッドで動くよ」 といったことみたいです。


2009年11月13日金曜日

[Silverlight] out-of-browser と initParams

なるほどぉ、と思ったのでメモ

Silverlight out-of-browser and initParams より。
HTML 側から Silverlight アプリに初期値を渡したいときに使える initParams ですが、あれは HTML 上に書いてあるものですから out-of-browser にすると無くなっちゃうんですね。(そりゃそうですが)
そこで上記の記事では、Application.Current.IsRunningOutOfBrowser を参照して

  • out-of-browser でないときは、initParams を取得しそれの内容を IsolatedStorage に保存しておく。
  • out-of-browser なときは、IsolatedStorage から initParams を読み込む。

としています。

なるほど、out-of-browser としてインストールするためには一度はブラウザで実行しているはずだからそのときに IsolatedStorage に保存しておけるってわけですね。
ただ、別のインストール手段が出てくるかもしれませんし、IsolatedStorage のファイルが無くなってる可能性も無いとは言えないので、ファイルが無かったときの考慮もちょっとはしておいた方がいいとは思いますが。(記事内のコードではそういった対処は何もしていないので、ファイルが無いと例外が出て死んじゃうと思う)


2009年11月11日水曜日

[Silverlight] Silverlight がインストールされていないときに出る画像

Silverlight がインストールされていない環境で Silverlight を使ったページを見ると、

InstallSilverlight_108181.png

こんな画像が表示されます。
これは 「方法: HTML を使用して Web ページに Silverlight を追加する」 や 「方法 : JavaScript を使用して Web ページに Silverlight を追加する」 にあるように <img src=”http://go.microsoft.com/fwlink/?LinkId=108181” .../>  としたときに表示される画像です。
ちなみに、ブラウザの言語 (たぶん HTTP ヘッダの Accept-Language あたり) によって適した言語の画像が返ってくるようになってます。

たまたま見かけたんですが、

ExperienceSilverlight_161376.png

こんな画像を使ってる人もいました。
HTML を見てみると <img src=”http://go.microsoft.com/fwlink/?LinkId=161376” .../> とするとこの画像になるようです。(もちろん、こちらもブラウザの言語によって使われる言語が変わります)

これって他にもあるのかなぁ?


2009年11月9日月曜日

[Microsoft] Productivity Future Vision - Microsoft が思い描くちょっと未来のコンピューター

2009/11/05 に開催された Microsoft Developer Forum 2009 の Live Smooth Streaming による中継を見ていたときに、合間に流れていたビデオがいい感じだったのでどっかにないのかなぁと思っていたんですが、
http://www.officelabs.com/projects/productivityfuturevision/Pages/default.aspx
こちらにありました。
Silverlight のビューアーで見ることもできますし、WMV もあります。

というか、このビデオのタイトルが 「Productivity Future Vision」 だとわかれば、検索するとブログ記事だとか、YouTube だとか、Microsoft Showcase だとか、いろいろと見つかりますね。
つか、ReMIX とか TechED でも流れてたみたいなので結構前からあるのか。
私はそれらに参加してないので今回が初見でした。


[.NET] IDataObject を使ってドラッグ&ドロップとコピー&ペーストを実装

Creating something from nothing [Developer-friendly virtual file implementation for .NET!] より。
ネイティブコードでは IDataObject やら IDropSource やらといった COM インターフェースを使ってドラッグ&ドロップやコピー&ペーストを実装します。
WPF では System.Windows.DataObject が用意されていますが、これは存在するファイルしか扱えなかったり、DoDragDrop() メソッドが同期的だったりとネイティブコードでできることの一部の機能しか提供されていません。
この DataObject クラスは sealed なので拡張もできそうにありません。
System.Windows.IDataObject インターフェースは上記の DataObject クラスと同じメソッドしかないのでこれを使ってもどうにもなりそうにありません。

というわけで、System.Runtime.InteropServices.ComTypes.IDataObject インターフェースを実装するクラスを作ってフル機能のドラッグ&ドロップとコピー&ペーストを実装しよう、というのが上記の記事です。
こちらの IDataObject インターフェースは、まんま COM の IDataObject インターフェースです。(ネームスペースでわかるでしょうが)
こいつを実装しようとすると、FORMATETC だとか何だとかと 「ドラッグ&ドロップ程度のことが何でこんなにややこしいんだよ」 と思うくらい面倒だったりします。
記事中にあるリンクからサンプルプログラムをダウンロードできますが、ちょっと見てみたところ、IDataObject とそれに必要なものをだいたい一式実装しているようです。
もちろん、一つのクラスでドラッグ&ドロップとコピー&ペーストの両方に対応できるようになっています。(まぁ、もともとどちらも IDataObject を使うんですが)
Action<Stream> を渡しておいてドロップ時にファイルを生成したりといったこともできるようになっています。

ちなみに、サンプルプログラムは、左クリックでドラッグ&ドロップ、右クリックでクリップボードへのコピーになっています。

あと、
Creating something from nothing, asynchronously [Developer-friendly virtual file implementation for .NET improved!]
こちらの記事で、コンストラクタに Action を渡しておくとドラッグ&ドロップの開始時と終了時にその Action を呼び出してくれるという機能が追加されています。


2009年11月5日木曜日

[.NET] ASP Classic Compiler - VBScript を IL にコンパイルして実行するソースコード

中身はまだ見てないんですが、ちょっとおもしろそうだったので覚え書き。

http://www.codeplex.com/aspclassiccompiler

ASP (ASP.NET ではなく古いほうの ASP) で使われている VBScript を IL へとコンパイルして実行するソースコードだそうです。
VBScript のパーサは手作りで、IL の生成は Dynamic Language Runtime を使っているとあります。
ゴールには、実際に存在する主要な ASP ページを変更無しで ASP.NET 下で実行可能にする、とあるので単なるサンプルコードと言うよりはそれなりに本気なようです。
Silverlight でこのコンパイラを使うサンプルコードも含まれているそうです。

と、これを見ていてふと思い出したんですが、DLR には VBx という動的言語版 VisualBasic が乗っかるとかっていう話があったと思うんですが、あれってどうなったんでしょ?


2009年11月2日月曜日

[Microsoft] いろいろなチュートリアル動画(英語)

ちょっと覚え書き。

http://www.msdev.com/
microsoft.com ドメインじゃないけど Microsoft のサイトみたい。
”Search” でカテゴリを選ぶといろいろ見れる。
動画のものもあればドキュメントのものもある。

http://expression.microsoft.com/en-us/cc184875.aspx
Expression のチュートリアル動画など。


2009年10月22日木曜日

[VS2010][Silverlight] Visual Studio 2010 と Silverlight 3 SDK

Visual Studio 2010 and Silverlight 3 SDK より。
ええと、Silverlight 3 Tools for Visual Studio 2008 と Expression Blend 3 に含まれている Silverlight SDK は 3.0.40624。
今回の Visual Studio 2010 beta 2 に含まれている SDK は 3.0.40818。
で、3.0.40624 が入っているマシンに 3.0.40818 を入れることはできない。
もし、3.0.40624 が入ってるマシンに VS2010 を入れると Silverlight SDK のインストールに失敗する。けど、3.0.40624 を使って VS2010 で Silverlight の開発をすることはできる。

ということなので、Silverlight SDK をアンインストールしておいてから VS2010 を入れた方がいいみたいな感じです。
(あとから 3.0.40624 をアンインストールして 3.0.40818 を入れてもいいのかもしれませんが)

ちなみに 3.0.40818 の変更点は

  • .NET 3.5 との依存性を無くして .NET 4 しか入っていないときもビルドできるようにした。
  • xap 名に Unicode 以外の文字も使えるようにした。
  • リファクタリングとインテリセンスの向上。

とあります。


[Windows7] Windows 7 の 7

Windows 7 って何が 7 なの?ということで、

この CM だと Windows 1.0、Windows/286 2.x、3.0、98、XP、Vista、そして Windows 7 ってことらしいです。
あれ? 95 は? Me は? NT は? 2000 は?とかって無粋なことは聞かないようにw

まぁ、真面目な話、
@IT: 「Windows OSのバージョンを判別するには?【Vista対応】[2.0のみ、C#、VB]」
にあるように API 的には Vista がバージョン 6 で、その次だから 7 なんですけどね。

Windows 7 とは直接関係ないみたいですが、こんなのもありました。
BBC NEWS: 「In Pictures: Windows into history」
Windows 1.0、2.0、3.0、3.1、95、98、Me、XP、Vista、7 のスクリーンキャプチャが見れます。

2009/10/22 18:00 追記
安藤さんからコメントをもらって気付きました。
http://msdn.microsoft.com/ja-jp/windows/dd882526.aspx
なんかにあるように Windows 7 の内部バージョンは 6.1 です。
(RC を元に記述とあるけど RTM でも変わってないよね?)
内部バージョンが 6 である Vista の次の OS だから Windows 7 という名前になったのかもしれないけど、Windows 7 の内部バージョンは 6.1、ということみたいですからご注意を。


[C#] C# 4.0 の Indexed Properties

Indexed Properties in C# 4.0 より。
ええと、何やら C# 4.0 では

// before
excel.get_Range("A1").set_Value(Type.Missing, "ID");

// after
excel.Range["A1"].Value = "ID";

と書くことができるそうです。
Visual Studio 2010 beta 2 で対応しているとのこと。

ん?こんな機能あったっけ?
と思ったんですが、上記記事に 「C# 4.0 language specification や C# Future page にもまだ公開されてない。なぜなら、ごく最近デザインチェンジがあって実装されたから」 とかあります。

記事によると、Indexed Properties は、get_X()、set_X() を X[] として呼び出せるようにするシンタックスシュガーで、C# コンパイラが get_ もしくは set_ の呼び出しに置き換えるそうです。
また、パラメータはすべてオプショナルとのこと。そしてパラメータ無しの場合は [] 自体を省略できるし、[] を書いても合法だそうです。(省略できるってのはすごいな)

IDE のインテリセンスやパラメータヘルプなども対応済みとのこと。ただし、Quick Info はまだ get_ set_ 形式のものを表示するそうです。

うーん、まぁ、確かに get_ set_ はすっきり書けるようにはなりますが...
ところで、私は最初の例がそもそも理解できてません。
Value = “ID” は Value[] = “ID” と同じで、なので set_Value(“ID”) になるってのはわかります。
けど、何でそれが set_Value(Type.Missing, “ID”) と同じ意味になるんだろ?
C# 4.0 の Optional Arguments が使われてるとしても、あれは C++ と同じでパラメータの最後からしか省略できないはずですし。
Named Arguments が使われてるわけじゃないですし。
まさか型から引数の位置を推測するなんてことができるようになるわけじゃないですよね?
これって、単にサンプルの書き間違いで Type.Missing が余計だったってこと?
# Visual Studio 2010 beta 2 を入れてないので試せない orz


2009年10月21日水曜日

[Silverlight] Silverlight Toolkit October 2009 リリース

Visual Studio 2010 beta 2 のリリースにあわせて Silverlight Toolkit October 2009 がリリースされています。

変更点 の最初には VS2010 beta 2 をサポートとあるので、これが一番の変更点なのかな?
「VS2010 のすばらしいデザイン・タイム・エクスペリエンスを提供するためにすべてのコントロールがアップデートした」 そうです。
「Silverlight (and WPF) Data Visualization classes unsealed [Silverlight Toolkit October 2009 release now available!]」 には VS2010 のデザイナがいいもんで Blend を使うのをやめちゃったデベロッパーもいる、なんてことが書いてありますねw

VS2010 対応以外にもチャートとドラッグ&ドロップ対応が大きいみたいです。
チャートのことはよくわからないので置いておいて、ドラッグ&ドロップについて。
Tim Heuer さんの 「Silverlight Toolkit adds DragDrop targets!」 にコード例なんかがあります。実際に動くサンプルは こちら。
たとえば、ListBox だと、単に ListBoxDragDropTarget で囲んでやればドラッグ&ドロップできるようになるみたいですね。
今実装されているのは

  • ListBoxDragDropTarget
  • TreeViewDragDropTarget
  • DataGridDragDropTarget
  • DataPointSeriesDragDropTarget

とのこと。
(DataPointSeriesDragDropTarget って何かと思ったら、チャートをドラッグ&ドロップターゲットにするものみたいですね)


2009年10月20日火曜日

[Silverlight] Silverlight Streaming by Windows Live 終了のお知らせ

私は使ったことないんですが、http://silverlight.live.com/ の Silverlight Streaming by Windows Live が終了するそうです。
詳しいことは
Important News for Users of the Microsoft® Silverlight(TM) Streaming by Windows Live(TM) Beta October 2009
にあります。
どうやら Silverlight Streaming by Windows Live はそのうち終了で、2009年末にローンチ予定の Windows Azure ベースのものに移行するということみたいです。ただし、Silverlight Streaming を直接置き換えるわけじゃないし、Azure はコストも必要になるなどいろいろと違うとかなんとか。

あと、Silverlight Streaming by Windows Live にあるコンテンツは各自ダウンロードしておいてくれということでその手順が載っています。


[VS2010] Visual Studio 2010 beta 2 リリース / 正式版は 2010年3月22日

あいかわらず Visual Studio 2010 をさわったことないんですが...

Microsoft のプレスリリース: Visual Studio 2010 and .NET Framework 4 Deliver Beta 2 in Final Stretch to March 22 Launch
Visual Studio 2010 beta 2 が本日 10/19 にリリース。
正式版は 2010/03/22 にローンチだそうです。

■ beta 2 で変わったところ
Somasegar’s Weblog: Announcing Visual Studio 2010 and .NET FX 4 Beta 2 より。
いろいろと VS2010 の追加点が書かれているのでざっとあげてみると、

  • beta 2 には SharePoint 2010 用のツールが統合されてる。
  • Windows 7 アプリケーション開発をサポートするランタイムとツールも含まれている。
  • 新しい Windows Azure ツールテンプレートで Windows Azure アプリの開発を始めるのが簡単になる。
  • Silverlight 3 データバインディングのサポートが向上したのでコードを書くのに専念できるようになる。(プレスリリースの方にはドラッグ&ドロップでデータバインドできるようになる、とある)
  • VS2010 のすべてのバージョンに Team Foundation Server が含まれる。
  • ソースコントロールやバグトラッキング、自動ビルドなどを小さなチームでも使える。
  • TFS Basic はシンプルでスリム。サーバやクライアント PC にインストールできる。

とかなんとか。

■ VS2010 のラインナップ
VS2010 は

  • Express
  • Professional
  • Premium
  • Ultimate

というラインナップになる模様。
詳細は http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx#compare など。

■ Go Live ライセンス
「“Going live” with Visual Studio 2010 Beta 2」 によると、beta 2 からは go live ラインセンスなんですね。

■ F#
「F# Beta 2」 によると、VS2010 beta 2 に含まれている F# は beta 2 だそうです。
あと、VS2008 用の F# CTP もアップデートしたそうです。

■ ロゴマーク
↓のロゴマークですが、

visualcsharp_2.png.jpg

「VS2010 Beta2, and two loops too」 によると 「メビウスの輪じゃないよ」 とのことです。
(どうでもいい情報かもしれませんがw)


2009年10月16日金曜日

[Windows7][WPF] キャプションバーの無いウインドウでエアロシェイク

Implementing Aero Shake in a WindoStyle None WPF Window より。
Windows 7 でキャプションバーをふるふるするとそれ以外のウインドウが最小化してくれるエアロシェイク、あれってキャプションバーが無い時どうすんの?という話。

記事では WPF で WindowStyle=”None” としてキャプションバーが無いウインドウを作っています。
で、単に MouseLeftButtonDown イベントで DragMove() メソッドを呼び出してやればいいそうです。
すっごい簡単。
けど、こんなの知らないとわかんないな(笑)
ちなみに、この場合、キャプションバーをドラッグしてるのとほとんど同じ動作をするようです。なので、エアロシェイクに対応するだけでなく、ウインドウを移動できるようにもなっちゃいます。

ちょっと試してみましたが、もちろん Window だけではなく、たとえば TextBlock の MouseLeftButtonDown イベントで DragMove() を呼び出してやっても同じように動きました。

# Windows.Form のときは WM_NCHITTEST で HTCAPTION を返してやるとかかな?


2009年10月14日水曜日

[WindowsCE][Silverlight] Windows Embedded CE 6.0 R3 の Silverlight for Windows Embedded って Silverlight なの?

前に書いた 「[WindowsCE][Silverlight] Windows Embedded CE 6.0 R3 が RTM。そしてこいつには Silverlight が入ってる」 で Windows Enbedded に Silverlight for Windows Embedded なるものが入っていると紹介しましたが...
その記事でも 「MonoTouch みたいにネイティブコードにコンパイルしてから動かすということは無いんじゃないかと思ってるんですがどうなんでしょ」 とか書いたんですが...

InfoQ: 「Windows Embedded CE向けSilverlightは本当のSilverlightではない」

ネイティブコードにコンパイルどころか、初めからネイティブな C++ しかサポートされないそうです。
また、Silverlight for Windows Embedded は完全に新しい API セットだそうです。
えーと、これのどこが Silverlight ?

「Silverlight for Embedded tutorial」
こちらに Silverlight for Windows Embedded のコード作成例が紹介されています。
最初に簡単な XAML を Expression Blend 2 で作成。
Blend は C# と VB にしか対応していないのでソースコードを作成しちゃダメとのこと。イベントハンドラなんかが作成されないようにオプションの Visual Studio との統合をオフにしちゃえだそうです。
続いて Platform Builder で Win32 アプリケーションプロジェクトを作成して、プロジェクトにリソースを追加、リソースにカスタムリソースとしてさっき作った XAML ファイルをインポート、という手順で XAML ファイルをとりこんでいます。
あとはコードを書けば OK。
記事に載っているコード例を見ればわかりますが、IXRApplication やら IXRVisualHost やら IXRFrameworkElement やらといったバリバリの COM の世界です。イベントハンドラの戻り値も HRESULT だし。デリゲートもメンバ関数ポインタを渡して作るんですね。(デリゲートも COM なので、使い終わった後に Release() してやらないといけないのがなんとも)

うーん、確かにインターフェースは似せてあるようなので、COM バージョンの Silverlight だと言われればそんなような気もしますが...
けど、それって Silverlight なの?
少なくとも 「C# や VB で Silverlight アプリを作れます」 と言う人が C++ や COM の知識無しに Silverlight for Windows Embedded に手を出すと大変な目にあいそう。
CE 上のアプリをネイティブ C++ で書いていたような人にとっては 「COM ベースの UI フレームワークが増えただけ」 と言う感じなのかな?


2009年10月2日金曜日

[MSMVP] Microsoft MVP を受賞できませんでした

すでに Twitter でつぶやいてるし、だいたいの人はご存じだと思うんだけど、一応書いときます。
# ちなみに私の Twitter アカウント http://twitter.com/ShinichiAoyagi

2002年 10月から今まで続けて Microsoft MVP を受賞してきましたが、残念ながら今回は受賞できませんでした。
まぁ、ここ一年はオンライン・オフラインともにほとんどコミュニティ的な活動はありませんでしたからね。
自分でも 「今回は無理だろうなぁ」 と思ってたんですが、やっぱり無理でした。

とはいえ、私自身は今までと変わらずやっていくつもりですのでこれからもよろしくお願いします。


2009年9月30日水曜日

[Silverlight] Silverlight 3 FireStarter のビデオが公開されてた

2009/9/17 にレッドモンド (MSCC) で開催された Silverlight 3 FireStarter のビデオが公開されました。
http://www.msdnevents.com/firestarter/

当日のセッションスケジュール
Silverlight-3 FireStarter…

あと、セッションで使われた PPT がこちらにあります。
Silverlight-3 FireStarter Slides…


2009年9月24日木曜日

[WindowsCE][Silverlight] Windows Embedded CE 6.0 R3 が RTM。そしてこいつには Silverlight が入ってる

Microsoft Delivers Rich User Experiences and Windows 7 Connectivity With New Windows Embedded CE Release より。
2000/9/22 付けのプレスリリースですが、Windows Embedded CE 6.0 R3 が RTM したそうです。
そしてこいつには Silverlight for Windows Embedded が入ってるそうです。
というか、「革新的な Silverlight for Windows Embedded ユーザインターフェース (UI) フレームワークを通して Silverlight のリッチなアプリケーションエクスペリエンスを提供する」 なんてあるので UI 部分の中核を Silverlight が担っているかのような印象を受けます。(Windows Embedded のことをよく知らないので大ウソの可能性ありw)

この Silverlight for Windows Embedded というのは out-of-browser で Microsoft Silverlight テクノロジのネイティブコード実装だそうです。
Windows 自体も普通の Windows とはいろいろと違うでしょうし、初めから out-of-browser 前提だったりと、きっと Silverlight for Windows Embedded は普通の Silverlight とはいろいろと違うんでしょうね。
けど、どうやら開発環境は Visual Studio や Expression Blend ということみたいなので、マネージドコード自体は同じということになるのかな?
(MonoTouch みたいにネイティブコードにコンパイルしてから動かすということは無いんじゃないかと思ってるんですがどうなんでしょ)

ちなみに、この Windows Embedded がどんなところに使われるかですが、記事にはスマートフォンや Windows ベースの小型ノートブックなどが例にあげられています。
まぁ、私は 「Windows Embedded と Windows Mobile ってどう違うの?」 というレベルなのでイマイチよくわかってないんですが。


2009年9月18日金曜日

[Silverlight] Wiki-OS がバージョンアップして Silverlight になってた!

先日、「[.NET][Internet] Wiki-OS ... すげぇ!!」 で紹介した Wiki-OS がバージョンアップしたそうです。
https://www.wiki-os.org/
さらにすげぇ!

「Wiki-OS completely rewritten in Silverlight! Cross-platform, categories, ability to embed applications, and more」 によると、今回 Silverlight 3 で完全に書き直したそうです。
元は WPF (xbap) だったため .NET Framework 3.0 以上がインストールされた Windows 上でしか動きませんでしたが、Silverlight になったため Windows、Mac OS で動くようになったそうです。(Linux はもうすぐとのこと)

さっそくアクセスしてみたところ、あちこちがアニメーションするようになっていたり、デザインが変わっていたり、いろいろと変わっているようです。ただ、XAML・C# をエディットするアプリがえらく簡素なものになっていたりと 「あれ?」 と思うところもあります。まぁ、developer preview と書いてありますし、まぁ、そういうことでしょう。
ちなみに、アプリケーションの作り方 (クラスライブラリとか) なんかも Silverlight に合わせて変わっているみたいです。

あと、今までアプリケーションへのリンクがありましたが、アプリケーションを embed する機能が追加されています。
これはちょっとおもしろいかも。
Wiki-OS 上に Silverlight アプリを作って、それを自分のブログに貼り付けたりできるわけです。
まぁ、今の Wiki-OS だといつの間にか他の人に改造されちゃったりするわけですがw (けど、それはそれでおもしろいかも)
この embed は <object> タグを埋め込むことになりますので、一応 enableHtmlAccess を true にはしない方がいいんじゃないかと思います。(これを true にすると Silverlight アプリから HTML DOM にアクセスできるようになる)
もちろん、Wiki-OS が表示する埋め込み用 HTML には enableHtmlAccess の指定はありません。(なのでデフォルトの false になります)
参考 MSDN ライブラリ:「HTML ブリッジのセキュリティ設定」

というわけで、以下、試しに Calculator を貼り付けてみるテスト(うまくいくかな)


2009年9月15日火曜日

[.NET][Internet] Wiki-OS ... すげぇ!!

https://www.wiki-os.org/
これはすごいな。

どうやら .NET Framework 3.0、WPF で作られているようなので実行にはそれらが必要です。
(ブラウザ上で動きますが、本体は xbap みたいです)

アカウントが無くても左下の “Applications” から Calculator (電卓) とか Cube 3D (四角形がグリグリするデモ) とかいろいろと実行できます。
と、これだけだと普通の 「ブラウザ上に作ったデスクトップ環境」 ですが、すごいのはこれらのアプリが編集できちゃうってとこ。

ただ、編集するにはアカウントが必要なようです。
左上の “Create an Account (free)” でアカウントを作成できます。
(メールアドレスなんかを入力して OK するとアクティベーションコードが書かれたメールが送られてくるのでそいつを入れてやります)

左下の “Applications” の “Create New Project...” で新規にアプリを作成できます。
アプリは XAML と C# コードで作ります。
編集画面も Visual Studio 風なので WPF とか Silverlight とかをやったことのある人ならだいたいわかるんじゃないかと思います。
また、各アプリのタイトルバーにある “edit” をクリックすればそのアプリを変更することができます。
そう、既存のアプリを自由に変更できるんです。(ただし、Accounts Manager などクリティカルなアプリは一般ユーザでは変更できないようになっています)
もちろん、アプリの変更はすべての人に影響します。
誰かが電卓に機能追加してくれればそれをみんなが使うことができるわけです。
”Applications” の “View All...” に他の人が作ったものも含めてすべてのアプリが載っています。
誰がいつどんな変更をしたのかはタイトルバーの “menu” の “View History of Changes...” を見ればわかりますし、”Applications” にある History アプリを使えばすべての変更履歴を見ることができます。
また、この History ウインドウの “Undo Selected” を使えば変更を元に戻すことができます。

いやぁ、この発想はすごいなぁ。
確かに Wiki OS だわ。
こんな発想、どっから思いつくんだろう。


2009年9月9日水曜日

[IIS][Silverlight] Live Smooth Streaming もうすぐリリース (was: マイクロソフト、「Silverlight 4」の詳細を明らかに)

最初に見たのは CNET Japan の 「マイクロソフト、「Silverlight 4」の詳細を明らかに」 というニュース。
Silverlight 4 の詳細が明らかになったんだったらぜひ知りたいところだけど、Silverlight 4 に関係ありそうなのは 「オフラインコンテンツ向けにも「PlayReady」デジタル著作権保護(DRM)技術のサポート機能を拡大する」 という部分だけって感じでイマイチよくわからない。
ブラウザ上で動く Silverlight がどうオフラインコンテンツと関係するのかもよくわからないし。

原文の方の 「Microsoft offers some Silverlight 4 details」 を見ても書いてあることはほとんど同じみたい。

で、おぎわらさんのところ で元ネタが Microsoft PressPass (Microsoft からのプレスリリース) の 「Microsoft Raises the Bar for Delivery of Live HD Online Video Using HTTP」 だと知った。
ん~、CNET の記事とはずいぶんイメージが違うな。

このプレスリリースって Live Smooth Streaming に関することが主で、その関連で Silverlight とか Silverlight 4 の話が出てきてるだけですね。

どうやら、今まで IIS Smooth Streaming と呼ばれていたものは Live Smooth Streaming と呼ばれるようになったみたいです。
そして、Live Smooth Streaming を実現するためのサーバ (IIS のアドオン) が IIS Media Services 3.0 というもので、これは 30日以内くらいにリリースされる予定とのこと。
また、9/11~15 にアムステルダムで開催される International Broadcasting Conference (IBC) で Silverlight 4 で作られた最新のメディア機能をプレビューするそうです。
この Silverlight 4 には、ネイティブなマルチキャストサポートや Microsoft PlayReady テクノロジによるオフラインなデジタル著作権管理 (DRM)サポートなどが含まれているとのこと。
加えて、IIS Smooth Streaming Transport Protocol と Protected Interoperable File Format (PIFF) 仕様を Microsoft Community Promise の元でリリースするとのことです。

一応書いておくと IIS Media Services 3.0 による Live Smooth Streaming のクライアントは Silverlight 3 です。
Silverlight 4 ではさらに進化するのかも知れませんが、Silverlight 4 までお預けということではありません。

後半に Silverlight 4 についてもうちょっとだけ書かれています。
IBC では Silverlight 4 のメディア機能の早期プレビュー版のデモをするようですが、これはオフライン PlayReady DRM の拡張と out of browser によって次世代のムービー視聴体験ができるようになることを示すそうです。
これらの機能によって、デジタルコピーやインターネット経由での配信であっても、消費者が DVD やブルーレイで得ていたのと同じようなリッチでインタラクティブなエクスペリエンスをムービー製作業者や小売業者が提供することが可能になるそうです。また、ムービー製作業者がネットワーク経由での更新や特典、生のイベントを提供したり、過去にムービーを購入した消費者との関連を強化したりできるようになるそうです。(この辺の英文はあまり自信がありません)

ちなみに、CNET のニュースでは 「offline content」 となっていますが、プレスリリースにはそういう言い回しは無く、あるのは 「offline DRM」 もしくは 「offline PlayReady DRM」 です。
特に後者はそのあとに 「and out of browser capabilities.」 と続いています。
普通に考えて 「オフラインコンテンツ向け」 じゃなく 「オフラインでも動作可能な DRM」 という意味なんじゃないかと。
特に out of browser と組み合わせればオフラインであっても DRM が働いたうえで Silverlight でムービーが視聴できるということなんじゃないかと。

あと、IIS Media Services 3.0 のリリースと同時にデベロッパ向けに Smooth Streaming player 開発キットのベータ版が提供されるそうです。
この開発キットではテンプレートを使ってカスタムプレイヤーを簡単に作ることができるとのこと。


[Silverlight] Silverlight 4 に欲しい機能は?

Silverlight feature suggestions より。
どうやら Silverlight 4 にどんな機能を盛り込むか意見募集中ということみたいです。
Tim Heuer 氏からは “Do you have a need to convert Flash applications?"、"How do you prefer to learn Silverlight?"、"Are you using the provided Silverlight Toolkit themes in your applications?" という 3つの問いが載っています。(1番目と 3番目は投票できるようになっています。2番目のはブログにコメントして欲しいとのこと)

あと、Silverlight Feedback Forum なんてものもあります。
見ればわかるとおりフォーラムというよりは投票所で、一人 10票まで投票できます。


2009年9月2日水曜日

[.NET] All-In-One Code Framework がアップデート

以前に 「[.NET] All-In-One Code Framework ってなんぞ?」 で紹介した All-In-One Code Framework が 2009/08/26 にアップデートしたそうです。

交信内容は
http://cfx.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=32006
にあります。
Windows 7 のサンプルなどいくつかのサンプルが追加されています。

って言うか、今まで全然気づいてなかったんですが、2009/07/30 には Silverlight 3 だとかいろいろ追加されてますし、結構頻繁にアップデートされてたんですね。


[Silverlight] Silverlight 3 がマイナーアップデート

「Silverlight minor update released today」 によると Silverlight 3 が GDR 2 (3.0.40818.0) にマイナーアップデートしたそうです。
更新履歴が http://www.microsoft.com/silverlight/resources/technical-resources/ の “Deployment/IT Administration" をクリックして、"Release History" にあります。
これによると

  • Unicode キャラクターサポートの拡張。特に GB18030 について。
  • ネットワークパフォーマンスの向上。
  • ビデオシーキングの向上。

だそうです。
Tim Heuer 氏の記事の感じでは GB18030 がらみが主なのかな?

ちなみに、Silverlight Tools には更新は無いけど、Silverlight SDK はアップデートされてるようです。
また、development runtime も更新されています。
...と、あるんですが、日本語版も同時に更新されるんだろうか?

あれ?
http://msdn.microsoft.com/ja-jp/silverlight/
の 「Silverlight 3 ソフトウエア開発キット(SDK)」 のリンクをクリックすると ページが見つかりません になっちゃうな。更新中?