Обновить
0
0
Evgeny Zaytsev@FasSsko

Senior Front-End Developer

Отправить сообщение

во первых большая часть советов никак не связана с TS, они в уелом про чистый код.

во вторых enum (как и в целом все runtime TS фичи) это зло. Они нарушают саму идею TS как типизированный JS. Например последняя нода может игнорировать типы и запускать TS напрямую без транспайла, но только в том случае если не используются runtime фичи (enum, namespace, etc). Не говоря уже про возможные проблемы енамов с автогенерацией кода.

в третьих лучше всегда использовать ‘interface’ over ‘type’. Использовать типы лучше только тогда, когда интерфейс не подходит, например union или intersection. Разница в том, что при пересечении типов TSу нужно больше памяти, чем при использовании интерфейсов с экстендом. На больших проектов это может влиять на скорость проверки типов тсом

Скажу немного за RN. Мы юзаем нэйтив + RN на 10+ проектах, а это по 2 приложения на проект (iOS, android), так вот крашей связанных с RN на iOS практически нет (до 10 в сутки), на android чуть больше, но там проблема в том, что продюсеры умудряются загрузить картинку 4k, или парочку таких, вот оно и падает, это всё в рамках одного проекта. И да, у нас активных юзеров полтора — два миллиона на проект(на iOS раза в полтора больше чем на android). Ну и по поводу размера, фэйсбук столько весит не из за RN, у них под капотом куча всяких скрытых фич. У нас android весит около 30mb, iOS около 70, сюда входит грид (видосы с автоплеем, Инстаграм посты, твитер посты, кастомные ячейки), селфи фильтры, реклама, кучу скринов на RN, да и вообще много всего. На нэйтиве у нас грид, камера, пару простых вьюх (не успели перевести на RN), ну и нэйтив общается с бэкендом по WS(по историческим причинам, наши js либы не поддерживают RN, пока что), всё остальное на RN. И за больше чем год использование данной технологии в продакшене, почти нет никаких нареканий, всё работает весьма быстро и стабильно и с каждым релизом RN становится всё лучше и лучше. Поэтому смело могу сказать, если у кого-то что-то не получается с RN или он падает постоянно, то очень большая вероятность что проблема не в RN, а в недостатке знаний или в кривых руках.
Мы последний год используем RN в продакшене. Приложения у нас гибридные, часть на RN, часть нативная, так вот под RN кастомное почти ничего не писали, только Bridge для общения RN — Native, всё остальное есть в npm. По поводу перфоманса, RN не совсем хорошо справляется с большим количеством анимаций, а так в целом не отличить где RN а где Native. В общем мы большем выигрыше с тех пор, как начали использовать RN, ибо приложение делается сразу на две платформы без особых усилий.
Парочку ссылок на апки, для тех кому интересно:
X Factor iOS: itunes.apple.com/gb/app/the-x-factor-uk/id455682741?mt=8
X Factor Android: play.google.com/store/apps/details?id=com.tellybug.xfactor&hl=en_GB
Love Island iOS: itunes.apple.com/gb/app/love-island/id994494368?mt=8
Love Island Android: play.google.com/store/apps/details?id=com.itv.tellybug.loveisland
Забивать редакс всяким мусором не лучшая идея…
так-то нет ES7, есть ES2015 aka ES6 и ES2016 — в который вошли 2 фичи(includes и **)
Не WebSockets, а WebWorkers)
Вот Реакт, с его серверным рендерингом, как раз для этого и подходит.

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность