Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 3650 сообщений
Cообщения с меткой

makeup - Самое интересное в блогах

Следующие 30  »
inhanpoemogh

MakeUp Eraser

Вторник, 19 Сентября 2017 г. 17:28 (ссылка)


Xa2NzdP5CKUIdbbXNPy15lAY7uRmbWzdFObpsQNFWJeL0rjzl

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
lj_skromni_beauty

Skromni's Choice 2016: Декоративная косметика

Понедельник, 30 Января 2017 г. 08:58 (ссылка)



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

Список получился большой. Я решила не ограничиваться простым перечислением, добавила фотографии, немного разъясняющих комментариев, ссылки на свои отзывы, актуальную стоимость (с учетом скидок по картам сетей) и ссылки на интернет-магазины. Надеюсь, эта подборка окажется полезной для вас.

1. Любимый праймер для век: Urban Decay Anti-Aging Eyeshadow Primer Potion

Несмотря на то, что сейчас появилось множество отличных качественных праймеров у других брендов, все равно нежно люблю Primer Potions и считаю их одними из лучших. Сейчас чаще всего использую праймер с антивозрастными ингредиентами, он чуть более жидкий, чем классический.
Купить в Иль Де Ботэ за 1881 рубль.


2. Любимый праймер для зоны под глазами: Smashbox Photo Finish Hydrating Under Eye Primer

Да, такая штука тоже существует =) У меня всего 3 средства такого типа. Они обычно немного высветляют область под глазами и помогают смягчить, разгладить, увлажнить кожу, скрыв следы обезвоженности.
Купить в Рив Гош за 1487 рублей.


3. Любимый праймер для лица: Make Up For Ever Step 1 Skin Equalizer

Я использовала увлажняющий, питающий, выравнивающий и зеленый тонирующий. Понравились все. Мама у меня — большая поклонница зеленого, скрывающего покраснения.
Мой отзыв. // Купить в Иль Де Ботэ за 1729 рублей.


4. Любимый консилер (для легкого макияжа или без макияжа): Erborian BB Eye

Шикарное средство, подсадила на этот консилер и маму, и подруг.
Мой отзыв. // Купить в Иль Де Ботэ за 2288 рублей.


5. Любимый консилер (при полном макияже): Make Up For Ever Lift

Много лет пользуюсь этим консилером с заметным легким лифтинг-эффектом. Сейчас у меня, кажется, уже четвертый тюбик. Вот вроде бы много новых консилеров у бренда с тех пор вышло, но этот для меня все равно остается самым лучшим.
Мой отзыв. // Купить в Иль Де Ботэ за 1238 рублей.


6. Любимый корректор: Cle De Peau Concealer

Скрываю им мелкие, остающиеся заметными, недостатки при полном макияже.
Купить в Neiman Marcus за $70 или в ЦУМе.


7. Любимые сухие компактные тени для век: Urban Decay

Отличные высокопигментированные моно-тени множества оттенков, которые можно собирать в палетки самостоятельно + культовые уже готовые палетки. Правда, среди новинок-палеток иногда встречаются не самые удачные, с хромающей пигментированностью, так что читайте отзывы, смотрите свотчи.
Мой отзыв. // Купить моно-тени в Иль Де Ботэ за 1300 рублей.


8. Любимые кремовые тени для век: Clarins Cream to Powder Eyeshadow Ombre Iridescente

Мне нравятся и матовые, и особенно мерцающие. Много интересных, спокойных оттенков. В будни делаю с одним из них быстрый макияж век. Они не самые стойкие, но с правильным праймером 6-8 часов держатся хорошо.
Пример макияжа век. // Купить в Л’Этуаль за 1311 рублей.


9. Любимые тени-карандаш: Make Up For Ever Aqua Matic

Карандаш Aqua Matic — младший брат кремовых теней Aqua Cream. Эти тени не менее стойкие и пигментированные.
Пример макияжа. // Купить в Иль Де Ботэ за 1150 рублей.


10. Любимая новая палетка теней для повседневного макияжа: Clarins Natural Glow (Весная 2016)

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


11. Любимая новая палетка теней для яркого макияжа: Urban Decay Urban Spectrum palette

Появилась она, кажется, в начале 2016 года. В Россию не привозили. Я заказывала ее из американской Sephora. Просто супер палетка. Я внимательно слежу за новинками бренда и могу уверенно сказать, что это была лучшая палетка (и по качеству теней, и по оттенкам) выпущенная Urban Decay в 2016 году.


12. Любимый карандаш для век: Urban Decay 24/7 Glide-On

Вне конкуренции. Лучшая стойкость при мягкости, кремовости средства, множество интересных оттенков.
Мой отзыв. // Купить в Иль Де Ботэ за 1240 рублей.


13. Любимый карандаш для слизистой: Urban Decay 24/7 Waterline

Честно говоря, и обычные 24/7 Glide-On карандаши Urban Decay очень хорошо, пигментировано держатся на слизистой (только оттенки с блестками не используйте, пожалуйста, для этих целей). Но Waterline действительно лучше для зоны слизистой нижнего века подходят: наносятся там ровнее, держатся дольше.
Купить в Иль Де Ботэ за 1240 рублей.


14. Лучшее средство для заполнения межресничного пространства: Clarins 3-Dot Liner

Без него не обходится ни один мой, даже самый минималистичный, макияж.
Мой отзыв. // Купить в Л’Этуаль за 1386 рублей.


15. Любимая подводка для век: Illamasqua Precision Ink

Подводками я пользуюсь довольно редко. Обычно мне хватает хорошопигментированного карандаша. Но если хочется более четкую линию стрелки, то в первую очередь тянусь за черной "виниловой" подводкой Illamasqua.
Мой отзыв. // Купить на Illamasqua.com за 1620 рублей, есть доставка в Россию.


16. Любимая тушь для ресниц: Urban Decay Perversion + праймер Subversion

Признаюсь, обычно я не тестирую сразу много видов туши, так как чаще всго именно неудачная тушь, сильно отпечатывающаяся на нижнем веке, портит мой макияж. Мне проще найти 2-3 отличных и оставаться с ними долгое время. Комплект из этой туши и праймера Urban Decay работают на отлично, особенно когда тушь уже начинает немного подсыхать.
Купить в Иль Де Ботэ тушь за 1610 рублей и праймер за 1450 рублей.


17. Любимый гель для фиксации бровей: Urban Decay Brow Tamer прозрачный

Отлично фиксирует, не блестит на бровях, не утяжеляет.
Купить в Иль Де Ботэ за 1390 рублей.


18. Любимый тонирующий гель для бровей: Lumene Blueberry Eyebrow Shaping Wax

Легкое тонирование, фиксация, небольшая стоимость. Идеально.
Купить в Рив Гош за 711 рублей.


19. Любимый карандаш для бровей: Anastasia Beverly Hills Brow Wiz

У меня он в холодном оттенке Medium Ash, но сейчас название оттенков изменили, и Medium Ash стал Medium Brown. Мне этот карандаш нравится и оттенком, и своей хорошей пигментированностью, достаточной мягкостью, без вероятности переборщить с плотностью нанесения.
Купить в BeautyDrugs за 2150 рублей.


20. Любимый тональный крем: Clarins Skin Illusion

Всем его представляю как единственный тональный крем, который в свое время заставил меня не отказываться полностью от традиционных тональных кремов в пользу азиатских ВВ-кремов. Люблю его до сих пор, часто пользуюсь.
Мой отзыв. // Купить в Л’Этуаль за 2399 рублей.


21. Любимое увлажняющее тонирующее средство (tinted moisturizer): Clarins BB Skin Detox Fluid

Легкий, тонирующий, нетребовательный к состоянию кожи. Для быстрого, легкого макияжа в теплое время года.
Купить в Л’Этуаль за 1761 рубль


22. Любимый ВВ-крем: Erborian BB Creme

Идеальный, просто идеальный. Несколько раз, когда он был у меня на лице, меня спрашивали, что за фантастический тональный крем на мне. И, конечно, получаю комплименты по поводу "ухоженности" кожи (ага, под тональным средством-то). Пользуюсь всеми тремя версиями, Nude — чуть более жидкий, может показаться легче тем, кто боится забитых пор, более темный Dore смешиваю с Nude или Clair летом для получения подходящего оттенка.
Мой отзыв. // Купить в Иль Де Ботэ за 2625 рублей.


23. Любимая компактная пудра: Urban Decay De-Slick

Люблю оба средства в De-Slick у Urban Decay, и пудру, и спрей.
Мой отзыв. // Купить в Иль Де Ботэ за 1990 рублей.


24. Любимая рассыпчатая пудра: La Prairie Cellular Treatment Loose Powder

У меня, конечно, есть еще любимые рассыпчатые пудры. Но если все они исчезнут и останется только эта — совсем не буду переживать.
Мой отзыв. // Купить в Иль Де Ботэ за 5010 рублей.


25. Любимые компактные пудровые румяна: Too Faced Sweethearts Perfect Flush Blush оттенка Peach Beach

Когда покупала, планировала использовать эти румяна только летом, но оттенок оказался настолько универсальным, что рука к нему постоянно тянется. Можно смешать все три оттенка и получить нежный персиковый оттенок с золотистым сиянием, можно отдельно золотой сектор как хайлайтер использовать.
Купить в Sephora за $30.


26. Любимые кремовые румяна: MAC Cream Color Base оттенка Seaside

Уже не вспомню, был ли этот оттенок убран из постоянной коллекции или выходил (судя по быстрому поиску) в коллекциях 2011 и 2014 года. Seaside оказался для меня идеальным золотисто-розово-персиковым. Чаще всего делаю им легкий румянец при минимальном макияже, иногда наношу на веки, щеки и губы сразу. В серии Cream Color Base много интересных оттенков.
Купить в российском интернет-магазине МАС за 1250 рублей.


27. Любимое пудровое средство для скульптурирования лица: MAC Blush Pro оттенка Taupe

Отличный нерыжий, серо-коричневый оттенок Taupe долгое время был лимиткой, изредка появляющейся в сезонных коллекциях, но, к счастью, сейчас его можно купить в Pro серии средств в виде рефила.
Купить в российском интернет-магазине МАС за 1550 рублей.


28. Любимое кремовое средство для скульптурирования лица: Illamasqua Cream Pigment оттенка Hollow

На веках этот кремовый пигмент у меня держится очень плохо даже с базой, а вот по контуру лица и под скулами — идеально. Отличный холодный оттенок. Можно наслаивать.
Мой отзыв. // Купить на Illamasqua.com за 1420 рублей, есть доставка в Россию.


29. Любимый пудровый хайлайтер: Hourglass Ambient Strobe Lighting Powder оттенка Brilliant

Отличный хайлайтер для повседневного макияжа. Нет, он не сделает модный яркий блик, будто вы пластиковая кукла. Он мягко расставит акценты и будет смотреться очень естественно.
Купить в Sephora за $38.


30. Любимый кремовый хайлайтер: Clarins Instant Light Complexion Perfector

Очень люблю эту серию жидких хайлайтеров у Clarins. Они еще лимитированные оттенки периодически в весеннее-летних коллекциях выпускают. Обычно добавляю пару капель в тональное средство для эффекта легкого сияния.
Мой отзыв. // Купить в Л’Этуаль за 1611 рублей.


31. Любимые метеориты Guerlian: Beige Chic 03

У меня неплохая коллекция метеоритов Guerlain, но я покупаю не все подряд. Новые весенние мне, например, не понравились. Любимые и чаще всего используемые — "бежики" из старой постоянной коллекции. Их золотисто-бежевое сияние и чуть матовый эффект на коже мне очень нравятся. Из актуальной базовой коллекции метеоритов у меня в фаворитах, конечно, Clair #2.
Моя коллекция метеоритов (2010г.). // Купить в Л’Этуаль за 2886 рублей.


32. Любимый бронзер: MAC Bronzing Powder оттенка Golden

МАС удалось создать настолько универсальный нерыжий оттенок бронзера, что можно, на самом деле, оставить в коллекции только его. Golden — часть постоянного ассортимента МАС, но в одной из летних коллекций каждый год он появляется в какой-нибудь интересной лимитированной упаковке.
Мой отзыв. // Купить в российском интернет-магазине МАС за 1550 рублей.


33. Любимый автозагар для лица: Clarins Radiance-Plus Golden Glow Booster

Идеальное средство для легкого, равномерно и постепенно появляющегося эффекта загара на лице.
Мой отзыв. // Купить в Л’Этуаль за 1311 рублей.


34. Любимый спрей для фиксации макияжа: Urban Decay & Skindinavia

Фиксирующие спреи для Urban Decay производит Skindinavia. У меня есть и те, и другие. Чаще всего использую De-Sliсk и Oil-Control для термо-контроля повседневного макияжа, а если нужна стойкость на сутки и больше, то отдаю предпочтение All Nighter и Bridal.
Мой отзыв. // Купить 30мл мини-версию спрея в Иль Де Ботэ за 990 рублей.


35. Лучшая кремовая помада: Bite Beauty Amuse Bouche & Luminous Silk

Мой любимый канадский бренд, специализирующийся на средствах для губ. Обожаю их помады за удивительную комфортность и сложные оттенки.
Свотч одного из любимых оттенков. // Купить в Sephora за $26.


36. Лучшая бальзамная помада: Urban Decay Vice Sheer & Sheer Shimmer

Свотч одного из любимых оттенков. // Купить в Иль Де Ботэ за 1250 рублей.


37. Лучшая матовая помада: Urban Decay Vice Comfort Matte

Я не люблю эти очень популярные максимально матирующие помады, убивающие объем губ, вызывающие сухость и стянутость. Отдаю предпочтение более кормфортным помадам с приглушенным блеском и скорее полуматовым эффектом. Среди последних в любимцах Vice с текстурой Comfort Matte.
Свотч одного из любимых оттенков. // Купить в Иль Де Ботэ за 1250 рублей.


38. Лучший блеск для губ: Clarins Instant Light Natural Lip Perfector

Не могу похвастаться коллекцией из всех оттенков. Но самые светлые, нейтральные есть у меня в нескольких экземплярах и разложены по всем сумкам и дорожным косметичкам.
Свотч одного из любимых оттенков. // Купить в Л’Этуаль за 1086 рублей.


39. Лучшая коллекция декоративной косметики вышедшая в 2016 году: MAC Vibe Tribe (Лето 2016)

О, у меня были большие планы на эту коллекцию. Хотела и кисти, и тени, и помады и что-то из карандашей. Но ее очень быстро раскупили, ни одну вещь из моего вишлиста найти не смогла =(

Если подводить итоги по брендам, то из 39 пунктов-средств:
11 — Urban Decay, 8 — Clarins, 4 — MAC, 3 — Make Up For Ever, 2- Illamasqua, 2 — Erborian.


* Стоимость указана с учетом максимальной скидки по карте сети, но без учета временных специальных акций и скидок.
** В этой записи использованы реферальные ссылки.



Читайте также:
1. Skromni’s Choice 2016: Любимые бьюти-бренды.
2. Skromni’s Choice 2016: Антирейтинг.
3. Skromni Beauty Awards 2015: Победители // Часть 3: Декоративная косметика.



https://skromni-beauty.livejournal.com/469399.html

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Дели — сокращай, или как мы делали мобильный 2ГИС Онлайн

Четверг, 20 Июля 2017 г. 09:19 (ссылка)





Мобильный веб развивается семимильными шагами. На дворе 2017 год. Мобильный трафик превысил десктопный — больше половины всех страниц теперь открываются через телефоны или планшеты. В 2015 году Google объявил о предпочтении mobile-friendly сайтов при ранжировании выдачи, а в 2016 это сделал Яндекс. Юзеры проводят в интернете 60-70 часов в месяц с мобильных устройств и не готовы идти на компромисс и пользоваться неадаптивными сайтами. И 2ГИС — не исключение. За 2 года рост мобильного трафика 2ГИС Онлайн составил 74%, а месячная аудитория превысила 6 миллионов человек.



17 апреля мы зарелизили новый мобильный онлайн («Монлайн») — одностраничное приложение, доступное по адресу m.2gis.ru. Приложение запущено в двух городах: Уфе и Новосибирске, а в ближайшее время планируется релиз на всю Россию.



Мы знали, что при мобильной разработке столкнемся с тремя проблемами:



Мобильный интернет

Мобильный интернет (2G, 3G, 4G) или Wi-Fi медленнее и не такой стабильный, как кабельный.



Мобильные устройства

Проблема мобилок — слабый процессор. Это влияет на парсинг JS, рендеринг и анимации.



Мобильные браузеры

Некоторые популярные мобильные браузеры не поддерживают часть CSS-свойств или методов JS API. Иногда мы думали, что вернулись в темные времена разработки под IE8. Мобильный интернет и процессор не позволяли использовать полифилы, а значит, приходилось выкручиваться самостоятельно.



Мы сохранили функциональность десктопной онлайн-версии и заставили Монлайн работать даже на убитом телефоне вашего дедушки под Пензой. О том, как мы это сделали, расскажем ниже.



Дели — сокращай



В мире мобильного веба JS-разработчик следует одному кредо: дели — сокращай. Конечный бандл мобильного приложения должен мало весить и быть разбит на куски.



Выбор фреймворка и библиотек



Главным и единственным фреймворком фронтенда является Preact. Это не опечатка. Preact — легковесная альтернатива React, использующая тот же API и работающая с Virtual DOM. Преимуществами фреймворка является небольшой вес (3 kB gzip против 45 kB у React) и более высокая скорость рендеринга. Благодаря использованию Preact вместо React размер нашего вендора сократился на 90%.



Preact отличается от React. Например, у него отсутствуют propTypes, но эта проблема решилась введением статической типизации, о которой расскажем в п. 3. Подробно различия между фреймворками описаны в официальном репозитории на github.



Кроме того, мы стараемся писать самостоятельно и не подключать сторонние полифилы и тяжелые библиотеки. Необходимые полифилы грузятся асинхронно через require.ensure и не попадают в бандл. Каждый полифил подключается только в зависимости от условий. Например, в случае с полифилом для Android Browser — мы сэкономили 5 kB кода в gzip.



Ленивая загрузка



image



JS сформирован. Теперь пришло время его разбить. JS код делится на 3 группы:




  • вендор — сторонние библиотеки;

  • app-бандл, в котором хранится главный код приложения;

  • либы и полифилы, подключаемые в зависимости от условий, таких как версия браузера;



Вендор минимизировали через выбор Preact, либы и полифилы подключаем асинхронно и по потребности. Остался последний герой. Гзипнутый app-бандл весом в 143 килобайта в gzip. Это роскошь для мобильной разработки. Так, если пользователь зашел в карточку организации, нет смысла моментально грузить код, отвечающий за рендеринг карточки метро или достопримечательности. Чтобы уменьшить размер app-бандла и доставлять клиенту как можно меньше кода, мы сделали ленивую загрузку.



Требования к коду № 1 в Монлайне гласит: «Код должен быть максимально простым и не знать или делать лишнего». На этом правиле базируется структура UI. В проекте 11 контейнеров и 85 «глупых» компонентов. «Глупые» компоненты не знают о существовании друг друга. Контейнеры объединяют компоненты в структуры и передают данные через пропсы. Карточка организации или отзыва, выдача зданий — примеры контейнеров. 6 контейнеров из 11 не связаны друг с другом, что позволяет разбить app-бандл на… интрига… 6 дополнительных чанков. При восстановлении браузер загружает app-бандл и нужный чанк, а затем асинхронно подгружаются остальные JS-файлы, отвечающие за неактивные контейнеры. Это не блокирует работу приложения. После релиза ленивой загрузки вес app-бандла сократился на 38%.



Хранение и нормализация данных на клиенте



В мобильном вебе критически важно быстро отображать страницы. В Монлайне, как и у 99,9% SPA, часть информации в контейнерах пересекается. Возьмем выдачу фирм и карточку отдельной организации. В выдаче выводится заголовок, адрес, расписание и т. д. Та же информация отображается и в карточке фирмы. Такая информация не меняется, пока юзер пользуется приложением. Нет смысла ждать ответа от сервера, если пользователь уже просматривал эту информацию в прошлом, ведь ее можно хранить на клиенте в единственном экземпляре и показывать данные здесь и сейчас.



Нормализация данных на клиенте — это хранение уникальных данных в стейте, переиспользуемых в контейнерах. Хранение данных на клиенте увеличивает скорость отображения контента, а нормализация убирает дубли и разделяет статические данные и данные, зависящие от контекста.



Нормализация держит стейт в чистоте. Если статические данные просмотрены, то они сохраняются в стейте в отдельной таблице. Например, если пользователь открывает одну фирму несколько раз, то в стейте она хранится в одном экземпляре с доступом по id. И информация об этой фирме используется для любых нужд: в карточке самой организации, выдачах, отзывах, фотографиях и т. д. За форматирование данных отвечают селекторы контейнеров.



Приведем еще один пример. Попасть в карточку компании можно через поисковый запрос, переход по рубрике или просто восстановившись по ссылке с ее id. Поисковый запрос или id рубрики добавляется в URL, который роутер распарсивает при восстановлении. Если в URL есть что-то помимо id фирмы, в стейт сохраняются как информация о ней, так и данные о первых 10 фирмах, соответствующих поисковому запросу или рубрике. При переходе из карточки компании в выдачу пользователь мгновенно получает список организаций и так же быстро может открывать страницу каждой фирмы.



Люди не любят ждать не только загрузку контента, но и ответа при отправке данных через формы. Хранение данных на клиенте уменьшает время ожидания при сохранении информации. Информация в стейте развязывает руки при создании оптимистичных интерфейсов. Оптимистичный UI-дизайн показывает конечное состояние до того, как приложение в действительности заканчивает (или даже начинает) операцию. После сабмита данных пользователь мгновенно получает информацию об их сохранении благодаря тому, что информация юзера сохраняется в стейте и отправляется на сервер в фоновом режиме. Только если с сервера пришел ответ с ошибкой, приложение оповестит юзера соответствующим сообщением, в остальных случаях ответ сервера не выводится на экран.



Облегчаем себе разработку



В создании Монлайна поучаствовали 34 разработчика. В мастер слили 2 000 коммитов, написали 77 000 строк кода и создали 1425 файлов. В проекте участвовали люди из других команд, ребята приходили на стажировки. Мы хотели ускорить процесс разработки, сделать код понятным и документированным. Поэтому решили отказаться от динамической типизации в JavaScript.



Статическая типизация



Клиентская часть приложения написана на TypeScript. Статическая типизация — главное преимущество TypeScript над JS. Она бьет по рукам в случае ошибок при компиляции, документирует код изнутри и облегчает рефакторинг и отладку.



Для управление состоянием приложения в проекте используется Redux. Redux сочетается с TypeScript. Разработчик знает, что передается в payload или meta и, соответственно, что приходит в редьюсер. Например:



export const setScrollTop = (payload: number) => ({
type: APPCONTEXT_CHANGE_SCROLL_TOP,
payload
});

export const setErrorToFrame = (errorCode: ErrorCodeType) => ({
type: APPCONTEXT_SET_ERROR_TO_FRAME,
payload: { errorCode }
});


TypeScript упрощает работу с редьюсерами (чистые функции, которые вычисляют новую версию стейта и возвращают ее). Например, редьюсер, отвечающий за обновления информации о текущем контексте приложения в стейте, обрабатывает 69 экшнов. На выходе получаем метод со свитчем в 100 строк кода, возвращающий новый стейт. Критически важно в таком большом полотне обрабатывать только нужные экшны.



export default function (state: AppContext = defaultState, action: AppAction): AppContext {
switch (action.type) {
case APPCONTEXT_ADD_FRAME:
return appAddFrame(state, action.payload);
case APPCONTEXT_REMOVE_ACTIVE_FRAME:
return appRemoveActiveFrame(state);
....
case APPCONTEXT_HIDE_MENU:
return { ...state, isSideMenuShown: false };
default:
return state;


Избежать путаницы с набором экшнов в редьюсере и данными в payload или meta помогает Discriminated Unions. В коде выше видно, что аргумент action описан типом AppAction, который выглядит так:



export type AppAction = AppAddFrameAction | AppRemoveActiveFrame | AppChangeFramePos | AppChangeMode | AppChangeLandscape…


AppAction объединяет в себя 60 интерфейсов (appAddFrameAction, AppRemoveActiveFrame и т. д.). Каждый интерфейс описывает экшн. Тип (type) экшна — строковый литерал — это дискриминант. Он определяет наличие и содержание внутренностей объекта, таких как payload или meta.



export interface AppAddFrameAction {
type: 'APPCONTEXT_ADD_FRAME';
payload: Frame;
}

export interface AppRemoveActiveFrame {
type: 'APPCONTEXT_REMOVE_ACTIVE_FRAME';
}

export interface AppChangeFramePos {
type: 'APPCONTEXT_CHANGE_FRAME_POS';
payload: FramePos;
}


Так TypeScript понимает, что для экшна с дискриминантом 'APPCONTEXT_ADD_FRAME' нужно передать payload с интерфейсом Frame, а в случае 'APPCONTEXT_REMOVE_ACTIVE_FRAME' ничего передавать не нужно.



Preact также сочетается с TypeScript. В Preact отсутствуют реактовские propTypes, решающие проблемы проверки типов у компонента. Но TypeScript восполняет потерю. Например, разработчик знает, что передается через пропсы компоненту и что хранится в стейте.



export interface IconProps {
icon: SVGIcon;
width?: number;
height?: number;
color?: string;
className?: string;
}

export class Icon extends React.PureComponent {
constructor(props: IconProps) {
super(props);
}

public render() {
const { color, icon } = this.props;
const iconStyle = color ? { color: this.props.color } : undefined;

return (



);
}
}


TypeScript задокументирован и имеет песочницу. Разумеется, язык не всесилен, на июль 2017 года открыто 2200 issues. Продукт Microsoft не поддерживает часть нововведений в ES6. Но медленно и верно эти проблемы решаются в каждом новом релизе.



Создание и тестирование верстки



В мобильном онлайне — 85 «глупых» компонентов. «Глупые» компоненты — визуальные сущности, отвечающие за представление полученных данных. В первую очередь мы хотели разделить верстку и интеграцию этих компонентов в приложении. Это позволило бы ускорить code review и тестирование ресурсом разработчиков. Для достижения этих целей используется Makeup.

Makeup — графический интерфейс для быстрого и комфортного ручного регрессионного тестирования верстки. Подробно почитать об инструменте можно здесь, а потрогать — здесь.



С помощью Makeup верстка компонентов делается на отдельном хосте с замоканными данными без привязки к приложению. Это позволяет тестировать визуализацию компонента на уровне разработки, подгонять верстку под pixel perfect и уже позже заниматься интегрированием.



Так в Makeup выглядят различия между тем, что нарисовал дизайнер, и тем, что сверстал разработчик.



image



А так мы проверяем «одиннадцатиклассницу» и видим, что ничего не поехало:



image



Заключение



Подытожим. Мы проделали большую работу по уменьшению бандла и увеличению скорости загрузки страницы. Данные хранятся на клиенте. Вендор весит на 90% меньше, чем изначально мог бы. Бандл не включает лишних библиотек и полифилов, а нужные отдаются кусочками по потребности. TypeScript дает больше контроля над приложением, а Makeup упрощает работу с визуальной составляющей Монлайна.



В планах разбить «жирные» модули в зависимости от контекста (например, карточку фирмы или геообъекта разделить на отдельные чанки) и попробовать разбить редьюсеры.



Статья посвящена JS-коду. Но разработческое кредо «дели — сокращай» распространяется и на CSS-бандл. В будущем мы также планируем заняться и сплиттингом стилей.


Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/333016/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<makeup - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda