BT

InfoQ ホームページ ニュース OS X 10.10.3にUIKit風のAPIを提供する新UXKitフレームワークの存在が明らかに

OS X 10.10.3にUIKit風のAPIを提供する新UXKitフレームワークの存在が明らかに

ブックマーク

原文(投稿日:2015/02/19)へのリンク

最近OS X 10.10.3ベータで見つかったUXKitフレームワークが,あちらこちらで話題になっている。興味深いのは,APIがiOS UIKitのものに酷似していることだ。ここから一部の開発者たちは,これら2つのプラットフォームを近付けることができるのではないか,と期待している。

ポーランドの開発者Michał Kałużny氏は,OS X 10.10.3 Photos.appから抜き出したXKit.frameworkを少し修正したもの,UIKitと類似性を持ったヘッダファイル,UXTableViewUXCollectionViewControllerを使ったサンプルアプリを,GitHubのリポジトリにホストしている。

UIKitAppKitは,それぞれiOSとOSXのSDKに含まれる,2つのフレームワークである。どちらも高度なユーザインターフェースを簡単に作成可能な,高レベルのAPIを提供するという,汎用的な要件に対応するものだ。残念ながら公開されているAPI面には,イベントハンドリングやビューコントローラ,デフォルト動作,NSCellベースのコントロールなど,多くの部分で根本的な差異がある。

Appleによると,これらの差異は,"OS Xアプリのユーザインターフェースの構造と実装が,iOSアプリのものと大きく異なる"という事実の,直接的な結果だという。具体的には,次のような3つの要素がある。

  • モバイルデバイスにはディスプレイのサイズ,単一ウィンドウのUIモデル,CPUパワー,バッテリ考慮といった制限がある。
  • タッチジェスチャはiOSの主要な操作手段であり,UIオブジェクトのユーザビリティに影響を与えている。
  • iOSでは,ファイルシステムにユーザがアクセスすることはできない。

このような状況にあっても,両プラットフォームに対応可能な何らかの統合APIの必要性は,iOSおよびOS X開発者によってしばしば主張されてきた。その結果,サードパーティによって,問題の解決,あるいは少なくともその緩和が試みられた。conFactoryのChameleonTwitter TwUI,[3}UMEKitなどはその例だ。しかし残念ながら,いずれのプロジェクトも,積極的な開発は数年前に終了している。

前述のように,UXKitの発見は多くの関心を集めたが,Appleが今後UXKitを公開するかどうか,あるいはAppleがiOSとOS Xの開発を改善する十分なステップになるかどうかでさえ,すべての人々が確信している訳ではない。OmniFocusやVerpserなど,Appleのプラットフォーム用のアプリをいくつも成功させている開発のBrent Simmons氏は,"果たしてこれが,AppleKitを代替することになるフレームワークとして,Apple外部に提供されるかどうかさえ疑問です",と述べている。iOSのフリーランス開発者としてSoundCloudやArtsy iPhoneアプリを開発したRobb Böhnke氏は,さらに一歩踏み込んで,UXKitは"公開フレームワークになるかも知れませんが,もしそうだとしても,それで十分ではありません",と言っている。特に氏は,UIKitの再描画コードがシングルスレッドである点に批判的な発言を向けながら,先日発表されたReact Nativeのような,より新しいアプローチの必要性を指摘している。

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

C# 8の非同期ストリーム

Bassam Alugili 2018年10月11日 午前3時13分

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。