Twitter анонсировал сегодня новый «автономный, гибкий» API с открытым исходным кодом, который реализует текстовый редактор для iOS-приложений и который уже используется в качестве основы для редактора Fleet в приложении Twitter для iOS.
Компания заявляет, что знает, насколько сложным может быть внедрение простого текстового редактора в приложения для iOS, поэтому Twitter теперь делает собственный API текстового редактора доступным для всех.
Согласно Twitter, новый Text Editor API решает общие проблемы, связанные с подсветкой синтаксиса и фильтрацией текстового содержимого. Компания утверждает, что Apple предлагает разработчикам несколько API-интерфейсов для редактирования текста, но они могут быть очень ограниченными или слишком сложными для понимания — именно это и призван решить новый API-интерфейс Twitter.
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
Высокоуровневые API не всегда предлагают достаточного функционала или контроля для создания действительно удобных приложений. Между тем низкоуровневые API требуют больших знаний о том, как редактирование текста работает на различных языках, включая поддержку двунаправленных языков, альтернативных методов ввода (например, используемых для языков Восточной Азии) и вспомогательных технологий, таких как клавиатуры Брайля.
Разработчики в Text Editor API найдут надежную логику обновления текстовых атрибутов, дополнительные события редактирования текста, безопасную обработку событий ввода текста и поддержку последних версий iOS. Он реализован в виде пакета Swift, который можно легко добавить в проект Xcode, а кроме того в виде пакета CocoaPods.
Текстовый редактор Twitter инкапсулирует UITextView и предоставляет знакомые API на основе делегатов, как и многие распространенные UIKit API. Он расширяет LayoutManager и TextStorage для предоставления настраиваемых текстовых атрибутов, включая атрибуты для представления настраиваемых эмодзи. В текстовом редакторе Twitter есть планировщики событий для обработки событий, обеспечивающие согласованный порядок обратного вызова делегатов для вашего кода.
Новый Twitter Text Editor API от Twitter можно бесплатно скачать на GitHub. Он работает с iOS 11 или новее и требует для разработки Xcode 11 или новее.