User
PhoneGap vs. Cordova
Нативные приложения обречены (часть 1)
Отныне я не буду больше создавать нативные приложения. Все мои приложения в дальнейшем будут прогрессивными веб-приложениями (PWA, Progressive Web Apps). Это такие приложения, которые предназначены для еще более органичной работы на мобильных устройствах, чем нативные приложения.
Что я имею ввиду под «более органичной работой»? Большая часть веб-траффика исходит от мобильных устройств и пользователи устанавливают в среднем от 0 до 3 новых приложений в месяц. Это означает, что люди не тратят много времени на поиск новых приложений в App store, но они проводят много времени в сети, где могут найти и использовать ваше приложение.
Прогрессивные веб-приложения начинают свою работу как любое другое веб-приложение, но когда пользователь возвращается в приложение и показывает (фактом использования), что он заинтересован в более регулярном обращении к приложению, браузеры предложат пользователю установить приложение на свой домашний экран. PWA также могут использовать push-уведомления как и нативные приложения.
Могут ли PWA (Progressive Web Apps) образца 2018 года составить достойную конкуренцию нативным приложениям?
Когда изменения происходят постепенно, шаг за шагом, порой бывает трудно заметить насколько они драматичны и всеобъемлющи. Казалось бы всего несколько лет назад web платформа проигрывала нативным приложением практически по всем фронтам, и пропасть между тем, что можно было сделать в браузере, и тем, что было доступно приложениями, загружаемым из магазинов, таких как Apple App Store или Google Play Store, была ужасающе огромной. Одним из свидетельств этой пропасти является то, что в 2007 году web по факту был основной платформой разработки приложений для первого iPhone, но эта платформа явно не взлетела. App Store же появился только год спустя со второй версии операционной системы, и сразу же случился бум нативных приложений, который и сформировал рыночный ландшафт таким, каким мы его знаем теперь.
Многое изменилось с тех пор, и web технологии на месте не стояли. Они шли по пути снятия ограничений, и то, что раньше было принципиально невозможно — работа оффлайн, фоновая синхронизация данных, push-нотификации, поддержка входа в один клик и оплаты с помощью кредитных карт, Apple Pay, Google Pay и других методов, встроенная в браузер — теперь реальность. Эти функции органично дополняют основную часть платформы — HTML/CSS и JavaScript, которая в последние годы развивалась более чем активными темпами. Например новый проект Houdini, который ещё находится на достаточно ранней стадии, снимает почти все ограничения на то, что можно сделать с помощью CSS, давая возможность среди прочего создавать свои лэйауты и использовать их наравне с Grid и Flexbox, и открывая программный доступ к внутренностям CSS движка. Но даже и без Houdini уже сейчас можно создавать CSS анимации, работающие со скоростью 60 FPS (frames per second).
Как рекламные ищейки идут по вашему следу в Интернете
Прихожу домой, а отец мне:
— Курил?
— Нет, стоял, где курили.
— Да я смотрю, ты и сидел там, где пили, и лежал там, где сексом занимались…
Бородатый анекдот
От переводчика
Таргетинг рекламы не всегда направлен персонально на конкретного пользователя. Зачастую реклама таргетируется на группу пользователей, имеющих те или иные общие признаки. Что и приводит к тому, что, как в старом анекдоте, вы видите рекламу сигарет не потому что курите, а потому что стояли рядом с теми, кто интересовался сигаретами.
Автор рассказывает о множестве техник таргетирования рекламы и делает неожиданные выводы о том, что это — не так уж и плохо. Просто нужно больше работать над прозрачностью подобных механизмов, чтобы исключить злоупотребления.
Web PUSH Notifications быстро и просто
Добрый день. В этой небольшой заметке я хочу рассказать как быстро и просто настроить push-уведомления на вашем сайте. Эта статья ни в коем случае не претендует на звание исчерпывающего руководства, но, я надеюсь, что она даст точку старта для дальнейшего изучения.
Информации по этой теме в интернете полно, но она фрагментирована, разбросана по разным ресурсам и перемешена с уведомлениями для мобильных устройств с примерами на Java, C++ и Python. Нас же, как веб-разработчиков, интересует JavaScript. В этой статье я постараюсь саккумулировать всю необходимую и полезную информацию.
Я думаю, вы уже знаете что такое push-уведомления, но я всё же напишу коротко о главном.
Пользователь, заходя на сайт, вытягивает (pull) с него данные. Это удобно и безопасно, но с развитием интернет ресурсов, появилась необходимость оперативно доставлять информацию пользователям не дожидаясь пока те сами сделают запрос. Так и появилась технология принудительной доставки (push) данных с сервера клиенту.
Пишем расширение для Chrome «загрузка аудиозаписей с Вконтакте», часть 2
В прошлый раз мы изменяли наш раздел Мои Аудиозаписи так.
Было изначально: | Стало с расширением: |
Но, в тот раз, у нашего расширения был существенный недостаток: оно не работало при переходе со страницы на страницу.
Если зайти на главную страницу, потом перейти в Мои Аудиозаписи, то ссылки у песен не появлялись.
Напомню, вконтакте при переходе со страницы на страницу не обновляет страницу в классическом понимании, а программно изменяет разметку страницы, и обновляет адресную строку. Это не является классическим браузерным переходом на новую страницу, и поэтому наше расширение не обновлялось.
Давайте это исправим.
Как и прежде, наше расширение будет состоять из трех файлов — файла описания (manifest.json), внедряемого js скрипта (vk_inject.js), и внедряемого файла стилей (vk_styles.css).
Архитектура растущего проекта на примере ВКонтакте
Алексей Акулович объясняет жизненный путь высоконагруженного проекта на PHP. Это — расшифровка Highload ++ 2016.
Меня зовут Лёша, я пишу на PHP.
К счастью, доклад не об этом. Доклад будет про ретроспективу развития сети — того, как проект развивался. Какие решения капитанские или весьма специфические для нашей нагрузки мы применяли, что можно использовать в других проектах, которые испытывают нагрузки.
Начнём.
Чек-листы для Google AdWords и Яндекс.Директ и ещё пара секретов
Уязвимость «ВКонтакте» позволяла получить прямые ссылки на приватные фотографии
История началась с того, как мне в личку во «Вконтакте» кинули изображение. Обычно, если вещь важная, я её загружаю в облако, но в моём случае в этом не было необходимости, и я решил воспользоваться функцией закладок «Вконтакте».
Построение признаков и сравнение изображений: локальные признаки. Лекции от Яндекса
- Введение в курс «Анализ изображений и видео».
- Основы пространственной и частотной обработки изображений.
- Морфологическая обработка изображений.
- Построение признаков и сравнение изображений: глобальные признаки.
Под катом вы найдете план этой лекции, слайды и подробную расшифровку.
Делаем свой персональный Skype, пошаговая инструкция создания WebRTC приложения
WebRTC позволяет реализовать real-time аудио/видео связь через браузер ( и ).
В этом топике я расскажу как реализовать простейшее WebRTC приложение.
Как мы открывали магазин в ТЦ МЕГА: история ошибок
Мы решились открыть наш магазин в большом торговом центре, и теперь готовы рассказать вам о проблемах, косяках, процессах, решениях и выводах. Заходите, под катом интересно.
Бизнес в стиле Хабр — 2. Началось
Постраничная верстка rel=«next|prev»
- Создать консолидированный индекс страниц, чтобы ссылки не рассеивались между отдельными страницами page-1.html, page-2.html, и так далее
- При поиске направить пользователя на наиболее релевантную страницу среди всех остальных, например в начало статьи, разбитой на несколько страниц
Поддержка OAuth 2.0 платформой ВКонтакте
OCR в Google Docs теперь поддерживает русский язык
В июне прошлого года команда Google Docs представила возможность распознавания текста (OCR). OCR анализирует изображения и PDF-файлы, извлекает текст (пытаясь сохранить форматирование) и позволяет редактировать документ в Google Docs.
Тогда поддерживались тексты только на английском, французском, итальянском, немецком и испанском языках.
Сегодня же в сервисе появилась поддержка ещё 29 наборов символов, в том числе тех, которые используются в большинстве европейских языков, русского, китайского упрощённого и некоторых других азиатских языков.
Поддержка языков, которые поддерживались и ранее, также улучшена. Усовершенствовано и сохранение форматирования документов.
Information
- Rating
- Does not participate
- Location
- Ижевск, Удмуртия, Россия
- Date of birth
- Registered
- Activity