Appleは先日開催されたWWDC18で、iOSアプリをmacOSに移植しやすくする「Marzipan」と呼ばれるプロジェクトを進めている事を発表しました。
iOS用のフレームワークUIKitのmacOS版を作成することで、iOS用のアプリを手間をかけずmacOSでも動かすことができるようになる技術で、macOS Mojaveに含まれる株価、ニュース、ホーム、ボイスメモアプリはMarzipanを利用して作られているといわれています。
今回このMarzipanを利用して、iOSアプリをmacOSに移植する手間がどのようになるかを知る記事「Marzipan in Mojave: Porting developer iOS apps to macOS」を9to5MacのGuilherme Rambo氏が公開しています。
同期記事はまず、Marzipanという名前が内部で正式に使われていたことを確認し、実際に移植されたアプリが「iOSMac」アプリと呼ばれていると説明しています。
タブバーのツールバー+セグメントコントロールへの置き換えや、共有シートの置き換えが自動に行われ、3Dタッチやロングプレスはダブルクリックに変換されることを明らかにするほか、メニューバーやサイドバー、ツールバー、タッチバーといったmacOS固有の要素は、Macに移植されたUIKitだけで利用できる新しいクラスを経由してアプリから呼び出せるとしています。ただし現段階では、マルチウィンドウに対応しておらず、フォームシートやアラートのように不自然に見えるUI要素も残っていると解説しています。
また実際に「9to5Mac」アプリと「ChibiStudio」アプリを実際にiOSからmacOSに移植してみたところ、Swift 4.2への書き換えと、依存関係の削除、ビルドプロセスの調整などによってそれほど手間をかけず作業を完了することができたとのことです。
より顕著な例としてPeter Steinberger氏によるPDF Viewer appの移植を紹介しています。
Got @pdfviewerapp running on Marzipan 🤯
Featuring inline video, page curl, popovers, scrolling, text selection, inline forms, adding text, color inspector, search, editing documents - almost everything works. Took me half a day. Project is 1MLOC ObjC/C++.
Major props to Apple! pic.twitter.com/1ofpe5AqyM
— Peter Steinberger (@steipete) 2018年6月11日
iOS App Storeと比較するとさみしい状況のMac App StoreがMarzipanで復活することになるのでしょうか。一般開発者向けの公開が予想される2019年が楽しみです。