Twitterがテキストエディタのコードをオープンソースで公開、iOS用。「Twitter Text Editor」
Twitterは、iOS用のテキストエディタを実装するコード「Twitter Text Editor」をオープンソースで公開しました。
Today we’re happy to share Twitter Text Editor, a standalone, flexible API that provides a full-featured rich text editor for iOS applications. iOS developers can add robust text editing to their applications! #TwitterTextEditorhttps://t.co/OaABWmCrOz
— Twitter Open Source (@TwitterOSS) January 25, 2021
Twitter Text Editorは、実際にTwitterでツイートするときに使われているテキストエディタのコードをオープンソース化したものと説明されています。
Swift Packageとして実装されており、ほかに依存するものはありません。Xcodeのプロジェクトに追加することで簡単に利用可能。iOSライブラリ管理ツール「CocoaPods」経由でも利用できます。
Appleはテキストエディタに使えるAPIをハイレベルのものとローレベルのものを提供していますが、ハイレベルのものはより優れたユーザー体験のために細かな制御をするには十分な機能がなく、ローレベルのものはさまざまな言語(英語や日本語などの自然言語)に対応しようとすると多様な知識が必要になるなど、どちらを使うにせよ開発者はAPIと必要な機能のギャップを埋める作業が求められます。
テキストエディタを実装するのは見かけ以上に実は難しいことで、Twitter Text Editorはそうした課題を解決するものだとのこと。
おもに次のような機能を備えています。
Easy delegate-based APIs
一般的なUIKit APIなどと同様のデレゲートベースのAPI
Robust text-attribute update logic
シンタックスハイライトなどを実装するうえで必要なテキストコンテントのパースやバックグラウンドでテキストのアトリビュートをアップデートするための、シンプルなコールバックAPIを提供
Additional text editing events
アプリケーションのUIの変更が発生するような「Primary Language Change」「Base Writing Direction Change」などエキストライベントの提供
Safe event handling for text input
実は実装が難しい、ユーザーインターフェイスのアップデートやテキストのフィルタリングを行える安全なタイミングでのイベントコールバックの提供
Support for recent versions of iOS
iOS 11.0以後すべてのiOSで利用可能
Twitter Text Editorは、SwiftとObjective-Cによるサンプルアプリケーションもバンドルされています。
あわせて読みたい
Webアプリがジョイコンなどに対応する「WebHID」、NFCタグを読み書きする「Web NFC」、シリアルポートで通信する「Web Serial」など、Chrome 89ベータではデフォルトで有効に
≪前の記事
Amazon Elastic File Systemの読み取りスループットが3倍に向上、価格は据え置き