Как стать автором
Обновить
0.06

Safari

Браузер, разработанный корпорацией Apple

Сначала показывать
Порог рейтинга
Уровень сложности

Почему я как разработчик ненавижу iOS

Время на прочтение3 мин
Количество просмотров68K
С позиции пользователя, iOS — выдающаяся платформа. Возможно, несколько монотонная и жёсткая, но привлекательная и надёжная (в основном).

С позиции разработчика дела обстоят совсем иначе. Работать с iOS (а на самом деле, вообще, с Apple) — всё равно, что пытаться разговаривать с параноидальным роботом, действующим как известный советский пограничник из романа Кафки.
Читать дальше →
Всего голосов 127: ↑97 и ↓30+67
Комментарии422

Судя по всему, лучшие времена браузера Safari позади

Время на прочтение7 мин
Количество просмотров59K


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

Если бы компания Apple была чуть менее амбициозна (что невозможно было представить при Джобсе) и сговорчива, Safari мог так и не появиться на свет. В начале 2000-х годов в компании решили, что любая зависимость от сильных конкурентов мешает развитию. Таким образом, в 2003 году Apple заняла жесткую и бескомпромиссную позицию по отношению к Microsoft, наотрез отказавшись продлевать свой контракт на использование микрософтовского браузера Internet Explorer для Mac OS X. Компания Джобса в тайне от всех создавала собственный интернет-браузер. Работа велась в атмосфере строжайшей секретности.
Читать дальше →
Всего голосов 52: ↑33 и ↓19+14
Комментарии102

Позвольте представить, Shadow DOM API на основе слотов

Время на прочтение9 мин
Количество просмотров12K
Предлагаю вашему вниманию перевод статьи «Introducing Slot-Based Shadow DOM API» автора Ryosuke Niwa, написанную им в блоге WebKit осенью прошлого года.

Мы рады анонсировать что базовая поддержка нового Shadow DOM API на основе слотов, которую мы предлагали в апреле (прим. переводчика: речь идёт об апреле 2015) уже доступна в ночных сборках WebKit после r190680. Shadow DOM это часть Веб Компонентов – набора спецификаций, изначально предложенных Google для того чтобы сделать возможным создание переиспользуемых виджетов и компонентов в вебе. Shadow DOM, в частности, предоставляет легковесную инкапсуляцию DOM дерева, позволяя создавать на элементе параллельное дерево, так называемое «теневое shadow дерево», с помощью которого изменяется отрисовка элемента без изменения DOM. Пользователи такого компонента не смогут ненароком что-то в нём изменить, ведь его shadow дерево не является привычным потомком элемента-хоста. Кроме того, действие стилей также ограничено областью действия (scope), а значит CSS правила, объявленные снаружи shadow дерева не применяются к элементам внутри такого дерева, а правила, объявленные внутри – к элементам снаружи.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии8

Закладка в OS X, продлевающая работу от батарейки для избранных приложений

Время на прочтение3 мин
Количество просмотров37K

Зачем 2 GPU?


Ноутбуки с двумя GPU появились уже очень давно. Первый MacBook Pro с такой технологией вышел еще в 2008 году.

Преимущество двух GPU в гибкости. Когда вам не нужна вся мощь видео системы, вы используете встроенное в процессор видео, наслаждаясь долгой работой от батарейки. Однако если вы захотели развлечься, то к вашим услугам мощный дискретный GPU. Да, он ест батарейку и жужжит вентиляторами, но дает хороший FPS в играх. Как же одному приложению переключать GPU?
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии10

Сайт CrashSafari.com отправляет айфоны в перезагрузку

Время на прочтение2 мин
Количество просмотров41K

Предупреждение: не заходите на этот сайт без подготовки




В последние пару дней в социальных сетях начала распространяться ссылка на сайт CrashSafari.com, который подвешивает браузер Safari и отправляет телефон iPhone в перезагрузку. Этим его вредоносное действие не ограничивается: попытка открыть сайт на десктопе тоже может привести к зависанию системы, например, в браузере Chrome под Windows 7.

Такая же техника перезагрузки браузера действует на сайте CrashChrome.com. В этом случае уязвим браузер Chrome под Windows, Mac, iOS и Android.
Читать дальше →
Всего голосов 18: ↑13 и ↓5+8
Комментарии23

Уведомления на разных платформах, какие они бывают? Бонус на смарт-часах Moto 360

Время на прочтение5 мин
Количество просмотров14K


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

Мы расскажем о том, как выглядят различные типы уведомлений на Chrome, Android, Safari, Firefox, iOS. Какие мы используем, какие можно использовать и не много о том, как оно работает.

Кстати попробовать практически все типы можно на нашем сайте.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии7

Альфа-версия SocketPush — универсальные уведомления для всех браузеров + 3 миллиона бесплатных уведомлений

Время на прочтение2 мин
Количество просмотров7.2K

Мы обнаружили, что ряд браузеров вообще не имеет в своём арсенале встроенный GCM-сервис. Среди них, к примеру, Опера, Вивальди, Firefox. В Safari есть APNS, но мы реализуем работу через него чуть позже.

Также сегодня был яркий пример необходимости этой функции — один из пользователей пожаловался, что у него на работе не работают пуши: ни веб, ни через дополнение. Все дело в том, что у него на работе заблокированы все лишние порты. В нашем случае, сокет работает через проксирующий nginx на 443 порту и не блокируется фильтрами.

Нам необоходимо небольшое нагрузочное тестирование, а также проверить все ли уведомления приходят нужным адресатам. Данные уведомления проверены мною в chrome и firefox. Необходима проверка в edge, ie (хотя сомневаюсь, что будет работать) и конечно safari.

Прежде всего это удобный метод включить уведомления «на время», а потом выключить их закрытием вкладки. В отличии от других способов, данный метод не работает при закрытой вкладке или окне браузера. По поводу включения, и немного о архитектуре — подробнее под катом.
Читать дальше →
Всего голосов 21: ↑14 и ↓7+7
Комментарии5

Расширение для нормального выделения текста внутри ссылки в браузерах

Время на прочтение1 мин
Количество просмотров45K
Во вчерашнем посте про браузер Vivaldi опять всплыла тема нормального выделения текста внутри ссылки, как в старой Опере. Особенно она актуальна для браузеров на WebKit/Blink.

Для многих проблема решается установкой специального расширения для браузера.
Читать дальше →
Всего голосов 62: ↑58 и ↓4+54
Комментарии61

Adobe Flash Player Sandbox Mode доступен для Safari Mac OS X

Время на прочтение1 мин
Количество просмотров5.3K
Adobe сообщают, что специальный защищенный режим sandboxing для проигрывателя Flash Player теперь доступен для браузера Safari на Mac OS X. Такая техника защиты или смягчения (mitigation) от действий эксплойтов/вредоносного кода для проигрывателя уже была внедрена для трех наиболее популярных браузеров MS Internet Explorer, Google Chrome и Mozilla Firefox. Режим sandbox позволяет ограничивать набор выполняемых процессом (плагина браузера) функций, в контексте которого запущен Adobe Flash Player для проигрывания нужного содержимого.



Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии4

Apple очищает WebKit от наследия Chromium

Время на прочтение1 мин
Количество просмотров38K
Компания Apple осталась единственной крупной компанией, которая занимается разработкой Open Source движка WebKit. После ухода Google разработчики из Apple объявили о «весенней зачистке» и удалении из проекта ставшего ненужным кода, в том числе чужого JavaScript-движка V8.

В течение ближайших недель будут зачищены:
  • Нарушения иерархических представлений (layering violations) в WebCore/platform, где Page* или Frame* можно было передать функции
  • Supplementable и Supplement
  • #if USE(GOOGLEURL)
  • #if USE(V8)
  • #if !USE(JSC)
  • #if PLATFORM(CHROMIUM)
  • Skia
  • DOMFileSystem
  • WebLayer и его реализацию скроллинга
  • Функции #defines, которые не пользуются популярностью
Читать дальше →
Всего голосов 94: ↑72 и ↓22+50
Комментарии52

Возвращаем старый Web Inspector в Safari 6

Время на прочтение2 мин
Количество просмотров7.6K

Уверен, что я не одинок в своих мучениях с новыми devtools в новом Safari. И когда они в очередной раз меня одолели, я, как человек разумный, обратился за помощью к гуглу.



Гугл предложил мне несколько вариантов избавления от страданий:

  1. воспользоваться меню Develop > Use WebKit Web Inspector
  2. штормить поддержку Apple
  3. использовать WebKit вместо Safari

Первый вариант мне не подошел по причине отсутствия такового пункта меню в имеющихся билдах Safari.
Второй не подошел из-за мaлой вероятности положительного исхода.
Третий не устроил тем, что WebKit конфликтовал с каким-то установленным в Safari расширением и при попытке открыть любую страницу немногим сложнее ya.ru вешался намертво. Разбираться с этим было влом, да и плодить зоопарк из браузеров не очень хотелось (у меня их итак штук семь установлено).
Если вас не смущает WebKit, то можете смело его использовать и дальше не читать.

Ежели вам всё-таки интересно
Всего голосов 20: ↑20 и ↓0+20
Комментарии61

Веб аудио оффлайн в Safari под iOS 6

Время на прочтение2 мин
Количество просмотров5.9K

Воспроизведение кешированного аудио в оффлайн режиме в Safari под iOS долгое время было настоящим испытанием, которое было признано недостижимой целью. Но с приходом веб аудио API (только в движках WebKit), это наконец-то стало возможным, несмотря на то, что вам все-равно придется сделать несколько шагов.

Плохая новость в том, что вы все равно не сможете кешировать mp3 файлы, используя кеш приложения и просто загружать их используя XmlHttpRequest. Safari под iOS 6 будет кешировать mp3 файлы, но потом молча откажется воспроизводить их (очень полезно!)
Но не все потеряно...
Всего голосов 14: ↑14 и ↓0+14
Комментарии5

Ближайшие события

Пишем и публикуем плагин к веб-браузеру Safari

Время на прочтение4 мин
Количество просмотров13K
После перехода на OS X, я стал, в качестве основного браузера, использовать Safari. Пользуясь браузером, уже несколько лет, проблем в работе с ним не возникало. Вот правда плагинов к нему намного меньше чем к Chrome или Firefox, в связи с чем удобство просмотра тех или иных сайтов в различных браузерах очень отличается.

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

Под катом пример создания плагина и публикация его в extensions.apple.com
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии4

Ускорение в 3,7 раза после удаления Sleep() в WebKit

Время на прочтение1 мин
Количество просмотров4.4K
Джофф Гарен (Geoff Garen) из компании Apple обнаружил вызов Sleep() в спинлоке функции TCMalloc сборщика мусора WebKit.

 -#if OS(WINDOWS)
-    Sleep(2);
-#else
-    struct timespec tm;
-    tm.tv_sec = 0;
-    tm.tv_nsec = 2000001;
-    nanosleep(&tm, NULL);
-#endif

После удаления Sleep производительность сборщика в определённых условиях выросла в 3,7 раза. Это наглядный пример, как одна маленькая оптимизация способна в несколько раз повысить производительность.
Читать дальше →
Всего голосов 92: ↑74 и ↓18+56
Комментарии38

Обзор Mobile Safari iOS 6 для веб-разработчиков

Время на прочтение4 мин
Количество просмотров12K

Уже было сказано довольно много слов про новую версию iOS и её бета-релиз. Однако, за кадром остались новые интересные возможности мобильной версии Safari о которых просто нельзя не рассказать. Но обо всём по порядку.

Данная статья изначально планировалась как перевод, но подготовленного материала хватило на самостоятельную статью. Для тестирования возможностей использовались iOS 6 beta 1 и Safari 6 developer preview for Mac. И то и другое доступно для скачивания для зарегистрированных разработчиков Apple.

Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии26

Краткий обзор Safari 5.1 Developer Preview

Время на прочтение2 мин
Количество просмотров1.9K
Safari 5.1 About
Сегодня поутру обнаружил письмо от Apple, в котором сообщалось о новом Safari, доступном для пользования девелоперов. Мне стало интересно, и решил немного покрутить его.
Читать дальше →
Всего голосов 45: ↑36 и ↓9+27
Комментарии45

Расширение для Сафари «Музыка из Контакта»

Время на прочтение1 мин
Количество просмотров78K
image

Расширение «Музыка из Контакта» ― это дополнение к браузеру Сафари и вечная ссылка «скачать» у любой аудио-записи в социальной сети vkontakte.ru. С помощью данного расширения, рядом с каждой композицией появится приятная иконка загрузки, которая позволит легко скачивать музыкальные треки к вам на компьютер.

В первую очередь радоваться будут пользователи Мака, ведь раньше любая попытка скачать музыку из Контакта превращалась в пытку. Кто-то пользовался сомнительными сервисами, а кто-то пытался привыкнуть к работе с «активностью» Сафари.

Ожидаем появления на сайте Эппла.
Работает одинаково ровно в Сафари на Маке и Виндоусе.

Узнать больше деталей
Всего голосов 58: ↑31 и ↓27+4
Комментарии14

Обновление Habrex до версии 1.3.8

Время на прочтение1 мин
Количество просмотров632
1. Исправлена ошибка с установкой в Windows
2. НОВАЯ ЧУМАВАЯ ФИЧА подгрузка следующих страниц
3. Немного косметических изменений
4. Новые настройки:

Панель инсутрментов Habrex

UPDATE
Скачать и установить расширение можно на его странице.
Всего голосов 11: ↑10 и ↓1+9
Комментарии8

Первое обновление Habrex

Время на прочтение1 мин
Количество просмотров598
Панель инсутрментов Habrex

Вот и вышло первое обновление для расширения для Хабрахабра для Safari 5. Что нового
  1. Панель инструментов
    • выводит аватар и имя пользователя
    • выводит информацию по карме, хабрасиле и позиции в рейтинге
    • выводит заголовок со ссылкой на последний топик пользователя
    • выводит рейтинг, кол-во комментариев и кол-во новых комментариев для последнего топика
  2. Кнопка управления отображением панели инструментов в главной панели
  3. Настройки
    • имени пользователя
    • частоты обновления информации
    • отображения панели инструментов
Скачать и установить расширение можно на его странице, т.е. там же, где и раньше.

P.S. По идее установленное расширение должно обновиться прямо из браузера в панели управления расширениями.
Всего голосов 54: ↑37 и ↓17+20
Комментарии35

Вклад авторов