Заметки Андрея Романова
1.3K subscribers
40 photos
100 links
Разработка интерфейсов, дизайн, программирование и всё остальное. Вопросы, пожелания, комментарии — @andrew_r

https://andrew-r.ru
Download Telegram
Скайп запоздало пытается превратиться в нормальный мессенджер с элементами соцсетей. Представляю, как будут радоваться историям и стикерам работники каких-нибудь бюрократических организаций, где Скайп используется как основное средство общения.

https://www.skype.com/en/new/
Введение в кодсплиттинг (по мотивам доклада с React Conf 2017)

Склеивать весь JS в один большой бандл — плохой тон. Если код приложения немного изменился,
пользователю придётся заново скачивать не только обновлённый код самого приложения,
но и все его зависимости (например, React, Angular и другие довольно тяжёлые библиотеки
и фреймворки).

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

Можно пойти ещё дальше и разделить приложение на файлы, содержащие логику
отдельных частей приложения. Для этого в будущем появится нативный механизм
асинхронной загрузки ES-модулей, который, тем не менее, можно использовать уже
сейчас. Это динамический import(), его особенности:
— на текущий момент stage 3;
— работает со вторым Вебпаком;
— возвращает промис;
— позволяет использовать динамические имена модулей;
– требует babel-плагин syntax-dynamic-import.
Открытие дня: оказывается, языки Ruby, PHP и Perl определяются не спецификацией (как другие нормальные языки), а «эталонным» интерпретатором, от поведения которого все пляшут. Если фактическое поведение интепретатора расходится с документацией, значит врёт документация.