{"id":13769,"url":"\/distributions\/13769\/click?bit=1&hash=da8fb7cc928af0f74956a7c9d4d30384837351ecc8be71e7d0f51354b931e8e1","title":"\u0412\u0438\u0434\u0435\u043e\u0441\u0435\u0440\u0432\u0438\u0441 \u0441 \u0448\u0443\u043c\u043e\u043f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0451\u043d\u0449\u0438\u043a\u043e\u0432","buttonText":"\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e","imageUuid":"5b23fe7d-371f-5bf1-a2e9-132c9db027ed","isPaidAndBannersEnabled":false}

Apple до сих пор обновляет свои приложения вместе с системой — возможно, чтобы обойти антимонопольные ограничения Статьи редакции

Пользователи при этом обновляться не спешат: во-первых, не хотят перезагружать устройство, а во-вторых, боятся, что всё начнёт глючить, пишет UX-менеджер и колумнист Оуэн Уильямс.

Apple всегда позиционировала iPhone как самый безопасный смартфон на рынке. Однако это не помешало израильской компании NSO Group «взломать» телефоны более сотни публичных лиц.

В таких случаях Apple быстро устраняет ошибки и обновляет ПО, но недостаток кроется в том, как именно она это делает, пишет Уильямс.

Сторонние приложения компания позволяет обновить через App Store. А свои — только вместе со всей операционной системой iOS, для обновления которой требуется перезагрузить телефон.

В 2021 году такой подход кажется несколько устаревшим. Тот же Slack не просит перезагрузить компьютер, когда внедряет новые функции или механизмы защиты.

Думаю, поэтому многие пользователи iPhone обновляют прошивку, лишь когда устают жать на кнопку «Обновить позже».

Оуэн Уильямс

Google, в отличие от Apple, использует модульный подход: она позволяет обновить системные программы без установки новых версий Android. Так, если компания внесла правки в мессенджер, то обновить его предлагает как любые другие «покупки» — через Play Store.

Благодаря модульному подходу Google быстро устраняет уязвимости и расширяет функциональность, не требуя при этом обновлять систему и перезагружать устройство.

Иногда клиент даже не знает, что компания исправила в фоновом режиме, пишет Уильямс.

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

Первая причина — так Apple обходит антимонопольный закон

Apple не раз обвиняли в подрыве честной конкуренции:

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

По закону власти могут запретить Apple также предустанавливать свои сервисы вроде Apple Music и Safari, чтобы компания не могла заранее повлиять на выбор пользователя и все доступные на iPhone приложения работали в равных условиях.

Поэтому компания мотивирует предустановку собственных сервисов необходимостью.

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

Оуэн Уильямс

Если бы приложения можно было обновить отдельно, власти заявили бы, что делать это нужно через App Store — как в случае со сторонними приложениями.

Вторая причина — так Apple стимулирует продажи

Масштабные обновления для iOS и приложений компания нередко выпускает вместе с новыми моделями iPhone, чтобы «эффектной» презентацией побудить пользователей к покупке. Например, в iOS 14 Apple разрешила пользователям iMessage отвечать на конкретные сообщения и создавать ветки обсуждений.

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

Компания не отказывается от «устаревшего» подхода, но на месте не стоит, пишет UX-менеджер. Так, за последние годы Apple уменьшила размер новых версий iOS.

Ещё в 2014 году обновление iOS 8 требовало 5,7 ГБ памяти, которых у многих пользователей попросту не было: в самых доступных моделях было свободно всего 8 ГБ. Июльское обновление iOS 14.7 теперь весит всего 900 МБ.

Правда, переход к модульным обновлениям дал бы Apple новые преимущества, полагает Уильямс:

  • Компания могла бы быстрее устранять лазейки в системе безопасности.
  • А пользователи бы меньше боялись, что очередное обновление нарушит работу устройства, ведь функции появлялись бы постепенно, а не все сразу.
0
8 комментариев
Написать комментарий...
true iBegginer

Как правило новые версии системных приложений используют новые версии системных библиотек. А системные библиотеки как раз и живут в дистрибутиве (i/mac/tv/watch/home)OS.

Ответить
Развернуть ветку
Умный лолипоп

Вот только этой проблемы нет на macOS (хотя сафари все еще требует перезагрузки). И нет нигде, кроме семейства iOS.

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

Ответить
Развернуть ветку
true iBegginer
 Вот только этой проблемы нет на macOS (хотя сафари все еще требует перезагрузки). И нет нигде, кроме семейства iOS.

Зато macOS дырявее. Сафари вроде только просит быть закрытым.

 Это решение скорее менеджерское,

или грамотных людей.
можно сделать decoupling, но есть большой риск получить dll-hell, когда каждый апп будет тянуть с собой свои версии либ. На ведре в каждом аппе живут свои firebase jar-ы. 

 выхода прошивки, причем пропустить несколько минорных версий,

вот тут отчасти менеджерская, но 

WebAssembly живет в WebKit, который использует Safari и в WebView. А мы помним когда недавно у Google вышел кривой WebView на базе Хрома.

Имхо, правильного ответа тут нет. 

Ответить
Развернуть ветку
Умный лолипоп
Зато macOS дырявее. 

Любая большая база кода содержит ошибки, в том числе в безопасности. Чем сложнее доставить пользователю исправление - тем хуже.

dll-hell, когда каждый апп будет тянуть с собой свои версии либ

DLL hell не совсем об этом :-) А "вендоринг" зависимостей - это реальность современного мира. В мире GNU/Linux делают вид, что это не так, но Debian как-то обновил fontconfig и сломал этим лису: https://bugzilla.mozilla.org/show_bug.cgi?id=1633467.

firebase

Firebase - не системная библиотека. Она даже не очень first party. Любое приложение на iOS будет иметь свою копию подобных библиотек.

Во времена первых версий Swift в каждый бинарник клался вообще весь рантайм языка и все использованные библиотеки. Из-за этого под часы приходилось писать на Obj-C - сильно меньше размер доставки, сильно меньше требуется памяти, сильно быстрее работает. Изменилось это аж в Swift 5, почему-то до этого у Apple не было проблем с этим :-) А вот обновить iMessage - это не, вы что, как так можно.

Кстати, если смотреть на системные библиотеки - то как раз Apple очень любит депрекейтить и удалять API и порождать адище в коде. А о эротических наслаждениях, которые они в свое время давали обновлениями libc++, я буду внукам рассказывать. Вышел мажорный апдейт прошивки? Бегом пересобирать приложение, а потом в очередь на ревью, состоящую из таких же счастливчиков. 

вышел кривой WebView на базе Хрома

Фикс был в течении нескольких часов, обновление прошивки потребовало бы куда больше времени.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Сергей Jemia

с точки зрения удобства поддержки - подход яблока  рационален

Ответить
Развернуть ветку
passer2003

Эпл - гавно

Ответить
Развернуть ветку
Читать все 8 комментариев
null