マイクロソフトは、Petzold以降、統一されたGUI戦略を持っていません。

2026/04/06 2:27

マイクロソフトは、Petzold以降、統一されたGUI戦略を持っていません。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

マイクロソフトのWindows UIの歴史は、単一で一貫したGUI戦略が確立されることを妨げた断片化された政治的決定によって特徴付けられてきました。
それは1988年にチャールズ・ペツオルドが書いた Programming Windows から始まり、明確なWin16アプローチを提示しました。その後、Win32+Win16への移行でMFC(1992)、OLE/COM/ActiveX、およびその他のコンポーネントモデルが導入されましたが、統一されたフレームワークなしに認知的複雑さを増加させました。PDC 2003ではLonghornがWinFS、Indigo、Avalon(後のWPF)の三本柱を約束しましたが、Windowsチームはその後マネージドコードを放棄し、Windowsと.NETチーム間で13年間にわたる機関的分裂を生み出し、結果としてWPFもSilverlightも孤立させました。
2007年のSilverlightはクロスプラットフォームなリッチクライアントとして宣伝されましたが、静かにWindows Phoneへと方向転換しました。この変更について開発者にはQ&Aでのみ告げられ、ロードマップでは示されませんでした。2012年にWindows 8のMetro/WinRTは.NETやWPFをバイパスするネイティブC++ランタイムを導入し、企業開発者に矛盾したメッセージを送信しました。UWP(Windows 10)は「一度書いてすべてで実行できる」と約束しましたが、サンドボックス化され、ストア専用でありWin32 APIを欠いたため、コアのMicrosoftアプリや広範な開発者コミュニティの関心を引くことはできませんでした。
今日、Windowsには17種類のGUI技術(Win32、MFC、WinForms、WPF、WinUI 3/Windows App SDK、MAUI、Blazor Hybrid、WebView2、Electron、Flutter、Tauri、Qt、React Native for Windows、Avalonia、Uno Platform、Delphi/RAD Studio、Java Swing/JavaFX)が存在し、開発者や企業は高い保守コストを負担せざるを得ず、移行の決定が複雑化し、業界全体の採用速度が遅くなっています。
失敗の繰り返しパターンは内部政治(Windows vs. .NET)、会議で発表される前段階のプラットフォームベット、またはビジネス戦略のピボットに起因しており、開発者を警告なしに置き去りにします。多くのスタックが高い技術品質を持っているにもかかわらず、組織的なミスステップが継続的な採用を阻害しました。最新のUI統一試みであるProject Reunion/WinUI 3も不確実性が残るままで、レガシーの断片化が解消されておらず、UWPに対する明確な代替策が欠けています。
教訓は明白です:成功したGUI戦略には、断片的で会議主導の発表ではなく、採用・投資・保守・移行を含む単一かつ一貫したライフサイクル計画が必要です。

本文

数年前、開発者会議で誰かが簡単な質問を投げました。
「新しい Windows デスクトップアプリに最適なフレームワークは何ですか?」

沈黙の連続。ある人は WPF を推奨し、別の人は WinUI 3 を提案。第三者は Electron だけを使えばいいのではないかと尋ねました。会議は混乱し、その質問に答えることはできませんでした。

この沈黙こそが物語です。そしてその物語は30年以上前まで遡ります。

プラットフォームが「UI をどう構築すればよいか」を10秒以内で回答できないとき、それは開発者への失敗です。終わりです。


Windows が明確な答えを持っていた最後の時

1988 年、チャールズ・ペツオルドが Programming Windows を出版しました。852 ページ。C で書かれた Win16 API。大量に見えるものの、素晴らしい点は単一で統一された「戦略」を提示したことです。

その後登場した Win32 はさらに大きくなりましたが、依然としてメッセージループ・ウィンドウプロシージャ・GDI といった一貫したモデルを提供しました。ペツオルドはそれを説明し、Windows の F=MA(力=質量×加速度)と呼びました。学んで使えば成功できるという単純で強力なモデルです。

明確さこそが友達です! 1つの OS、1つの API、1つの言語、1冊の本。マネージドコードの代替案を議論する委員会は存在せず、Win32 とペツオルドだけで十分に機能しました。これは物理学であり化学ではありません――ある条件下でしか通用しないものです。

次に起こったことは、優秀な人材と莫大なリソースを持つ企業が誤った点を最適化して30年にわたる失敗を生み出す方法のマスタークラスでした――素晴らしい人々が愚かな選択をするケースです。


オブジェクト指向の熱狂期(1992–2000)

Win32 の限界は明白だったため、Microsoft は開発者会議で新しいものを披露しました。いくつかあります。

  • MFC(1992)― Win32 を C++ でラップしたもの。Win32 が不格好なら MFC は「他のタキシードで作られたタキシード」を着た Win32 です。
  • 次に OLE、COM、ActiveX が登場しました――いずれも GUI フレームワークではなく、Windows 開発全体を感染させるコンポーネントアーキテクチャであり、認知的複雑性を増大させました。

1990 年代後半のある会議セッションで OLE ドキュメント、COM オブジェクト、ActiveX コントロールの違いを理解しようとしました。講演者は一時間ずっと「ネズミの尾」が口から垂れ出ているかのように見えました。

Microsoft は統一されたストーリーを売っていたわけではなく、テクノロジープリミティブを提供し、開発者自身に物語を構築させていました。これは「会議キーノート・クラスタ」――エグゼクティブが講演で人々を感動させることに最適化され、ユーザーや開発者の成功は二の次になっていたのです。


PDC 2003 とそれ自身を食べたビジョン

PDC 2003 では Microsoft は Longhorn を公開しました―魅力的な技術ビジョン:WinFS(リレーショナルファイルシステム)、Indigo(統合コミュニケーション)と Avalon(後の WPF)―GPU アクセラレートされた XAML ベースのベクタ UI。開発者は狂喜し、これが正しいビジョンだと感じました。

しかし 2004 年 8 月に Microsoft は完全な開発リセットを宣言し、計画を破棄して Server 2003 のコードベースから再スタートしました。そして静かに指示を出しました:Windows ではマネージドコードは使わない。すべての新規コードは C++ で書くというものです。WPF は Vista と共にリリースされましたが、シェル自体はそれを使用しませんでした。

Windows チームは .NET に対する憎悪を癒すことができませんでした。その視点から見ると、新しいマネージドコードフレームワークへの賭けは会社史上最も恥ずかしい失敗に繋がりました。この憎しみは、Windows と .NET チーム間の13年にわたる機関内の内戦を生み出し、結果として WPF を孤立させ、Silverlight を打ち砕き、UWP を台無しにし、今日私たちが抱える GUI エコシステムのボーフ・アラマをもたらしました。


Silverlight:確立されたパターン(2007–2010)

WPF は 2006 年末にリリースされました。XAML、ハードウェアアクセラレーション描画、実際のデータバインディング――素晴らしいものでした。Microsoft がこれを決定的な答えとして確固たる投資を続けていれば、物語は別の結末を迎えていたかもしれません。しかし 2007 年に Silverlight を発表しました:Flash と競合するブラウザプラグインで、クロスプラットフォーム、エレガントであり、Windows Phone の基盤となりました。

2010 年頃、リッチクライアントの未来のように見えました。しかし MIX 2010 で Microsoft の幹部が Q&A で Silverlight が「クロスプラットフォーム戦略」ではなく「Windows Phone に関するもの」であると告げ、HTML5 が方針となりました。Silverlight チームはこれを知らされていませんでした。Silverlight を使って LOB アプリケーションに賭けた開発者は会議の Q&A で知ることになりました。

Silverlight は技術的な失敗によって終わったわけではありません――テクノロジー自体は十分に良かったです。ビジネス戦略上の決定がそれを終焉させ、開発者が最後に知ることになりました。このパターンを覚えておいてください――また出現します。


メトロ・パニックと二チームの対立(2012)

Apple は 2000 万台以上の iPhone を販売し、iPad が PC 売上を食い止めました。Microsoft の答えは Windows 8 と Metro ―タッチファーストランタイム WinRT で、.NET には依存していませんでした。この時点で Windows チームの憎悪が顕在化します。WinRT はネイティブ C++ ランタイムで、WPF・WinForms や .NET に対する10年間の投資から完全に離れたものです。

Microsoft 内では同時進行で二つのストーリーが語られていました:

  1. Windows チームは WinRT を構築中。
  2. .NET チームは WPF のエバンジェリズムを続けている。

異なるビル、異なる VP、異なるロードマップ。Build 2012 で開発者に語られたのは「WinRT が未来だ」「HTML+JS はファーストクラスだ」「.NET はまだ機能する」「C++ は戻ってきた」「Metro アプリを作るべきだ」「WPF コードもそのまま動く」ということでした。これは戦略ではなく、6 チームがあなたの注意を奪い合う Hunger Games の舞台です。

エンタープライズ開発者は UWP のサンドボックス、ストアデプロイメント要件、Win32 API の欠如を見て離れました。モダン時代へ導くために設計されたフレームワークが、実現しなかったタブレット向けアプリストアに最適化されていたのです。


UWP と WinUI の拡散(2015–現在)

Windows 10 で Universal Windows Platform が登場しました――一度書けば PC、電話、Xbox、HoloLens 上で動くというコンセプト。紙上では魅力的でした。しかし Windows Phone は衰退し、Microsoft のフラッグシップアプリ(Office、Visual Studio、シェル自体)は UWP を使用していませんでした。そのメッセージは明確に語られましたが、声としては出ていません。

UWP が停滞すると公式回答は「状況による」になりました。新規アプリには UWP を使う。既存アプリには WPF を残す。XAML Islands でモダン API を追加する。WinUI 3 を待つ。さらに WinUI 2 は UWP 専用です。Project Reunion が全てを解決すると宣言されましたが、実際は Windows App SDK として再命名され、UWP を完全に置き換えることはできませんでした…

素晴らしい人々が愚かな選択をする――テクノロジーのブラウン運動。

Project Reunion / WinUI 3 は本格的な進歩です。しかし問題が存在した理由を自問してください。UWP のコントロールは Windows チームが所有していたため OS に結び付けられました。.NET チームも開発者ツールチームもそれに関与しませんでした。Project Reunion は組織的な回避策であり、技術的解決策のように見せかけたものです。

2024 年に書かれたある開発者のまとめ:「私は Microsoft の継続的な変更を追ってきました:UAP, UWP, C++/CX が C++/WinRT に置き換えられる、XAML Islands, XAML Direct, Project Reunion, WinAppSDK の再起動、WinUI 2.0 と 3.0 の混乱的な切り替え…」十四年。十四回のピボット。彼にはメダルと謝罪が同時に必要です。


看護師のいない動物園

現在 Windows 上で実際にリリースされている GUI テクノロジーは以下の通りです:

Microsoft ネイティブフレームワーク

フレームワーク備考
Win321985今も存在。Petoldo の本は有効。
MFC1992Win32 を C++ でラップしたもの。メンテナンスモード。企業・CAD 向けに残存。
WinForms2002.NET ラッパー。利用可能だが推奨されない。データ入力フォームでは最速。
WPF2006XAML、DirectX 描画、オープンソース。Microsoft の新規投資は無い。
WinUI 3 / Windows App SDK2021「モダン」な回答。ロードマップは不確実。
MAUI2022Xamarin.Forms のクロスプラットフォーム後継。.NET チームの現在の賭け。

Microsoft Web‑Hybrid

  • Blazor Hybrid – .NET Razor コンポーネントをネイティブ WebView 内で実行。
  • WebView 2 – Chromium を Win32/WinForms/WPF アプリに埋め込む。

サードパーティ

テクノロジー言語備考
ElectronJavaScript/Node.jsChromium + Node.js。VS Code、Slack、Discord などが採用。Windows 上で広く展開。
Flutter (Google)Dartカスタムレンダラー、クロスプラットフォーム。
TauriRust バックエンド軽量な Electron の代替。
QtC++/Python/JavaScript真剣なクロスプラットフォームオプション。
React Native for WindowsJavaScriptFacebook のモバイルフレームワークを Microsoft がサポート。
Avalonia.NET (C#)WPF の精神的後継者。JetBrains、GitHub、Unity で使用。
Uno Platform.NETWinUI API をすべてのプラットフォームに提供。Microsoft よりも WinUI にコミットメントが高い。
Delphi / RAD StudioObject Pascalまだ生きている、速い、垂直市場向けソフトウェア。
Java Swing / JavaFXJava生産中で、企業は忘れません。

17 のアプローチ。5 つのプログラミング言語。3 つのレンダリング哲学。これはプラットフォームではありません。ボーフ・アラマという用語に辞書的定義がなくても、それを見た瞬間にはわかります。


教訓

すべての GUI イニシアチブの失敗は、次の3つの原因のいずれかに起因します:

  1. 内部チーム政治(Windows vs. .NET)。
  2. 開発者会議での早期プラットフォーム賭けを推進する発表(Metro, UWP)。
  3. 開発者への警告なしに孤立させるビジネス戦略転換(Silverlight)。

これらは技術的失敗ではありません。テクノロジー自体は多くの場合優れていました――WPF は良い、Silverlight は良い、XAML は良い。組織上の失敗が製品を決定づけました。

開発者にとって有効な戦略とは、採用から投資、保守、移行まで全ライフサイクルを網羅する理論であるべきです。そうでない場合は単なる会議キーノートに過ぎません。一方が戦略であり、もう一方は30年にわたるボーフ・アラマです。

チャールズ・ペツオルドは Microsoft が発表するすべての新機能に追いつくために Programming Windows の6版を書きました。彼は第六版で Windows 8 の WinRT をカバーし、2012 年まで続けました。私は彼を責めません。

同じ日のほかのニュース

一覧に戻る →

2026/04/06 3:45

Gemma 4(iPhone向け)

## Japanese Translation: AI Edge GalleryはiPhone専用アプリで、デバイスのハードウェア上で大規模言語モデルを完全にオフラインで実行し、インターネット接続なしで高性能な生成型AIをユーザーに提供します。最新リリースではGemma 4をサポートし、以下の新機能が追加されました: - **Agent Skills** ユーザーはWikipedia事実照合、インタラクティブマップ、視覚要約カードなどのモジュールツールでLLMを拡張でき、URLまたはGitHub Discussionsからスキルをロードできます。 - **AI Chat with Thinking Mode** 対応モデルに対してステップバイステップの推論ビューを提供し、多段会話の透明性を高めます。 - **Ask Image** デバイスカメラまたはフォトギャラリーを使用したマルチモーダルオブジェクト認識と視覚パズル解決が可能です。 - **Audio Scribe** 音声録音をリアルタイムで文字起こし・翻訳し、オンデバイス言語モデルを利用します。 - **Prompt Lab** 温度やtop‑kなどのパラメータ調整が可能なプロンプトテスト用ワークスペースです。 - **Mobile Actions** ファインチューニングされたFunctionGemma 270mモデルにより、オフラインデバイス制御と自動タスクを実現します。 - **Tiny Garden** 自然言語で仮想庭園を植えたり収穫したりできる実験的ミニゲームで、同じくFunctionGemma 270mベースです。 アプリにはカスタムオープンソースモデルのダウンロード・ロードと特定ハードウェア上での性能評価が可能な柔軟なサンドボックスがあります。全ての推論はデバイス内で行われるため、インターネットは不要であり、プロンプト、画像、および機密データの100 %オンデバイスプライバシーを確保します。プロジェクトはオープンソース(GitHub: https://github.com/google-ai-edge/gallery)で、スキルや機能のコミュニティ貢献を歓迎しています。 この要約はすべての主要ポイントを網羅し、推測的表現を避けつつ主旨を明確かつ簡潔に提示しています。

2026/04/04 18:20

**LÖVE:Lua用 2D ゲームフレームワーク**

## Japanese Translation: > **概要:** > LÖVEは、Windows、macOS、Linux、Android、およびiOS上でLuaを使用して2Dゲームを構築するための無料かつオープンソースのフレームワークです。プロジェクトはGitHubに安定リリースを公開し、CI経由でnightly/unstableビルド(Ubuntu PPA `ppa:bartbes/love-unstable` および Arch AUR パッケージ `love-git` を含む)も提供しています。すべてのバイナリは、LÖVE APIを網羅する完全なテストスイート(`testing/`)とともに配布されます。各プラットフォーム用の詳細なビルド手順が用意されており、LinuxではCMake、macOS/iOSではXcode、Androidには専用リポジトリがあります。また `love‑experiments` リポジトリは実験的変更を保持しています。ドキュメントはプロジェクトのWikiにあり、コミュニティサポートはフォーラム、Discord、subreddit、およびWikiから提供されます。貢献はプルリクエストで受け付けられますが、LLMや生成AIによって生成されたコードは品質維持のため拒否されます。主な依存関係にはSDL3、OpenGL 3.3+ / OpenGL ES 3.0+、Vulkan/Metal、OpenAL、Lua/LuaJIT/LLVM‑lua、FreeType、harfbuzz、ModPlug、Vorbisfile、およびTheoraが含まれます。

2026/04/06 7:31

日本では、ロボットはあなたの仕事を奪うものではなく、誰も取りたがらない職務を担ってくれます。

## Japanese Translation: --- ## 要約 日本経済産業省は、総理大臣高市早苗氏の支援を受けて、2040年までに世界市場の **30 %** を占める国内物理‑AIセクター構築計画を発表し、約 **63億ドル** の資金を投入します。このイニシアチブは深刻な労働力不足が主因であり、日本の就業年齢人口は **59.6 %** に減少しており、今後20年間で約 **1500万人** へと縮小すると予測され、将来の労働供給に脅威を与えています。 日本の製造業者はすでに **70 %(2022年)** の産業用ロボット市場を支配しており、強固な基盤があります。政府の戦略は実験的試作から、**稼働時間、人間介入率、生産性への影響** で測定される有料顧客導入へとシフトします。 このハイブリッドエコシステムを示す主要プレーヤーは次の通りです: - **Mujin**:既存の産業用ロボットを自律的なピッキング・物流プラットフォームに変えるロボティクス制御ソフトウェア。 - **WHILL**:東京とサンフランシスコで創業されたスタートアップ。電動車両、搭載センサー、ナビゲーションシステム、クラウドベースのフリート管理を組み合わせた短距離自律輸送。 - **SoftBank**:視覚と言語モデルとリアルタイム制御を結合し、環境を認識して複雑なタスクを自律的に実行できるロボットを産業現場で可能にする。 - **Terra Drone**:運用データ+AI を活用し、自律防衛システムの信頼性向上を図る。 日本の優位性は、高精度部品(アクチュエーター、センサー、モーションコントロール)にあり、物理システムと AI の統合に対して戦略的な堀を形成しています。投資は純粋なハードウェアではなく、オーケストレーションソフトウェア、デジタルツイン、シミュレーションツール、統合プラットフォームへと徐々に向けられています。 結果として生まれるハイブリッドモデルは、大手企業がスケールと信頼性を提供し、スタートアップがソフトウェア革新を推進する構造であり、製造業・物流・自律輸送・防衛部門を再形成する可能性があります。これにより、ハードウェアの卓越性と高度な AI オーケストレーションを融合したバランスの取れたエコシステムが実現します。