「WindowsDNA」カテゴリーアーカイブ

Announcing Windows 10 Insider Preview Build 17643 for Skip Ahead 

Hello Windows Insiders! Today, we are releasing Windows 10 Insider Preview Build 17643 (RS5) to Windows Insiders who opted in to Skip Ahead. What’s new in Build 17643 Sets + Office = Awesome Sets with Office 365 makes it easy to group, recall, and refresh data sources for all your projects. Whether updating your Excel […]

情報源: Announcing Windows 10 Insider Preview Build 17643 for Skip Ahead – Windows Experience BlogWindows Experience Blog

Office Insider Previewとの組合せで、デスクトップ版OfficeがSETSに対応。懐かしい人には懐かしい感じ。

EdgeがWebDriver対応、

データセンスの改良。

など。

「ActiveXコントロールは死んだ」を読んで。

ActiveXコントロールは死んだ – L'eclat des jours(2015-04-04).

まぁ、死んだよね。まだ息をしている業界も無い事は無いんですけど。たださすがにWebページにでっかいActiveXコントロールを貼り付けて、「これがWEBへの対応です!!」と声高らかに書くところはその業界でもなくなってきたけど。

ただ、最近の流行はアプリでタブレット対応なので、これもあと5年でActiveXコントロールだよなぁと思わなくも無い感じではあります。しかもWindowsの場合ストアアプリでないストアアプリのように見える何かだったりするのでビリビリしびれます。

確かにUI実装としてのActiveXコントロールは死んだと思いますし、実装技術や運用方法は大きく変わってきてはいるものの、ちょうど今輝いている何かを見るたびに、20年たっても、あまりにアプリケーションとして機能するソフトウェアシステムのアーキテクチャの考え方や実装のアイデアが変わらなすぎていて、ちょっと自分たちの進歩のなさに気分が悪くなったりもします。もっと言えば、メインフレームで分散システムを作り始めた頃から大きくは変わっていないと思っていたりします。

メインフレームの時代までは戻りたくないので、Windows DNAの頃と比較したいのですが、当時「デジタルダッシュボード」といわれていたもの(そして約束通り実現できなかったもの)が、今はPattern & PracticeのPRISMと呼ばれるものであったり、ExcelもPower~で始まるセルフBIなどに移り変わっていたり、当時Storage+といわれていたものが、Entity Frameworkに姿を変えていたり、確かに使用されている技術、実装方法は洗練され変わってきているけど、ユーザーに対して約束したユーザー体験はあまり変わっていません。そして、Webの「フロント技術」を見ると何年さかのぼって同じ議論を繰り返しているんだろうと思います。(そしてJavaScriptってC++の道をたどるんだろうと予測したりするわけです)

また、アプリケーションの構築基盤も、DCOM/CORBAの分散オブジェクト、SOA、それらを前提としたオーケストレーション技術、そして今のMicro Service、結局粒度と抽象度の上がったり下がったりがあったり、実装技術は変わる物の、やりたいことと目指すこと、何よりその時に必要な考え方や心構えがWindows DNAのころと大きく変わったように思えません。

クラウドの時代とは行っても、クラウド上にアプリケーションを作るというのは、クラウドのSaaSやPaaSが新しいOS、新しいライブラリセットやアプリケーションサーバーになっているだけで、僕らのやることは結局相も変わらず、対象の複雑性を隠蔽するために別のところで複雑性と不確定性を増していく作業のなのだとつくづく嫌になりました。

結局、本当に新しくて楽しいことはクラウドの霞の向こうにしかないのだ。

P/InvokeでもCOMの初期化は行われる。

Does the really CLR call CoInitializeEx on the first call to unmanaged code, even if you don't deal with COM at all and are just calling native code via p/invoke? – The Old New Thing – Site Home – MSDN Blogs.

.NET Fxのランタイムは、P/Invokeの場合でもP/InvokeでCOMが呼び出されるかかわからないので、スレッド開始ごとにCoInitializeEx()をCOINIT_MULTI­THREADED(つまりMTA)で呼び出しているよというお話。

ああそうっすよねー。そうですよねー。というのと、正しくスレッドごとにやってやがる。

合わせて読みたい:

If you want to set a thread's apartment model via Thread.CurrentThread.ApartmentState, you need to act quickly – The Old New Thing – Site Home – MSDN Blogs.

Windows Runtime 徹底解説 – Deep Dive -のセッションビデオが公開された

先ほど行われたde:codeでMS荒井さんにより行われた、Windows RuntimeのDeep Diveセッション。

COMを知らない方やWindowsをよくご理解いただけていない方にはご遠慮いただいた方が良いのかも。

Windows Runtime 徹底解説 – Deep Dive –

Windows RuntimeはCOMのリファクタリング。

これに興味を持たれたあなたはこちらも見た方がいいですよ。

デスクトップ アプリケーションと Windows ストア アプリの連携 – アプリ間の連携技術 –