В отличие от браузера Safari для OS X El Capitan, выход обновленного Safari для iOS 9 особо не афишировался, но это не означает, что браузер не получил новые возможности.
С выходом iOS 9 владельцы мобильных устройств могут больше не беспокоиться о навязчивых рекламных объявлениях, которые появляются из ниоткуда во время серфинга в Интернете. Теперь браузер Safari в iOS 9 способен блокировать нежелательный контент, «освобождая» веб-страницы от рекламы.
Еще одним нововведением стал Safari View Controller — программный компонент, позволяющий разработчикам интегрировать в свои приложения полноценный Safari, таким образом, Safari View Controller избавит разработчиков от необходимости писать собственные мини-браузеры.
А теперь об этом и другом подробнее…
Web View
Apple известна своей приверженностью к обеспечению безопасности пользовательских данных, поэтому взаимоотношения приложений c веб-контентом в iOS всегда были сложными. Изначально, когда в 2008 году появился App Store, а iOS еще носила название iPhone OS, разработчики имели возможность отображать веб-контент в своих приложениях. Это было возможно благодаря API UIWebView и было весьма примитивно. Из-за различных ограничений и невозможности использовать пользовательские данные из Safari многие разработчики были вынуждены создавать свои собственные мини-браузеры, которые они оснащали минимально необходимой функциональностью, чтобы удовлетворить потребности пользователей.
С выходом iOS 4.3 в 2011 году, Apple представила JavaScript-движок Nitro, который значительно добавил производительности Safari и увеличил скорость открытия браузером сложных страниц. Nitro был доступен эксклюзивно для Safari, поэтому сторонние браузеры с точки зрения данного улучшения остались за бортом. Это было вполне логично, так как новый движок мог работать со страницами и исполняемыми файлами, загруженными в оперативную память, а для сторонних приложений эта возможность была недоступна из соображений безопасности.
Подобные мучения для разработчиков — и, что не менее важно, для пользователей — длились вплоть до 2014 года, пока Apple не представила новый API WKWebView. WKWebView позволял встроенным браузерам использовать все преимущества Nitro, включая плавную прокрутку и жесты.
Новый API был по-настоящему значимым нововведением, а десятки тысяч разработчиков сразу же обновили свои приложения, с целью воспользоваться всеми его преимуществами. Однако несмотря на все улучшения, большинству встроенных браузеров очень далеко до той функциональности, которую Apple создала в Safari за многие годы. Из-за ограничений безопасности одной из главных проблем оставалось отсутствие поддержки «Связки ключей iCloud» и, как следствие, автозаполнения паролей и других данных. Пользователям приходилось переключаться в Safari, что было совсем неудобно.
Разработчик из Homegrown Software Алекс Прайс, однако, указывает на преимущества перенаправления из приложений в Safari. По мнению разработчика, различный интерфейс сторонних браузеров и отсутствие в части из них отображения URL посещаемой страницы может стать проблемой фишинга пользовательских данных.
Ортвин Генц из FutureTap обращает внимание на другие недостатки интерфейса: не во всех встроенных браузерах есть хороший индикатор загрузки и безопасного соединения. Разработчик Tumblr Брайан Ирэс подтверждает общее мнение, что мини-браузеры в приложениях — это всегда компромисс. С одной стороны, пользователям удобно открывать ссылки не покидая приложения, но с другой — они жертвуют отсутствием cookies и подвергают себя опасности, вводя личную информацию на страницах, отображением которых управляют третьи лица.
Safari View Controller
В iOS 9 Apple представила Safari View Controller — программный компонент, позволяющий разработчикам интегрировать в свои приложения полноценный Safari, таким образом Safari View Controller теперь избавит разработчиков от необходимости писать собственные мини-браузеры.
Safari View Controller очень похож на Safari, поэтому при открытии ссылки в приложении пользователь увидит страницу Safari со знакомым интерфейсом. Между Safari View Controller и браузером Safari существует только два визуальных различия: серый цвет адресной строки (который указывает на режим «только чтение») и характерная иконка Safari на нижней панели (позволяющая, в случае необходимости, переключиться на полноценную версию браузера).
С помощью Safari View Controller Apple значительно облегчила жизнь разработчикам, сэкономив их время, но в то же время компания не прекращает заботиться и о безопасности пользователей.
Благодаря тому, что открытие страниц происходит в отдельном процессе, не связанном с приложением, последнее не видит URL и перемещений по сайтам. Это не только обеспечивает сохранность пользовательских данных, которые всегда находятся в Safari и не передаются в сторонние приложения, но и позволяет Safari View Controller использовать другие преимущества, как, например, cookies. То есть если пользователь «залогинился» на каком-нибудь сайте в Safari, то при его открытии в стороннем приложении через Safari View Controller ему не нужно будет вводить пароль.
Однако это еще не все. Apple сделала возможным использование «Связки ключей iCloud», заполнение данных контакта и кредитных карт, а также добавила режим чтения Safari и функцию «Поделиться». Safari View Controller способен определять попытки фишинга и отображать различные ошибки веб-страниц, а также поддерживает функцию блокировки нежелательного контента, о которой мы поговорим в следующем разделе этого обзора.
По мнению разработчика Брайана Ирэса, Safari View Controller быстро может стать стандартом для просмотра веб-контента в сторонних приложениях и пользователи будут отдавать предпочтение именно таким продуктам. «Не вижу причин для большинства разработчиков отказываться от внедрения Safari View Controller, — говорит он. — В будущем приложения со встроенными браузерами будут выглядеть архаичными».
Ведущий разработчик Instapaper, Брайан Донахью, уже заменил встроенный браузер Instapaper на Safari View Controller. «Мини-браузер позволял пользователям просматривать полные версии статей в приложении, однако он имел много ограничений. Теперь с Safari View Controller Instapaper может предложить пользователям родную функциональность Safari, а это не может не радовать», — отмечает Донахью.
Для разработчика iOS-клиента для Git Working Copy, Андерса Борума, ключевым преимуществом Safari View Controller является возможность использовать «Связку ключей iCloud» и не переключаться в Safari, проводя все операции прямо в приложении. Как и многие другие сторонние приложения, Working Copy требует авторизации пользователей на сервисах, пароль от которых сохранен в iCloud и вводится через автозаполнение. Один только этот факт уже является веской причиной для внедрения Safari View Controller, считает Борум.
Мнение Андерса Борума полностью поддерживает создатель Easy Shopping List и нескольких других iOS-приложений Джефф Хэкуорт. «Safari View Controller стоит использовать даже для самых простых нужд, — говорит он. Пользователям будет знаком интерфейс, опции шаринга, а также доступны удобные фишки вроде автоскрытия панелей инструментов и навигации».
Мнения этих людей разделяют и другие опытные разработчики, аргументируя его тем, что с Safari View Controller они легко получат то, к чему всегда стремились — пользователи смогут просматривать веб-контент, не покидая их приложений. Единственная причина, по которой люди переходят в Safari для просмотра тех или иных ссылок, — это ограничения и неудобство встроенных в сторонние приложения браузеров. Теперь все это останется в прошлом.
Блокировка контента
В iOS 9 Apple добавила функцию блокировки веб-контента. Она позволит пользователям устанавливать расширения, которые будут блокировать рекламу и другой нежелательный контент в Safari на всех уровнях системы.
Механизм блокировки действует таким образом, что входящий контент блокируется еще до его загрузки. Используя список сайтов и скрипты, блокировщик обрабатывает их на системном уровне, а не просто дает команду браузеру заблокировать их на странице, благодаря чему значительно повышается скорость загрузки данных.
Если кто-то из Вас думаем, что больше всего времени и трафика Safari тратит на загрузку рекламных баннеров, Вы ошибаетесь, так как кроме них есть еще так называемые сторонние трекеры, собирающие различные данные о посетителях сайтов для последующего их использования в рекламных целях. Эти трекеры также значительно увеличивают время загрузки веб-страниц.
В iOS 9 Apple реализовала блокировку контента с помощью нового типа приложений — специально предназначенных для этого расширений, которые включаются в настройках Safari. Одним из таких расширений является Crystal от независимого разработчика Дина Мерфи. Он обещает увеличение скорости загрузки страниц в Safari, которое особенно заметно при подключении по сотовой сети.
Блокировщики контента затрагивают работу Safari на всех уровнях системы, включая новый компонент Safari View Controller, а это значит, что реклама и нежелательный контент помимо самого браузера будет блокироваться также в сторонних приложениях, благодаря чему ссылки в Twitter или Facebook смогут открываться намного быстрее.
Расширения для блокировки рекламы в браузерах настольных систем в последнее время становятся очень популярны, а количество применяющих их пользователей постоянно растет. Благодаря функции блокировки рекламы в iOS 9 не только увеличилась скорость загрузки страниц по сотовой сети, но и улучшилась энергоэффективность, а расход трафика при этом значительно уменьшился.
Расширение может помочь избежать лишних трат пользователям, находящимся в роуминге, блокирую «тяжелое» содержание страниц.
Если с включенной функцией блокировки контента страницы загружаются не полностью или с ошибками, и Вы хотите увидеть полное содержимое сайта, просто нажмите кнопку «обновить» справа от адресной строки браузера, предварительно отключив расширение блокировки, или, если потребуется, перезагрузите браузер.
Функция блокировки контента работает не на каждом устройстве. Из-за достаточно высокого акцента на производительность, Apple решили сделать функцию доступной только на устройствах с 64-разрядным процессором. Сюда входят устройства, выпущенные в 2013 году и позже, с процессором Apple A7 и новее. А именно:
• iPhone 6s Plus
• iPhone 6s
• iPhone 6 Plus
• iPhone 6
• iPhone 5s
• iPad Air 2
• iPad Air
• iPad mini 3
• iPad mini 2
• iPod touch 6
Когда функция блокировки нежелательного контента включена, браузер Safari просто «летает», так что главной причиной низкой производительности мобильных браузеров является именно нежелательный контент, перегружающий систему.
Разница в скорости загрузки, особенно, если рассматривать большие сайты, просто огромна. Это, все равно, что отсоединить от небольшой легковушки прицеп, наполненный свинцом и увидеть разницу, с которой она поедет «на легке».
Больше возможностей
В новой версии браузера Safari многое изменилось. Теперь адресная строка браузера позволяет подключить «интеллект» Siriи предлагает Вам гораздо больше функций.
Safari Reader также имеет несколько новых опций, включая новые темы (белая, серая и черная), а также новые шрифты (Athelas, Chartier, Georgia, Iowan, Palatino, San Francisco — новый системный шрифт Apple, Seravek, и Times New Roman).
Эти нововведения отлично зарекомендовали себя при чтении ночью, так как темные цвета оформления меньше влияют на глаза при чтении в темное время суток, чем белые.
Начиная с iOS 6, браузер Safari получил возможность загружать фотографии или видео прямо с камеры. Теперь, с iOS 9, Вы получите еще больше возможностей. Вы можете загрузить фотографию или видео непосредственно из iCloud Drive, или же загрузить их из любого другого облачного хранилища, включая Dropbox, Google Drive, OneDrive и т.д.
Другие полезные функции браузера Safari:
— Сохранение файла в PDF-формате для последующего открытия через iBooks;
— Новая функция «Найти на странице», позволяющая искать информацию, введя слово для поиска в специальной строке;
— Возможность открыть полную версию сайта (при помощи длительного нажатия на кнопку «обновить»);
— Добавить в «расшаренные ссылки»;
— Добавить в Новости.