BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Windows.Formsが64ビットMac OS Xに対応

Windows.Formsが64ビットMac OS Xに対応

ブックマーク

原文(投稿日:2018/02/28)へのリンク

読者の皆様へ:ノイズを減らすための一連の機能を開発しました。関心のあるトピックについて電子メールとWeb通知を受け取ることができます新機能の詳細をご覧ください。

Monoは長い間、Linux、Mac、Windows用のWindows.Formsスタックを純粋なC#で実装してきた。技術動向が変化するにつれて、MonoのWindows.Formsプラットフォームは積極的には開発されていないが、サードパーティのさまざまなライブラリやアプリケーションに共通の依存関係が残っており、WinFormsアプリケーションを直接書くことよりも、そのサポートの方が重要になっている。Monoがデフォルトで64ビットプラットフォームに切り替わると、MacOS上のWindows.Formsのサポートを継続する上での問題が発生した。理由は、そのサポートがCarbonの32ビット基盤上に構築されているためである。

このギャップに対処するために、MonoのMiguel de Icaza氏は最近、MacOSのサポートをどのようにモダンにできるかを検討した。彼の初期の選択は、64ビット版のCarbonが提供するAPIを使用するか、Xamarin.Macを使っているCocoaの上に新しいバックエンドを構築することであった。64ビットCarbonについての最初の調査で、Windows.Formsに必要なAPIが文書化されておらず、64ビット対応かどうかを見極めるのがが難しいことがわかった。そのため、de Icaza氏はXamarin.Macの実験を始めた。

幸いにも、de Icaza氏は自身の開発を公にしていたため、Filip Navara氏はde Icaza氏の活動を知るきっかけとなった。Navara氏はde Iacaza氏に連絡を取り、de Iacaza氏のプロジェクトの1つがこの新しい試みに役立つかもしれないと言った。Navara氏は既存のCocoaバックエンドを利用できるようにした。これによって、CocoaバックエンドをMonoに適切に組み込むためにも利用することができる。Navara氏のコードはMono SWFから作成されており、Mono用のCocoaバックエンドを構築した。

de Icaza氏はその後、このコードをMacOS上のMonoのWindows.Formsの新しい64ビット実装の基礎として使用することに決めた。コードレビュー時に、de Icaza氏はいくつかのコントロールに対してネイティブのAppKitコントロールを使用していることに気付いた。また、MonoがもともとiOSユーザ向けに開発したSystem.Drawingのカスタムバージョンも使用している。

Rate this Article

Adoption Stage
Style

この記事に星をつける

おすすめ度
スタイル

BT