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

Браузеры

Веб-обозреватели

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

Прекратите клепать базы данных

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

В жизни каждого инженера-фронтендера наступает момент, когда осознаёшь: далее не обойтись без кэширования данных из API. Всё может начаться с самых невинных вещей: сохраняем предыдущую страницу с данными, чтобы кнопка «Назад» срабатывала мгновенно; реализуем простенькую логику отмены действия или обеспечиваем слияние нескольких состояний от различных запросов к API. Но все мы знаем, чем такое кончается. Один за другим возникают запросы на новые фичи, и вскоре мы уже не покладая рук реализуем кэши данных, индексы для работы вручную, оптимистические мутации и рекурсивную инвалидацию кэша.

Эти фичи явственно смахивают на внутренние механизмы баз данных. Действительно, в любом достаточно сложном клиентском приложении программисту непременно придётся реализовывать такое множество фич для управления данными, что эта работа будет напоминать построение предметно-ориентированной базы данных. Такая дополнительная сложность удваивается в каждом проекте, над которым мы работаем, поэтому приходится тратить время на решение бизнес-проблем, а радовать пользователя – уже как успеем.

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

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 6

Новости

Яндекс Браузер для организаций. Опыт QIWI

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

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

Например, есть люди, которые в своей работе часто взаимодействуют с бухгалтерией, финансами, единой биометрической системой, Госуслугами, Контуром и прочим добром. Причём от того, насколько комфортно им это делать, на самом деле зависит выполнение их рабочих обязанностей. А вы знаете, что сейчас для многих (если не для большинства) окологосударственных сайтов нужны сертификаты. И чтобы сделать из дефолтного Chrome или Firefox подходящий инструмент для такого сотрудника, приходилось немного костылить — обвешиваться плагинами, настраивать их, потом по отдельности помогать каждому человеку, если что-то вдруг тупило. В общем, так себе история.

Но работать-то надо. И желательно — без заморочек, в централизованном формате «Включил — работаешь». Поэтому мы решили, что хватит это терпеть, и попробовали Яндекс Браузер для организаций.

Под катом я расскажу, что умеет Браузер на сегодня, как именно мы его внедряли, поделюсь нашим скриптом для быстрой миграции (вдруг вам тоже пригодится) и впечатлениями от работы. Вишенкой — о работе Браузера в закрытом контуре без внешней телеметрии.

Читать далее
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 15

Topics API — как персонализированная реклама может работать без cookie

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 913

Отказ от third‑party кук уже не за горами. Однако в попытке уберечь пользователя от «слежки» браузеры рискуют по дороге отправить в могилу индустрию персонализированной рекламы (и не только, но сегодня про нее). Могу только представить, что испытывает Google, разрываясь между желанием сохранить лояльность пользователей Chrome и стремлением продолжить зарабатывать на рекламе сотни миллионов долларов ежедневно. В качестве решения проблемы, в рамках инициативы Privacy Sandbox, Google предлагает использовать Topics Api, как инструмент доступа к «интересам» пользователя без возможности его отслеживания.

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

Как появились веб-пуши Apple в Тинькофф

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 4.3K

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

Читать далее
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 8

Истории

Многооконное веб приложение — решение для перегруженных интерфейсов

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 11K

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

Основа стека React + Redux.

Читать далее
Всего голосов 10: ↑5 и ↓5 0
Комментарии 30

Интересные трюки HTML. Экстремальный минимализм

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 15K

Мы уже много говорили про оптимизацию сайтов до минимального размера, преимущества статичного HTML, а также упаковку сайта (и веб-сервера) в портативный формат одного исполняемого файла, который нативно исполняется под любой ОС.

Но стремление к минимизации может пойти дальше, если вы хотите поместить весь сайт в адресную строку браузера. А с помощью сокращателя ссылок даже большой сайт сжимается до восьми байт. В этом случае и хостинг не нужен (то есть роль хостинга выполняет сервис сокращения ссылок).
Читать дальше →
Всего голосов 62: ↑62 и ↓0 +62
Комментарии 5

DECstation 5000/260 — когда интернет был еще молодым

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 4.4K


Не в первый раз я обращаюсь к истории рабочих станций Unix — интереснейшим представителям эпохи перехода от “малых ЭВМ” к современным персональным компьютерам. Их звезда закатилась более 20 лет назад, более дешевые ПК окончательно обогнали специализированные дорогие машины по производительности, но до сих пор мы пользуемся плодами тех технологий. И тем интереснее заглянуть в прошлое и узнать, что и как могли те, казалось бы, маломощные и примитивные компьютеры. Встречайте — новый интересный экспонат в коллекции “Digital Vintage”!
Читать дальше →
Всего голосов 51: ↑51 и ↓0 +51
Комментарии 8

Смерть third-party cookies. Что ждет нас в 2024?

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 5.7K

В большинстве браузеров уже есть те или иные механизмы блокировки third-party кук. В одних браузерах это ограничивается тем, что third-party куки разрешено отправлять только на посещенные пользователем сайты. В других браузерах внедряют различные "enhanced" и "intellegent" tracking protection, либо совсем блокируют third-paty куки. Для тех, кто захочет разобраться детально в перипетиях отдельных браузеров, есть прекрасные статьи.

В 2019 году волей сообщества дефолтное поведение кук в браузерах изменилось с SameSite=None на SameSite=Lax. Что, впрочем, привело лишь к тому, что большинство сервисов перевело свои трекеры в режим SameSite=None.

Консенсус в сообществе свелся к тому, что:
- Нужно запретить отслеживать пользователя между сайтами
- First-party - это вполне ОК. Сайт внутри себя может позволить себе любые манипуляции с пользовательскими данными
- Third-party - в целом тоже ОК, но только если ограничить third-party куки одним сайтом (следите за руками ниже)

Так какие же есть решения для того, чтобы отказаться от third-party кук и ничего не сломать?

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

Vivaldi 6.4 для iOS — Опытная унификация

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 1.4K

Ранее, в сентябре этого года, мы представили наш браузер для iOS и были завалены положительными отзывами об уникальных функциях Vivaldi на вашем iPhone и iPad.

Vivaldi выделяется мощным набором функций и полезными встроенными инструментами, которые делают вашу работу в сети более приватной. Мы гордимся уникальным пользовательским интерфейсом, который мы привнесли в iOS, и стремимся сделать браузер ещё лучше уже сегодня.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 13

Дегуглификация Chromium

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 45K

На сегодня Chrome — пусть и не самый быстрый, но самый популярный браузер в мире, с большим отрывом от остальных. А единственным реальным конкурентом остался Firefox, потому что практически все остальные тоже перешли на кодовую базу и движок Chromium.

Разработать новый браузер с нуля практически нереально, но Chromium — открытый опенсорсный проект, в который каждый может вносить любые изменения. И самое главное, что нужно изменить в первую очередь — убрать из кодовой базы следящие трекеры Google и любые упоминания сервисов этой корпорации, которые жёстко прописаны в коде.

Но это не так просто сделать. К сожалению, следы Google проникли не только в проприетарный Chrome, но и в опенсорсный Chromium.
Читать дальше →
Всего голосов 105: ↑101 и ↓4 +97
Комментарии 105

Vivaldi 6.4 — Расширение возможностей

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 3.5K

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

Именно так мы стали первым браузером на автомобильной платформе Android, а недавно мы представили и первую версию браузера для iOS. На данный момент Vivaldi способен работать на таких платформах, как Windows, macOS, Linux, Raspberry Pi, iOS, Android и Android Automotive. Мы стали настоящим кросс-платформным браузером. И мы не планируем на этом останавливаться.

А помимо расширения своего присутствия на различных устройствах мы продолжаем улучшать и функциональность браузера. Так в новой версии Vivaldi 6.4 мы подготовили несколько новинок, которые вы давно просили.

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 68

Наклонные края с постоянным углом в CSS

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 4.9K

Данный материал – перевод статьи "Sloped edges with consistent angle in CSS" Килиана Валхофа. Мне, как начинающему forntend-разработчику, этот материал был интересен. Полагаю, эта статья будет полезна и другим начинающим или обучающимся фронтендерам.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 7

Из микро в макро: как адаптировать мобильное приложение под ТВ-платформу

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 2.4K

Рано или поздно Android-разработчику станет любопытно попробовать новые платформы. Устройств с этой ОС много — есть из чего выбрать. Например, сейчас набирает популярность разработка под умные телевизоры.

И вот здесь начинается самое интересное. Вроде бы и на смартфоне, и на телевизоре одинаковая ОС, но приложению понадобится глобальная адаптация, ведь там, например, нет привычного Touch Screen, чтобы управлять контентом и быстро набирать текст в поисковой строке.

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

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 5

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

Дорожная карта для Leo, ИИ-ассистента браузера Brave

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 878

В августе 2023 года мы выпустили Leo, нативного ИИ-ассистента Brave, в нашем Nightly-канале. За это время мы улучшили Leo и встроили в него множество ваших предложений. Leo ждут дальнейшие изменения, и вскоре мы выпустим его в нашем основном канале, сделав его доступным для 60 миллионов наших пользователей. Cамое время рассказать о том, что мы думаем о будущем Leo и как мы видим будущее интеграций ИИ с нашим браузером.

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

Многие компании не готовы к автоматизации PKI

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


На рынке инфраструктуры открытых ключей (PKI) в ближайшее время могут произойти значительные изменения. Самое главное из них — предложение Google по сокращению срока службы сертификатов SSL/TLS. Максимально допустимым сроком сертификата станет 90 дней. Это потребует от владельцев веб-сайтов полной автоматизации выдачи, переоформления и продления сертификатов, чего и добивается Google.

Но проблема в том, что многие компании не готовы к такой автоматизации. Компания GMO GlobalSign провела исследование, чтобы выяснить основные причины этой неготовности.
Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 4

Vivaldi вгрызается в яблоко: Представляем Vivaldi для iOS

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.9K

Дождались! Вышел Vivaldi для iOS.

Мы в Vivaldi считаем, что браузер должен подстраиваться под вас, а не наоборот. Теперь мы переносим эту философию на ваш iPhone и iPad.

Являетесь вы обычным или опытным пользователем, вы получаете гибкость и универсальность просмотра веб-страниц по своему усмотрению благодаря мощным функциям Vivaldi и уникальному уровню персонализации.

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

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 26

Прогресс WebAssembly и будущее веба. Быстрые интерфейсы, пример Figma

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 7.2K

Скетч из статьи Лин Кларк «Создание и работа с модулями WebAssembly»

WebAssembly (Wasm) — это бинарный формат для безопасного и эффективного выполнения портативных программ в стековой виртуальной машине (в браузере или на сервере). Как и ASM.js, представляет собой низкоуровневый код. Есть ещё WAT — WebAssembly Text, человекочитаемая версия бинарного кода.

WebAssembly — не столько язык программирования, сколько цель компиляции, новый вид ассемблера, который работает близко к железу, принимая программы на C, C++, Rust и других привычных языках. При этом Wasm гораздо быстрее ASM.js и выполняет код в браузере почти как нативные программы под любой ОС.
Читать дальше →
Всего голосов 57: ↑54 и ↓3 +51
Комментарии 15

Релиз Firefox 118: новый встроенный переводчик

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 8.3K

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

Читать далее
Всего голосов 25: ↑22 и ↓3 +19
Комментарии 22

Встречайте QmlBrowser – маленький, но перспективный принц на балу старых пердунов

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 9.2K

HTML стал для нас совершенно естественным способом взаимодействия с аудиторией в интернете. И мы уже даже не задумываемся над тем, так ли он удобен на самом деле, возможны ли более современные и удобные альтернативы? И в то же время мы так или иначе испытываем недовольство от использования HTML приложений, зачастую успокаивая себя мантрой: «Ну это же HTML, что от него ожидать?». Попытке решить эту проблему и найти альтернативу привычному HTML и посвящена эта статья.

Читать далее
Всего голосов 29: ↑26 и ↓3 +23
Комментарии 36

Веб-компоненты в 2023: нужно поговорить

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 10K

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

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

И с этим я хочу бороться
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 47

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