iOS と macOS のアプリを統合すると噂の Project Marzipan について勝手な妄想
正直、現状から考えると当分先なきはするが勝手に妄想してみる。
多分、予想は間違っているけど。
現状の課題
macOS 10.4 からある PDFKit が iOS 11 から使えるようになったり、 iOS の Finder となりうる Files アプリが導入されたり、 SDK やシステムが iOS と macOS で似通ってきている。
ただ問題は UI が各 OS 異なっているものがあり、iOS と macOS で各UIに付随する機能やパーツを共有するのは難しいのではないかと思っている。
iOS で Array Controller などはないし、ボタン類だけでも多い。
もし行うのであれば、UI の共有化を地道に行うこととなるだろう。
それが完了してから tvOS のような形になるのではないかと思っていて、
数年でできる感じではないような気はしている。
統合プランその1
iOS のアプリを macOS でシミュレーションする
多分、これが一番想像しやすいパターン。
開発者向けの機能の Autolayout によって UI の配置や大きさがフレキシブルにできる(楽ではないが)ので、macOS 上で表示するだけなら問題ないと思われる。
また、iPad Pro の解像度は 2048 x 2732 なので、現状どの MacBook Pro 13 inch より解像度が高い。
iOS シミュレータで UI をマウスで使用する場合、使いづらい部分があるためこのようになるかは不明である。
もし、iOS アプリを実行するのであれば、実行専用の SoC チップを搭載する可能性もある。
統合プランその2
iOS のアプリのバイナリは同じで実行時に macOS の機能を呼び出す
Universal Windows Platform Bridge の Project Astoria の様に
macOS 上の iOS アプリ実行時に、macOS の機能と結びつけて実行する。
シュミレータを使用しないので速く起動しそうだが、Microsoft がこのシステムを諦めたのでまず難しいだろう。
統合プランその3
逆に iOS で macOS のアプリをシミュレーションして動かす
一番、夢がある。
A シリーズのチップが速くなってきたので iPad とかで macOS アプリが動いたら面白いかも。
もし、Xcode が iPad で動いたら胸熱ではある。
また、intel チップを使用せずに A シリーズのチップのみで構成 MacBook Pro などでても面白い。
ま、結果的にはこの場合は統合されてないんだけど・・・・・・。
統合プランその4
やっぱり地道にやる
NSColor や NSImage なんかの基本となる部分だけ、UIColor や UIImage などにして、 固有の UI や機能だけ別実装な感じで tvOS みたいな感じになるのだろう。
まとめ
とりあえず、実行が速くて開発が楽になればどの様な方法でも構わないし、iPad などで Xcode が使いたい。
それと、Swift、libswiftCore.dylib 的なやつをアプリに含めなくてもよくなる世界がおとずれて欲しい。