++C++; // 未確認飛行 C ブログ

http://ufcpp.net/

P・D・C! P・D・C!

leave a comment »

やっと落ち着いてPDCの動画見てみたり、関連情報たどってみたり中。今日、ちょっとずつメモ書き残す。

PDC内、あるいは、PDCに合わせて発表されたものっていうと、

  • Azureのアップデート、新機能
  • PinPoint(特にコード名"Dallas")
  • Silverlight 4
  • "Oslo"改め、SQL Server Modeling
  • Office 2010
  • IE 9

とかですか。

IE 9

軽いのから行こう。IE 9。

  • 申し訳程度に発表されただけな感じもするけども。
  • 発表された内容としては:
    • JavaScript の高速化
    • Direct 2Dベースのレンダリング

Office 2010 β

もう公式サイトの日本語化されてる

  • 一番の売りは共有がらみっぽい
    • 複数人で同時編集できたり
    • SkyDriveとかにも標準で保存できるようになったり
  • 機能面もちらほら修正されていはいる
    • Wordのナビゲーション、Excelのセル内データチャートとか
    • リボンUIが微妙に整理されてる
      • 個人設定もできるようになったって
  • どのグレードにもOneNoteが入った

Silverlight 4

↑この辺りの記事を荒訳していこうかと。()内は僕の注釈。

さて、それじゃあ、Silverlight 4の新機能について。かなり大量。覚悟して読まないといけない。

  • Visual Studio のツールサポートが充実
    • (WPF 並み!・・・とは行かないんですよねぇ。ちょっと触ってみた感じ、微妙なところがちらほら)
      • コントロールのドラッグ&ドロップ開発が可能に
        • なったものの、デザイン側でクリックしたところと同期してコード側のカーソル移動してもらえたりはしない
      • コードスニペットが WPF 用。propdp とか、微妙に修正必要
      • やっぱ Blend 覚えなきゃダメかなぁ
  • WCF がらみ
    • WCF RIA Serviceとかのテンプレートが標準で入るようになった
    • NetTcp バインディングに対応
      • TCP 接続で双方向通信できる
      • ただし、使えるポートは4502~4534だけ
  • 印刷 API
    • 最も要望多かったもの
    • 拡張性の高いモデルを採用
    • System.Windows.Printing.PrintDocument ってクラスを使うらしい
    • PrintPage イベントをハンドリングして、PrintPageEventArgs の PageVisual に任意の UIElement を入れる
  • 右クリック対応
    • 普通に MouseRightButtonUp と MouseRightButtonDown の2つのイベント追加
    • e.Handled = true すれば標準の右クリックメニュー出なくなる
    • (FlameworkElement.ContextMenu はないみたいなので、コンテキストメニューを出したければ自力で menu.Show)
    • (Flash みたいに標準のコンテキストメニューに MenuItem 足すのもなさそう)
  • マウスホイール対応
    • 同上、MouseWheel イベント追加
  • ウェブカメラ&マイク
    • System.Windows.Media の下に CaptureSource とか CaptureDevice とかが増えてる
    • CaptureSource クラスに VideoCaptureDevice と AudioCaptureDevice プロパティがあって、それぞれウェブカメラ、マイク
  • テキスト関連
    • TextTrimming
      • TextBlock に TextTrimming プロパティ追加(中身が表示しきれないときに … を表示するかどうかの設定)
    • アラビア語みたいな右から左に書く言語に対応
    • その他、ヘブライ語とかタイ語とか、30個の言語に新たに対応
  • コントロール関連
    • ViewBox 追加
    • RichTextArea コントロール追加
      • 編集可能なリッチテキストコントロール
    • DataGrid に機能改善あり
    • fluid インターフェース
      • ItemsControl に BeforeLoaded, Loaded, Unloaded 追加。項目の状態が変わったときの遷移アニメーションを入れたりできるように
    • 暗黙的なテーマ適用
      • 今まで、キーを指定して明示的にスタイルを適用しないといけなかったけど、4 では、TargetType 指定で全ての UI 要素にスタイルを適用できるように
  • ICommand と ButtonBase、Hyperlink
    • コマンドに対応したんで MVVM な開発が可能に
    • (Button と Hyperlink だけ。InputBinding とかはさすがにない)
    • (DependencyObject に OnPropertyChanged がなかったり、微妙にやっぱり WPF と変えなきゃいけないところあり)
  • Clipboard API
    • ちゃんとクロスプラットフォームなクリップボードアクセスが可能に
    • Clipboard クラスがある
      • (ただし、SetText と GetText のみ)
  • ネットワーク認証
    • ClientHttp ネットワークスタックを使う場合、NetworkCredential を指定可能に
  • PlayReady DRM が H.264 にも対応
  • デスクトップからのドラッグ&ドロップ
    • AllowDrop プロパティを設定しておくと、デスクトップや Explorer からのファイルドロップを受け付けるように
    • (Drop イベントの拾い方とかは WPF と同じっぽい)
    • (DataFormats は FileDrop しか対応してないっぽい)
  • バインディング関連
    • IDataErrorInfo に対応
      • データ検証用
      • IDataErrorInfo はプロパティ単位の検証になる
      • もう1個、Sivlerlight 4 で追加される INotifyDataErrorInfo ってのを使うことで、プロパティをまたがる検証が可能
    • DependencyObject バインディング
      • 今まで FrameworkElement しかバインディングできなかったのが、DependencyObject でも可能に
      • 例えば、RotateTransform.Angle とかがバインディング可能に
    • StringFormat, TargetNullValue, FallbackValue
      • いずれも WPF にはある Binding プロパティ
      • DateTime に対して StringFormat=’MM-dd-yyyy’ とか指定するとこの形式に沿ってデータを表示してくれる
      • バインドする値が null の時には TargetNullValue に設定した値が表示される
      • 値が正しく変換できなかった場合には FallbackValue の値が表示される
  • マルチタッチ
    • ジェスチャーを受けとれるように
    • (今まではローレベルな WM_TOUCH 相当のイベントしか受けれなかった)
  • ブラウザ外実行時
    • WebBrowser コントロール
      • Silverlight の中に HTML(Flash さえも)を表示できるように
      • (ブラウザ内実行時は WebBrowser コントロール内に「無効です」って表示される)
      • HtmlBrush も使える
        • (PDC 2日目基調講演でやってたみたいな、YouTube ページを動画再生したままジグソーパズル化したりできる)
    • "toast" (トースト焼き機からパンがポンと出てくるような)通知
      • NotificationWindow クラスを使う
    • オフライン時でも DRM 対応
    • ブラウザ外実行時のウィンドウ位置とかを設定可能に
  • Elevated(昇格権限) trust(信頼済み) applications
    • Visual Studio で、Silverlight のプロジェクトのプロパティに「Requre elevated trust when running outside the browser(ブラウザ外実行に昇格を要求する)」を設定
    • Out-of-Browser インストール時にセキュリティ警告が出るようになる
    • これをやっておくと、セキュリティ的な問題で普通の Out-of-Browser 実行ではできないことがいくつかできるようになる:
    • ローカルファイルアクセス
      • MyDocuments, MyMusic, MyPictures, MyVideos のみだけど、OpenFileDialog や SaveFileDialog を介さずに読み書き可能に
      • Environment.GetFolderPath でパスを取得(Mac OS X でも対応するユーザーフォルダーを取得可能)
    • 信頼済みアプリでは、クロスドメインポリシー(clientaccesspolicy.xml もしくは crossdomainxml)不要に
    • 信頼済みアプリでは、全画面表示しているときでもキーボード入力を拾えるように
    • COM とか呼んだり、他のアプリの機能を使えたり、USB 機器触れたり

その他:

  • Google Chrome をサポート
  • 動作が2倍高速に
  • 通常の .NET Framework 4 と Silverlight でライブラリを共有できるように

Auzre

PDC 初日のキーノートでほぼ情報出てた感じ?PDC 初日に書いた日記に、キーノートの日本語でのまとめ記事へのリンクもあるんでそれを参照するのが速そう。

あんまりきれいにまとまってる記事みつからないなぁ。↓くらい。

これも簡単に訳す。

  • Role の設定 UI
    • Visual Studio の Solution Explorer で各 Role のところをダブルクリックするだけで設定画面開ける
    • 設定画面をいろいろ改善
  • Role テンプレートの追加
    • ASP.NET MVC 2.0
    • F# Worker Role
    • WCF サービス Web Role
  • テーブル作成
    • Azure Table がないとき、自動的に作成してくれるようになった
  • Storage Client がサンプルじゃなくて、ちゃんとしてクオリティのライブラリに
    • (かなり変更多いとか。ほんとに今までのは単なるサンプルだったようで)
  • 新しい診断ライブラリ: .NET API を使ったログ記録と、サービスを通した診断情報の取得が可能に
  • Worker Role が input endpoint に対応
    • (どうも、聞きかじった話だと、これは Web Role ⇔ Worker Role 間の通信に使う Endpoint っぽい。Worker が外からの通信を直接受けれるわけではないとか)
  • 開発用シミュレーション環境の高品位化
  • 1つの Role に対する VM 数を設定可能に
    • 1, 2, 4, 8 個から選べる
  • ローカルストレージアクセスが可能に
  • 証明書管理

C#/VB の将来の方向性

あと、気になるところでは↓こんなのが。

まず、そんなに目新しくもない情報から:

  • C# 3.0 のころからずっと言ってることだけど、トレンドは:
    • Declative: 宣言的プログラミング
    • Dynamic: 動的処理
    • Conccurent: 同時実行
  • というトレンドに合わせて、LINQ とか C# 4.0 の dynamic とか Task Parallel Library の話が中心

で、そのさらに先(ほんとに実現するかどうかは現段階では不透明):

  • C# のコンパイラは C# で、VB のコンパイラは VB で書き直す(これはかなり本気)
    • 今までブラックボックスだった部分をオープンに
    • 字句解析、構文解析、コード生成とかを自由に使えるように
  • Agent 型の並列処理を模索(Erlang とか Go 言語で使われてるタイプの並列処理ね)
    • 出てきたデモでは yield キーワードで非同期実行を開始する構文が出てた
    • (これはせめてキーワード変えるべきだなぁ。C# じゃイテレーターに yield 使うから)
  • あと、immutability を扱う構文も追加したいけど、今のところ、4・5個試してみたものはあるけど、なかなかいい構文を思いついてないとか
    • 言語のあまりにも多くの部分に影響ですぎるとかで
    • (基本が mutable な言語で immutable を導入するのは大変そうよね)

その他

広告

Written by ufcpp

2009年11月23日 @ 04:32

カテゴリー: .NET

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。