iOS 9: новая веха в истории мобильных приложений

12

best-ios-apps

Недавно мы писали о том, как Apple собирается раз и навсегда изменить представление о поиске информации. Тогда речь шла о новом Spotlight, одном из ключевых нововведений iOS 9, призванному сделать её более независимой от главного конкурента Купертино — Google. Однако на WWDC 2015 было продемонстрированы и другие, не менее интересные новинки, о которых хотелось бы поговорить подробнее.

Уже давно приложения iOS позволяют открывать ссылки самостоятельно, не требуя для этого фирменного Safari. Достаточно нажать на ссылку в клиенте для социальной сети или агрегаторе новостей — и встроенный браузер отобразит содержимое страницы. За время существования этой функции она успела превратиться в некое подобие стандарта, однако удобство её оставляет желать лучшего. Например, в таких браузерах приходится заново вводить пароли, отсутствует форматирование под небольшие экраны, всяческие режимы чтения и тому подобные привычные сегодня вещи. Корпорация Apple осознаёт проблему и предлагает интересный способ её решения, который обещает ни мало ни много сравнять возможности Safari и мини-браузеров сторонних приложений. Всё, что требуется от разработчика — желание использовать новый инструментарий. Но сначала совершим небольшой экскурс в прошлое.

Приложения всех стран, соединяйтесь

На протяжении всей истории iOS программная и веб-составляющая пытались как-то уживаться между собой. С самого появления магазина App Store в 2008 году Apple разрешает программистам отображать веб-содержимое внутри своих приложений, и в большинстве случаев это происходит посредством простого API под названием UIWebViews. Минуя Safari, разработчики могут расширять функциональность своих продуктов при помощи веб-технологий, благодаря чему пользователям не требуется переключаться между программой и браузером. Кроме того, авторы нередко добавляют собственные функции, например, кнопки соцсетей или фотохостингов.

С выходом версии 4.3 в 2011 году на iOS пришёл движок Nitro, основанный на технологии JavaScript и позволивший значительно повысить скорость отрисовки “сложных” сайтов. К сожалению для сторонних разработчиков, сфера применения новинки ограничивалась Safari, что было воспринято многими энтузиастами как навязывание стандартного приложения. Другого мнения придерживался известный блогер Джон Грубер: на его взгляд, такой шаг Apple был обусловлен самой основой Nitro. Дело в том, что движок описывал сохранённые в оперативной памяти страницы как исполняемые элементы, а эта функция была недоступна для стороннего ПО из соображений безопасности. Сделав Nitro “эксклюзивом” Safari, производитель убил двух зайцев, повысив качество веб-сёрфинга и сохранив при этом полный контроль над происходящим. Как бы там ни было, большинство сторонних решений хотя и превосходили решение от Apple в количестве нужных и не очень опций, но обычно проигрывали ему в удобстве и стабильности работы.

Побочные эффекты проявились не сразу. В течение трёх последующих лет стало очевидным неравенство встроенного браузера и загружаемых из App Store приложений по простой причине: последние работали как и раньше, а вот Safari значительно прибавил в скорости. С ростом популярности сторонних программ разница стала доставлять неудобства пользователям, проводившим всё больше времени в различных приложениях, и на прошлогодней WWDC Apple представила WKWebView — новый API, призванный обеспечить разработчиками сравнимую с Safari производительность. По сути дела, новинка основывалась на том же Nitro, а среди её функций числились встроенная поддержка жестов и прокрутка страниц в режиме 60 кадров в секунду. Программистам понравилась идея, и вскоре многие из них обновили свои приложения, задействовав новый интерфейс. WKWbView даже назвали “краеугольным камнем” современного WebKit, API, с помощью которого отображается веб-содержимое на iOS.

app-web-views-ios

Впрочем, проблема не была решена полностью. Из всё тех же соображений безопасности “за бортом” осталось автозаполнение форм и доступ к “Связке ключей”, что по-прежнему заставляло пользователей время от времени вручную переходить к привычному браузеру. Кроме того, сам интерфейс Safari выглядит банально продуманнее и аккуратнее, чем многие встроенные в приложения инструменты — например, большинство из них не отображают даже адрес веб-сайта. При отсутствии отдельной кнопки здесь не удастся и скопировать ссылку. В общем и целом мини-браузеры, невзирая на эволюционные улучшения, всё равно остаются компромиссными решениями, или как принято говорить в среде ПК — своеобразными “костылями”.

У пользователей нет доступа к собственным cookies, а вводимая в веб-формы информация может быть доступна разработчикам приложения, которым далеко не всегда можно доверять — сетует Брайн Айрис, один из инженеров в команде сервиса Tumblr.

Изменить положение дел к лучшему призвана iOS 9, в которой Apple предлагает простой выход из ситуации под названием Safari View Controller. Давайте посмотрим, что же он из себя представляет.

Safari, настало твоё время

safari-view-ontroller

По большому счёту, нововведение позволяет разработчикам полностью избавиться от необходимости использовать встроенные браузеры. Этот компонент позволяет приложениям напрямую и безопасно передавать показываемый контент самому Safari, а его интерфейс выглядит почти идентично окну браузера. Фактически, по нажатию на ссылку в оснащённой поддержкой View Controller программе пользователь получает обычное окно с привычными кнопками и адресной строкой. Визуальных различий здесь два: сама строка будет выделена серым, а на панели инструментов появляется кнопка Safari, которая позволит перейти к браузеру в традиционном режиме.

Любопытно, что только лишь комфортной работой со страницами преимущества новинки не исчерпываются. В последнее время Apple активно идёт навстречу разработчикам, и View Controller не стал исключением. Каким образом? Элементарно — переложив всё на могучие плечи имеющегося на всех iOS-устройствах Safari, программисты могут сосредоточиться на “оригинальной части” приложения, уделяя больше внимания его функциям и стабильности. Некоторые специалисты, посетившие семинар по View Controller на конференции WWDC, уже оценили плюсы технологии. Так, по словам Тобиаса Тимердинга из компании 2T App Develompent, упразднение необходимости написания своего браузера уменьшает количество возможных сбоев в приложениях, и что немаловажно, придаёт всем им унифицированный в системном стиле вид.

В то же время Купертино традиционно печётся о конфиденциальности пользовательских данных. Для этого View Controller исполняется в отдельном процессе, который не передаёт основному приложению ни адреса URL, ни историю переходов по страницам. Благодаря этому информация попросту не выходит за пределы Safari — разительный контраст с открытыми ОС, где в стремлении угодить всем и вся разработчики порой забывают об элементарных мерах предосторожности. Следствием такого подхода является доступ View Controller к “секретам” Safari, таким как cookies, сохранённые пароли и номера кредитных карт, что исключает необходимость повторной авторизации. Просто и элегантно — при переходе по ссылке последняя будет произведена автоматически, и пользователю не придётся доверять свои данные сомнительному стороннему приложению. А теперь представьте, насколько проще станет пользоваться такими сервисами, как соцсети или интернет-магазины. Даже если вы работаете в стороннем приложении, лишние телодвижения будут сведены к минимуму.

view-controller-autofill

reader-mode

View Controller будут доступны также данные автозаполнения и режим чтения, значительно упрощающий чтение неоптимизированных для мобильных браузеров страниц. Не знаю, как дорогих читателей, но вашего покорного слугу последняя новость однозначно радует, о чём я уже говорил в предыдущем материале о новинках «под капотом» iOS. Ещё бы: ридеры RSS избавятся от “кастрированного” режима, при котором приходится всматриваться в микроскопический текст, либо же увеличивать каждые несколько строк по отдельности. Согласитесь, и то, и другое — удовольствие серьёзно ниже среднего. Но и это ещё не всё. В продолжение темы безопасности View Controller оснащается детектором фишинговых (поддельных) страниц, и самое главное — поддержкой расширений для блокировки содержимого. То есть, если навязчивые баннеры отсекаются в Safari, то же самое произойдёт и на страницах внутри приложения. Разумеется, функцию можно будет отключить в настройках.

Закон подлости

Несмотря на очевидные преимущества и энтузиазм разработчиков, у нового инструмента купертиновцев имеются и свои спорные моменты. Например, некоторые приложения могут похвастаться весьма продвинутым набором функций, реализованных во встроенных браузерах, и переход к проприетарному решению от Apple может нанести серьёзный урон их индивидуальности. К таким программам относится, например, отличный RSS-ридер Unread. Мини-браузер этого приложения оснащён широкими возможностями кастомизации и распознавания жестов, что ставит авторов перед нелёгким выбором.

Переходить или не переходить на View Controller — вот в чём в вопрос, — говорит один из руководителей Supertop, компании-разработчика Unread. — Нам нужно решить, стоит ли жертвовать удачной реализацией ради гибкости системного решения.

Беспокоят программистов и другие нюансы. Эндрю Милхэм, автор популярного “подарочного” приложения GiftPlanner, опасается, что View Controller не поможет Apple достичь задуманного из-за отсутствия настраиваемого интерфейса и “кастомных” действий. К примеру, в его продукте пользователь может выбрать изображение с веб-сайта в качестве превью для подарка, что станет невозможным при использовании View Controller. Впрочем, ограниченная кастомизация, которую многие называли чуть ли не роковой ошибкой, отнюдь не мешает популярности iOS, а наметившаяся в последнее время тенденция демонстрирует, что Apple умеет балансировать на двух стульях и постепенно добавляет недостающие функции по мере появления возможности не нарушать при этом общей концепции системы и не затрагивать её традиционно сильных сторон. Тот же Милхэм отмечает, что преимущества View Controller значительно превосходят его недостатки и собирается внедрять поддержку инструмента уже с выходом iOS 9.

Сложившуюся ситуацию понимают и в Apple: компания рекомендует разработчикам, нуждающимся в большом количестве специальных элементов, придерживаться традиционного подхода. Вероятно, даже после того, как новая технология распространится в среде программистов, некоторые “тяжеловесы” будут работать “по-старинке”, встраивая собственные мини-браузеры. Во всяком случае, пока View Controller, который, по сути, является пробой пера, не обрастёт требуемой функциональностью.

heavy-weighters

Существует и ещё одна категория разработчиков, которым нововведения Apple могут быть не с руки. Клиенты Twitter и Facebook, одни из самых популярных приложений в App Store, не используют стандартные возможности “шаринга” iOS, затрудняя сохранение изображений или ссылок на посты в конкурирующие сервисы. Не понравится новая концепция и поисковым компаниям вроде Google, ведь View Controller изолирует отображаемый контент, не позволяя приложению собирать информацию об активности пользователя. Уверен, нынешнее поведение программ только раздражает “юзеров”, и если сервисам придётся влиться в общий поток и перейти на универсальную модель, большая часть аудитории будет это одобрять. Например, для того же Facebook это означает потерю возможности отслеживать переходы по ссылкам с целью показывать надоевшую всем рекламу, а Google не сможет следить за перемещениями пользователя Gmail. И кто-то ещё сомневается в серьёзном подходе Apple к конфиденциальности?

twitter-facebook-sharing

Самим пользователям, впрочем, ещё предстоит привыкнуть к удобству и безопасности сёрфинга внутри приложений. Из-за незначительных отличий в интерфейсах неопытные владельцы iOS-устройств могут “запутаться” на первых порах. Во всяком случае, появление автозаполнения паролей и кредитных карт явно их насторожит.

Для обычного пользователя отнюдь не очевидно, что вместо кастомного браузера используется Safari, — говорит один из разработчиков ПО Хви-Бун Яр. — Это похоже на запрос пароля Apple ID. Как пользователю понять, что перед ним системное сообщение?

«На закуску» можно предположить, что возможность загрузки файлов с веб-страниц посредством встроенного менеджера вряд ли появится в Safari View Controller сразу после выхода. Скорее всего, Apple рассмотрит добавление этой опции, но в какой срок — сказать сложно. Это отпугнёт от неё авторов приложений для скачивания файлов, ведь без полноценного управления загрузками нововведение становится для них бесполезным.

В сухом остатке легко проследить стремление Apple к улучшению приватности, производительности, а также некой “однородности” как приложений, так и самой платформы с минимальным ущербом для каждой из сторон, и Safari View Controller можно назвать воплощением этой стратегии.

Большинство из нас — не специалисты по браузерам, — говорит разработчик Брайан Донахью. Думаю, каждый, кто работает с iOS, оценит новинку по достоинству.

Безусловно, у решения имеются некоторые “детские болезни”, свойственные новым инструментам, однако эти проблемы обычно решаются со временем, а некоторые нюансы попросту входят в привычку. Очевидно здесь одно: при помощи View Controller Apple серьёзно упрощает жизнь тому самому большинству как разработчиков, многие из которых давно хотели чего-то подобного, так и пользователей, заждавшихся перемен в привычной ежедневной работе. Если первым не придётся создавать собственный браузер “с нуля”, то последним — пожинать плоды подобной самодеятельности. Если верить разработчикам, уже к концу этого года функция получит широкое распространение, и можно надеяться, что в совокупности с новым Spotlight пользовательский опыт iOS серьёзно изменится. Разумеется, к лучшему.

По материалам Macstories

12 комментариев

  1. 0
    maksim.smetanin49@gmail.com

    А beta iOS 9 вышла или нет?(отправлено из приложения AppleInsider.ru)

  2. 0

    Нет(отправлено из приложения AppleInsider.ru)

  3. 0

    Наверное только завтра(отправлено из приложения AppleInsider.ru)

  4. 0

    Завтра уже середина недели(отправлено из приложения AppleInsider.ru)

  5. 0
    AdventurerTVRussia

    Disk(отправлено из приложения AppleInsider.ru)

  6. 0
    tema_tipson

    Ура, наконец то можно будет забыть про ввод паролей… И кнопка чтения, как же мне этого не хватало!)(отправлено из приложения AppleInsider.ru)

  7. 0

    Когда iOS 9 beta 3?!(отправлено из приложения AppleInsider.ru)

  8. 0

    Арсик, не знаю, сам в ожидании(отправлено из приложения AppleInsider.ru)

  9. 0
    AdventurerTVRussia

    Ну наконец-то все как у людей будет, а то эта приват страница бесила в приложениях. Да и не хотелось чтобы все время открывался полноценный браузер. Вот вам и пароли, вот вам и мини браузер поверх приложения. А Гугл с Фейсбуком побугуртят что личная информация им не достается на iOS, и успокоятся(отправлено из приложения AppleInsider.ru)

  10. 0
    Heisenberg26

    Когда ios 9 public beta?(отправлено из приложения AppleInsider.ru)

Авторизуйтесь Чтобы оставить комментарий