[Из песочницы] Javascript — решение асинхронной проблемы?

В этой статье, я хочу рассказать про свое решение проблемы с асинхронной функциональностью javascript, по средствам введения полностью асинхронной модели вычислений. Будет описана сама концепция, и дана ссылка на реализацию. Заинтересовавшихся прошу под кат.

Читать дальше →

[Из песочницы] Привет, мир или рождение 500-метровой звезды программирования

Привет, мир!


Всем привет. Меня зовут Илья, я живу во Владивостоке и моё хобби — программирование.Сразу хочу сказать, что мне 15 18 лет (я не уверен, можно ли размещать несовершеннолетним свои статьи на Хабре). Мой никнейм — Скарамуш, единственный, но, к сожалению, весьма повторимый (даже здесь его кто-то успел занять). Почему Скарамуш? Да потому что так называется моя любимая книга, написанная английским мастером пера Рафаэлем Сабатини. Главный герой книги — Андре-Луи Моро, гордо несущий по жизни роль Скарамуша (вообще Скарамуш — это один из персонажей классической итальянской комедии, хитрый малый, вечно плетущий интриги), является человеком остроумным, находчивым, решительным и ловким. Я такой же. Наверное. (Особенно ловок я был вчера, когда разбил кружку об унитаз. Даже не спрашивайте, что я делал).
Читать дальше →

[Из песочницы] Как начать разрабатывать универсальные приложения с библиотекой Next.js

We don’t need no traffic building,
We don’t need no SEO,
No link exchanges in your network,
Spammers! leave us all alone.

Anna Filina

Немного истории


В далеком 2013 году Spike Brehm из Airbnb опубликовал программную статью, в которой проанализировал недостатки SPA-приложений (Single Page Application), и в качестве альтернативы предложил модель изоморфных веб-приложений. Сейчас чаще используется термин универсальные веб-приложение (см. дискуссию).

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

Крупнейшие мероприятия 2018 года: дизайн и фронтенд

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


Читать дальше →

[Перевод] Возможности JavaScript, о существовании которых я не знал

image На днях я читал материалы на MDN и наткнулся на некоторые довольно интересные возможности и API JavaScript, о существовании которых я не знал. Хочу сегодня о них рассказать.

Не берусь судить о том, пригодятся ли они кому-нибудь, но, полагаю, что раз уж всё это есть в языке, то об этом полезно, как минимум, знать.
Читать дальше →

[Перевод] Управление состоянием в Polymer 2.0. За пределами parent/child биндингов

Организуем общее состояние между разделенными DOM-элементами без Redux


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

Оптимизация производительности фронтенда

Тормозящий сайт — это боль не только пользователя, но и разработчика. Как можно исправить ситуацию, в каких случаях нужно делать ставку на кэширование, а где можно довериться процессору, и как все это может помочь оптимизировать производительность сложного фронтенд-приложения, на практике готов объяснить эксперт по JS и преподаватель Академии HTML Игорь Алексеенко. Под катом — расшифровка его доклада с Frontend Conf 2017.



Читать дальше →

«Быстрорастворимый» фронтенд. Лекция в Яндексе

Ускорить доставку элементов фронтенда на устройство пользователя можно несколькими способами. Разработчик Артём Белов из самарского офиса норвежской компании Cxense попробовал самые многообещающие: HTTP/2, Server Push, Service Worker, а также оптимизацию в процессе сборки и на стороне клиента. Итак, что же нужно сделать, чтобы сократить время отклика приложения до минимума?


Выясняется, что алгоритмы сжатия существуют уже давно. Это произошло где-то в июне — видимо, где-то над Самарой пролетал метеорит и идея проверить новые алгоритмы сжатия, Zopfli и Brotli, пришла мне и парню из соседней компании. Больше чем уверен, вы читали его статью, это Александр Субботин. Статья разошлась на Medium, и он известен, а я нет.

Читать дальше →

1Kb autocomplete

Всем бодрого времени суток!

Вдогонку к моему предыдущему посту, хочу показать простой пример микро-компонента автокомплита на SvelteJS. Кто еще не успел познакомиться с данным мирко-фреймворком — велком под кат!

image

Читать дальше →

[Перевод] Вы можете себе это позволить? Бюджет веб-производительности в реальном мире

Автор — Алекс Расселл, разработчик Chrome, Blink и веб-платформы в Google TL;DR: бюджеты производительности — существенная, но недооценённая часть успешного продукта и здоровой команды. Большинство наших партнёров не осведомлены об условиях реального мира — и в результате выбирают не те технологии. Мы установили бюджет по времени пять и менее секунд до интерактивности сайта после первой загрузки, а также две или менее секунд при последующих загрузках. При соблюдении этих нормативов мы ограничены типичным устройством из реального мира и типичной сетевой конфигурацией. Это Android-смартфон за $200 на канале 400 Кбит/с, RTT 400 мс. Это означает бюджет ~130-170 КБ ресурсов критического пути, в зависимости от их состава: чем больше JS — тем меньше объём. За последние несколько лет мы имели удовольствие работать с десятками команд. Работа оказалась просветляющей, иногда в очень неожиданных местах. Один из самых неожиданных результатов — частые случаи «западни JavaScript».


Последние посты