iCloud版「iWork v10.0」では図形などの一部機能を、WebAssemblyを利用してC++やObjective-Cネイティブコードから実装している。

Keynote for iCloud で図形を結合して新しい図形を作成する iCloud
記事内に広告が含まれています。
スポンサーリンク

 iCloud版の「iWork v10.0」では図形などの一部の機能がC++やObjective-CなどのネイティブコードをWebAssemblyを利用して実装されているそうです。詳細は以下から。

iCloudのアイコン。

 Appleは現地時間2020年03月31日、同社のオフィススイートであるドキュメント作成アプリ「Pages」および表計算アプリ「Numbers」、プレゼンテーション用アプリ「Keynote」のMacおよびiOS/iPadOS版iCloud(Web)版をバージョン10.0へアップデートしiCloud Driveフォルダ共有からの共同作業機能などをサポートしましたが、

Numbers for Mac v10.0

iCalやiLife、RubyMotion(MacRuby)開発に携わり、現在はAppleのシニア・エンジニアをされているLaurent Sansonettiさんによると、アップデートされたiWork v10.0 for iCloudの機能の一部はLLVMのWebAssemblyバックエンドを利用して、C++やObjective-Cのネイティブコードで書かれたものを実行しているそうです。

I wrote a dedicated toolchain for the team, based on LLVM and its WebAssembly backend. It includes a custom compiler/linker, ObjC runtime, some Foundation layer, and a TypeScript bridge.If you’re curious, this feature is written in WebAssembly (article mentions Keynote but it works on Pages and Numbers too!)

Twitterより

 Sansonettiさんによると、WebAsseblyを利用してネイティブコードから実装された機能はいくつかあるようですが、以下のような2つ以上の図形を結合や切り抜きし、新しい図形を作成する機能などが、この手法で実装されており、コンパイラやリンカー、Objective-Cのランタイム、いくつかのレイヤー、TypeScriptブリッジなどのツールチェーンで開発されているそうです。

Keynote for iCloud で図形を結合して新しい図形を作成する

おまけ

 ちなみに、2020年03月にiWork v10.0 for iCloudアップデートでは、サポートブラウザから「Internet Explorer 11」が外され、Windows環境ではGoogle ChromeかMicrosoft Edgeを利用するように指定されています。

iWork for iCloud Supported browsers

コメント

タイトルとURLをコピーしました