Апрель — месяц субботников. Наша команда тоже провела виртуальный субботник и навела порядок с некоторыми вопросами на Хабре — а значит, у нас для вас снова есть порция новостей. Сегодня мы проводим очередную сессию вопросов и ответов (AMA). Пользователи Хабра и команда Хабра могут поболтать по делу и без. Если кто-то забыл посмотреть в календарь, сегодня последняя пятница апреля, а значит, пора: вам — задавать вопросы и писать предложения, нам — только успевать отвечать на них и пополнять бескрайний беклог.
Рубрика «pwa» - 2
AMA с Хабром v.8.0. Онбординг, новости для всех, PWA
2019-04-26 в 11:07, admin, рубрики: ama, pwa, Блог компании ТechMedia, прямая линия, тёмная темаPlay Store теперь принимает прогрессивные веб-приложения (PWA)
2019-02-06 в 17:17, admin, рубрики: adb, android studio, api, apk, chrome, cordova, Digital Assets Links, Google Chrome, Google Play, Play Store, pwa, Trusted Web Activity, TrustedWebUtils, TWA, WebAPK, разработка мобильных приложений, Разработка под androidДисклеймер: я не связан с Google Play, Chrome или любой упомянутой компанией. Это не официальное заявление. Логотип и названия используются только для иллюстрации.
В Chrome 72 для Android реализована долгожданная функция Trusted Web Activity. Это означает, что теперь мы можем распространять PWA через каталог Google Play и запускать Chrome без UI в автономном режиме для нативных пакетов! Я некоторое время поигрался с этой функцией, копаясь в API, а здесь расскажу, о чём речь, чего ожидать и что доступно уже сегодня.
Читать полностью »
Аскетичный вебъ: прототип барахолки на go и js
2019-01-13 в 13:26, admin, рубрики: buntdb, echo, Go, javascript, JS, pwa, rest api, SPA, svelte, Разработка веб-сайтовВсем привет, хочу поделиться результатом размышлений на тему — каким может быть современное веб-приложение. В качестве примера рассмотрим проектирование доски объявлений для комиксов. В некотором смысле рассматриваемый продукт рассчитан на аудиторию гиков и им сочувствующих, что позволяет проявить вольность в интерфейсе. В технической же составляющей, напротив, необходимо внимание к мелочам.
По правде говоря, я ничего не понимаю в комиксах, но люблю барахолки, особенно в формате форума, какие были популярны в нулевых. Отсюда, допущение (возможно ложное), из которого проистекают последующие выводы, только одно — основной тип взаимодействия с приложением — просмотр, второстепенные — размещение объявлений и обсуждение.
Нашей целью будет создание простого приложения, без технических ноу-хау лишних свистелок, однако соответствующее современным реалиям. Основные требования, соблюдения которых хотелось бы достичь:
Многопоточные вычисления на Javascript, или как телефон выиграл гонку у ноутбука
2019-01-09 в 8:17, admin, рубрики: javascript, pwa, Алгоритмы, параллельное программирование, ПрограммированиеПривет!
Продолжаем битву за производительность Javascript на примере построения сводных таблиц. В прошлый раз мы реализовали несколько оптимизаций, и оставалась последняя реальная возможность ускорить расчет — перейти на многопоточные вычисления. В Javascript уже давно существуют воркеры, реализация которых не лишена недостатков, но заявлено, что они используют реальные потоки операционной системы — так почему бы не попробовать? Неожиданно оказалось, что для распараллеливания простого, в сущности, алгоритма пришлось переписать синтакис агрегатных формул, так как старые не обладали свойстом аддитивности (подробнее под катом), но, в конечном итоге, все получилось.
Тестировалась обработка 1 миллиона фактов на двух устройствах:
- Нетбук Linux 4.15, 2 x Intel Celeron CPU N2830 @ 2.16 GHz
- Телефон Android 7.0, 4 x ARM Cortex-A53 @ 1.44 GHz
Производительность Excel на чистом Javascript — достижима
2018-12-26 в 9:32, admin, рубрики: javascript, pwa, Алгоритмы, ПрограммированиеПривет!
Продолжаем битву за производительность Javascript на примере построения сводных таблиц. В прошлый раз камнем преткновения стал асинхронный интерфейс IndexedDB, который, используя межпоточный вызов для каждой записи курсора, работает чудовищно медленно. Решив эту проблему путем организации крупноблочного хранения, а также применив все известные оптимизации, мне удалось поднять производительность приложения в 20 раз, и в настоящее время расчет по хранилищу в 1 миллион фактов занимает 21 секунду, что потенциально дает надежду догнать Америку Excel, который обрабатывает тот же миллион строк за 5..7 секунд.
Однопроходный алгоритм, не использующий индексы и вложенные запросы, отлично ложится на блочную схему хранения данных, и, самое обнадеживающее — позволяет распараллелить расчет по разным потокам (воркерам), по сути повторяя алгоритмы «взрослых» СУБД. Таким образом — возможности по оптимизации далеко не исчерпаны. В настоящее время расчет производится лишь одним воркером, WASM не используется, результаты «милионного» теста на различных браузерах следующие:
Браузер | Время |
Chomium Linux | 21 сек |
Firefox Linux | 51 сек |
Chrome Android | 29 сек |
Firefox Android | 62 сек |
В приложении доступен генератор тестовых данных, также можно загрузить собственный JSON и проверить цифры. Приложение в глубокой бетте, так что ошибки должным образом не обрабатываются, простите. Под катом — несколько кейсов по ускорению WEB-приложений, которые, конечно, все являются банальностями и очевидностями, просто я, как любитель учиться на собственных ошибках — их проверил, зафиксировал, и теперь стараюсь соблюдать.
Читать полностью »
Карманный OLAP на Javascript и производительность IndexedDB
2018-12-13 в 15:01, admin, рубрики: indexeddb, javascript, pwa, Алгоритмы, ПрограммированиеЗдравствуй!
Недавно я решил протестировать производительность Javascript на примере создания несложного WEB-приложения, умеющего строить сводные таблицы, вычислять агрегаты и подтягивать атрибуты из справочников, используя слабо-структурированные данные в качестве источника. Повторить весь функционал Excel или взрослых OLAP-систем не предполагалось, но хотелось протестировать производительность Javascript вообще и IndexedDB в частности на различных десктопных и мобильных браузерах. Забегая вперед, скажу, что выполнив первый этап работы — построение сводной таблицы однопроходным алготитмом по хранилищу фактов (индексирование часто-используемых разрезов и кэширование вычисленных агрегатов отложено на будущее) — я был разочарован производительностью чтения из IndexedDB, удивлен тем, что мобильные браузеры практически не отстают от десктопных, и озадачен эпическим провалом моего любимого Firefox в одном из тестов. Всего было 2 теста с различными вариациями:
- формирование сводной таблицы, где основа алгоритма — единственный цикл по курсору IndexedDB, работа с объектами Object, Array, Set, Map (извлечение по ключу, вставка, итерация), конкатенация строк и простая арифметика;
- расшифровка (drillthrough) строки сводной таблицы с выводом результата в DOM, где основа алгоритма — многократное (в цикле) извлечение одной записи из IndexedDB по ключу, и последующий вывод результатов в таблицу html группами по 100 строк методом insertAdjacentHTML('beforeEnd', html)).
Тестирование проводилось на файле JSON, содержащем 20 тыс. фактов, из которых 9 записей представляли собой справочник продуктов, остальные изображали операции купли/продажи. Табличка с результатами тестирования на нетбуке и телефоне (время в секундах), а также подробности реализации и выводы — под катом.
Читать полностью »
24 рецепта, как стартапу преуспеть на огромной мировой выставке, на примере Web Summit 2018
2018-12-12 в 11:58, admin, рубрики: growth hacking, gtd, gtd организация времени, pwa, start-up, Web Summit, бизнес, конференции, лайфхак, Лайфхаки для гиков, лидогенерация, питч, презентация, презентация проекта, Развитие стартапа, стартапПервое знакомство
Для тех кого интересуют сами 24 рецепта — они в конце статьи.
Web Summit 2018 в Лиссабоне очень масштабное событие, я на таком присутствовал впервые и очень многое меня удивило. Во-первых то, что планируемое количество посетителей саммита 70К, при населении города 600К, то есть, в принципе, каждый десятый должен быть участником саммита. На самом деле, начинать ощущать масштаб мероприятия мы начали уже при подходе к метро. Просто толпы идут в одном направлении. Поэтому ошибиться в утренние часы в дни саммита — «а туда ли ты идешь?» — просто невозможно. Весь город идет на саммит. Следуйте за толпой.
Было приятно увидеть, что на всех схемах метро, на станции, на которой проходит саммит, есть наклейка с логотипом саммита — не заблудишься точно. На всех пересадочных станциях, везде указатели.
Очень много молодежи, видно, что с разных стран. Довольно много русской речи, многие уже имеют на груди бейджик Web Summit, значит прилетели на день раньше… А нет, приглядишься — ВСЕ имеют такой бейджик. Весь вагон. Вся станция метро.
Бейджик получаешь после регистрации на саммите. Кроме него, надевают еще тканевый браслет на руку. Потеряешь что-то одно из этого — придется выложить 100 евро, потеряешь оба — заново плати за входной билет 1500 евро! С браслетом можно мыться, проверено. Бейдж берегите.
Нам, как участникам, кстати, столько платить не пришлось, мы за все 3 билета заплатили меньше чем за один и еще получили стенд в эти деньги. Делать новые технологии выгодно!
Выйдя из метро на улице — просто идите туда куда идут все. Ближе к входу — начинают появляться волонтеры, которые разделяют потоки на тех кто уже зарегистрировался и на тех кто еще нет. Улыбаются, приветствуют, а мы предвкушаем.
Web Summit, начало
Регистрация занимает не больше минуты. И вот мы на саммите!
Читать полностью »
До свидания, Electron. Здравствуйте, настольные PWA
2018-11-14 в 10:00, admin, рубрики: electron, Google Chrome, pwa, Блог компании RUVDS.com, браузеры, разработка, Разработка веб-сайтовАвтор материала, перевод которого мы сегодня публикуем, говорит, что он, возможно, слишком торопится, но то, о чём он хочет рассказать, представляет собой, по меньшей мере, весьма интересную новость. Речь идёт о настольных прогрессивных веб-приложениях, которые вполне могут значительно потеснить позиции приложений, основанных на Electron.
Как научить программировать свою девушку, если ты не педагог, но она в тебя верит
2018-11-03 в 17:57, admin, рубрики: Go, golang, JS, postgresql, Progressive Web Applications, pwa, ts, TypeScript, обучение программированию, Программирование, Учебный процесс в IT
Когда твой парень — fullstack
Работая программистом и проживая в пяти минутах ходьбы от офиса, крайне тяжело успеть «отойти» от работы, отойдя от работы.
Я думаю, многим это знакомо: последние полчаса ты сидишь и думаешь над непонятно откуда взявшейся неочевидной ошибкой и в итоге, так и не решив проблему, проверяешь, что все твои сегодняшние коммиты улетели в корпоративный репозиторий, выключаешь машину и выходишь из кабинета, зная, что завтра с утра на свежую голову всё решится.
Как бы не так!
Конечно же, решение приходит в самый не подходящий момент: кого-то застаёт за рулём, кого-то в трамвае, кого-то, кому повезло работать рядом с домом, где-нибудь во дворе, а то и в лифте. В моём случае следующий за решением поток мысли выливается на девушку, которая, ну ещё бы, в программировании, что называется, ни в зуб ногой.
И вот однажды она приходит к тебе и торжественно заявляет:
— Я готова! Готова учиться программированию! Давай!
В этой статье не будет исходных кодов, в ней я постараюсь ответить на вопросы, которые встали передо мной на этапе планирования курса по программированию для собственной девушки.
О том, как я, не имея никакого практического опыта в обучении, решил ввести в программирование человека, объяснившего, что «ты же умный» и «всё у нас получится», расскажу под катом.
Добро пожаловать!
Шесть наиболее полезных докладов с Frontend Conf 2018
2018-08-28 в 10:56, admin, рубрики: css, frontendconf, pwa, Блог компании Конференции Олега Бунина (Онтико), Разработка веб-сайтовДрузья, с позиции главы программного комитета Frontend Conf поместил под катом краткий обзор шести самых полезных докладов с РИТ++ 2018 по фронтенду.
В подборке нашлось место рассказу про то, как настраивать PWA-приложения и делать их более нативными. Отдельно затронуты вопросы транспиляции, где на примере API Яндекс.Карт показано, как можно писать на ES2015, получая на выходе ES3, и обеспечить поддержку IDE и линтеров. Еще одна история — про популярные форматы хранения изображений, их сжатие и варианты загрузки на мобильные устройства. Не менее хардкорный доклад про то, как перенести нагрузку, связанную с расчетом анимации, с CPU на видеокарту. Плюс два отдельных доклада про секреты и лайфхаки CSS.
Все доклады — сугубо практические, а некоторые — вполне холиварные. Одним словом, именно такие, как мы любим, и отбираем для Frontend Conf Moscow.