Хабрахабр

[Перевод] Как Apple убивает веб технологии

image

Компания сделала чрезвычайно трудным использование веб-технологий на своих платформах, и она надеется, что разработчики стерпят.

Во многом это связано с программным обеспечением, которое позволяет разработчикам «повторно использовать» код, который они пишут для веба, в продуктах, которые они создают для операционных систем, таких как Linux, Android, Windows и macOS. Языки программирования для создания веб-сайтов часто используют и для написания приложений.

Она хочет, чтобы App Store был заполнен эксклюзивными приложениями, а не доступными на каждой платформе. Но у Apple есть причина не любить переиспользование веб-технологий. С недавним изменением политики, компания немного усложнила для разработчиков опубликование приложений, содержащих веб-код.

EDISON Software - web-development
Статья подготовлена при поддержке компании EDISON Software, которая разрабатывает электронную систему медицинского осмотра, а также занимается поддержкой программного обеспечения.

Некоторые из самых популярных приложений в App Store, такие как Slack, Spotify, Discord и WhatsApp, попадают в эту категорию. Потихоньку App Store начал отклонять приложения, созданные с помощью популярного инструмента под названием Electron, который позволяет разработчикам делать все свои приложения на веб-коде.

Использование приватных API для создания общедоступных приложений обычно не одобряется, потому что они могут изменяться или ломаться со временем, и Apple запрещает приложения, которые их используют. В дискуссии на Github, некоторые разработчики говорят, что для их приложений, созданных с использованием Electron — которые были одобрены в прошлом — пришли отказы с объяснением, что эти приложения «пытаются скрыть использование приватных API», которые являются API-интерфейсами, созданными для внутреннего использования Apple, а не для сторонних разработчиков.

Эти приватные API-интерфейсы позволяют разработчикам, например, значительно улучшить энергопотребление, в то время как санкционированные инструменты Apple ухудшают пользовательский опыт. Electron использовал приватные API годами и делал это без проблем. В большинстве этих случаев Apple не предоставляет реальных альтернатив разработчикам, которые хотят получить доступ к этим приватным функциям API.

Теперь маловероятно, что тысячи разработчиков, создавших свои приложения с использованием Electron, смогут выпускать обновления для них, если Electron не выпустит существенное изменение в своей реализации.

Но это означает отказ от таких функций, как механизм автоматического обновления в App Store и синхронизации iCloud. Разработчики могут распространять свои приложения со своих веб-сайтов, предлагая пользователям загружать их напрямую. И этот метод прямого доступа к покупателю может вскоре быть заблокирован, поскольку спорные требования Apple к нотариальному заверению могут потребовать их пересмотра.

В iOS Apple не позволяет полностью независимые сторонние браузеры, требуя от всех приложений использовать свой браузер Safari при рендеринге веб-контента. У Apple есть история задержки прогресса веб-технологий на ее платформах. Это означает, что у Apple есть монополия на то как пользователи iPhone и iPad получат доступ к вебу. Хотя браузеры, такие как Chrome и Opera, доступны в App Store, они должны использовать механизм браузера Safari для рендеринга веб-страниц, а не свои собственные. Чтобы подтолкнуть разработчиков к созданию нативных приложений для iOS, а не к использованию веб-технологий, Apple игнорирует популярные части open web спецификаций, которые реализуют другие браузеры, в свою пользу.

Тонкие антиконкурентные практики Apple не выглядят ужасно изолированно, но вместе они образуют четкую стратегию.

Она работает в таких инструментах, как Google Meet. Например, технология WebRTC позволяет осуществлять видеовызов в веб-браузере без дополнительного программного обеспечения. Но Apple невероятно медленно внедряла спецификацию, оставляя без внимания ключевые функциональные возможности, и эта технология не работала, когда встраивалась в приложения.

У PWA нет такой же проблемы, если пользователи открывают приложения в Chrome или Firefox, но пользователи iPhone и iPad не могут устанавливать сторонние браузеры, что делает технологию на основе PWA обреченной на провал. Apple также помешала появившемуся стандарту под названием Progressive Web Apps (PWA), которая, как и Electron, позволяет разработчикам создавать приложения как для настольных, так и для мобильных устройств — внедряя его таким образом, что он был слишком непоследователен, чтобы на него можно было положиться.

Некоторые утверждают, что это приводит к низкокачественным приложениям, но я бы сказал, что альтернативой является отсутствие приложений вообще или приложений, которые редко обновляются, потому что обслуживание уникальных Windows, Mac и веб-продуктов сложно и дорого. Разработчики используют такие технологии, как Electron и PWA, потому что они обеспечивают более быстрое обновление на разных платформах без множества разных кодовых баз. Apple недавно выпустила конкурирующий фреймворк под названием Catalyst, который позволяет разработчикам приложений для iPad быстро выводить их на macOS — отличный инструмент для разработчиков, ориентированных исключительно на пользователей Apple, но не на тех, кто создает кроссплатформенные приложения.

Теперь, когда App Store не принимает приложения, созданные при помощи Electron, разработчики, вероятно, найдут креативные способы обойти это, но Apple настроена на постоянную игру в кошки-мышки, поскольку она планирует установить больший контроль над тем, какие приложения могут работать на платформе в будущем. Завуалированные антиконкурентные методы Apple не случайные, но образуют четкую стратегию: сделать настолько болезненным создание приложений на основе веб-технологий на платформах Apple, что разработчики не будут думать об этом.

Независимо от вашего мнения о качестве приложений на Electron, выбор важен. Эти типы изменений могут быть сделаны во имя конфиденциальности или безопасности, но реальность такова, что аргумент выглядит слабым, когда у пользователей и разработчиков просто нет выбора, потому что Apple контролирует платформу, механизм браузера и метод распространения.

Контроль Apple над своей экосистемой приложений — это новый тип монополии, который трудно понять законодателям, и с которым нам трудно бороться — потому что просто нет выхода из этих ограничений, когда компания контролирует как метод распространения, так и саму платформу.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть