Зачастую приложения пишут на тех же языках программирования, что и веб-сайты. Это позволяет брать код уже использованный для веба, и адаптировать его для операционных систем Linux, Android, Windows и macOS. Однако Apple нацелена на уникализацию собственной платформы и намерена наполнят ее эксклюзивными, а не универсальными приложениями.
Теперь App Store начинает отклонять приложения, разработанные с использованием Electron, даже если они были одобрены ранее. Electron дает возможность создавать приложения на веб-коде. С его помощью были написаны Slack, Spotify, Discord и WhatsApp, которые теперь могут быть отклонены App Store.
Часть разработчиков в обсуждении на Github уже поделилась тем, что их ранее одобренные продукты получили отказы. В пояснении было сказано, что приложения «скрывают использование приватных API». Фактически Apple всегда не одобряла использование API-интерфейсов, разработанных для внутреннего пользования Apple. Использование их для приложений открытого доступа нежелательно, так как они могут ломаться со временем.
Однако ранее Electron тоже использовал приватные API, но проблем в связи с этим не возникало. Отказы стали приходить только с изменением политики компании. В то же время отказаться от приватных API-интерфейсов достаточно сложно, так как предложенные компанией альтернативы не могут удовлетворить запросы разработчиков.
Теперь создатели приложений, не одобренных App Store, будут вынуждены распространять их с собственных сайтов - или вовсе отказаться от работы для этой платформы. Ранее в iOS Apple уже была запрещена установка иных браузеров, кроме собственного Safari. Таким образом, на доступ к вебу монополия у Apple уже есть. Кроме того, некоторые инструменты, прекрасно работающие на других платформах, не функционируют на iPhone и iPad, либо их работа так нестабильна, что использование превращается в пытку.
WebRTC, прекрасно работая в инструментах практически любых браузеров, в Safari работать отказывается. Учитывая, что другие браузеры пользователям Phone и iPad недоступны, не смогут они и использовать и эту технологию, дающую возможность совершать видеовызов через веб-браузер. Причина нестабильности WebRTC в Safari - отказ от внедрения спецификации в полном объеме. Progressive Web Apps - также инструмент для создания приложений, во многом напоминающий Electron. Он прекрасно работает в Firefox и Chrome, но не в Safari. Также и все приложения, созданные с его помощью, в этом браузере работать не будут.
Компания сознательно идет к тому,чтобы стабильно работали в iPad только приложения, созданные специально под них. Однако разработчикам это не выгодно. Выпускать продукты специально под разные платформы, отдельно каждую обслуживать и выпускать обновления - это невероятно дорого и долго. Поэтому разработчики постоянно находятся в поиске кроссплатформенных решений - которые Apple игнорирует или блокирует. Собственные же разработки компании направлены исключительно на уникализацию приложений.
Разумеется, у создателей приложений находятся способы обойти ограничения. Появляются новые инструменты для создания кроссплатформенных продуктов. Такие, каким стал Electron. Сейчас созданные при его помощи приложения отклоняются, но разработчики найдут новый выход. Пока и его не заблокирует Apple. Бороться с такой монополией очень сложно, ведь битва идет полностью на территории компании: ей принадлежат и платформа, и браузер, и метод распространения. Законодательно же прекратить такую монополию и вовсе не представляется возможным.