
morda
13.10.2018
10:25:08

Pavel
13.10.2018
10:25:38
Только сегодня задавался вопросом как статистику глянуть - чего там в бандл залетело

morda
13.10.2018
10:26:37
мдя у эпла по марке девайса статы нету
айфон и всё)

Google

Gena
13.10.2018
10:28:37

Pavel
13.10.2018
10:30:01
Вот, значит не я один заметил это) Уже подумываю о том, чтобы выпилить его из проекта
И это несмотря на аккуратные импорты вида import debounce from 'lodash/debounce';

morda
13.10.2018
10:40:30
пакеты тянут)
в вебе бы так заморачивались)

Pavel
13.10.2018
10:41:02
там вообще дичь

morda
13.10.2018
10:42:07
ну там джун «можно я либу добавлю» смотрю +50кб к бандлу, смотрю по смыслу - 10 строк вёрстки)

Pavel
13.10.2018
10:42:16

morda
13.10.2018
10:42:36
азазазазаза
чото ржу)

Pavel
13.10.2018
10:43:31
+ пакет rn-camera со своим lodash-ем приходит

Gena
13.10.2018
10:45:40
)))

Google

Stas
13.10.2018
10:47:54

Gena
13.10.2018
10:49:35

Stas
13.10.2018
10:50:44
Можно из натива выжать все, что можно, потом пробовать эти эксперименты. Я ещё видел как кто загружал часть js через eval. хз можно ли так скажем загрузить redux)

Pavel
13.10.2018
11:00:12

Stas
13.10.2018
11:00:50

Denis
13.10.2018
11:04:19

Stas
13.10.2018
11:04:55

Pavel
13.10.2018
11:04:56
Там вроде тоже не бесплатно

Denis
13.10.2018
11:05:07

Stas
13.10.2018
11:07:03
Ненене, этого ужаса не надо
А че ужас. Опенсорс, stable, шарп даст фору хоть котлину, хоть js, в плане выразительности и системы типов. Не хайп, и экосистема хуже.

Denis
13.10.2018
11:07:26

Stas
13.10.2018
11:09:47

Gena
13.10.2018
11:09:54
Или на xamarin.
А у него так же как у nativescript нет абстракций над нативным ui?

Stas
13.10.2018
11:10:26

Denis
13.10.2018
11:10:33


Gena
13.10.2018
13:47:39
Я ещё раз сделаю с последним метро... через пару часов, как до компа доберусь
http://vovkasm.skitch.vovkasm.org/mainbundle_21722A0D.png
Красное - не должно было попасть в бандл ни при каких обстоятельствах и тут даже dead code elimination не нужен… просто надо правильно es-импорты реализовать Оранжевое - вот здесь умный транслятор должен засечь и вырезать куски неиспользуемого кода… это, однако, довольно сложная задача Зеленое - это код наших моделей и приложения. С моделями (core) интересно другое - размер сейчас 89Kb, этот модуль перед установкой компилится rollup в один es модуль(файл), который после минификации в приложении 89Kb. Фишка в том, что если его не бандлить через rollup, а целиком поставлять в приложение в исходниках, то его размер после минификации составит 91Kb… т.е. каким-то магическим образом metro на каждый файл/модуль имеет ещё оверхид…
Итого, если просто не включать в бандл то, что не импортится, размер RN упадет по меньшей мере с 525Kb -> 400Kb, т.е. на ~20%
Это собственно попытка объяснить почему я так упорно последние недели эту тему мусолю...

Google

Alexander
13.10.2018
14:54:41
20%, 125 кб это как то даже не заметно

Gena
13.10.2018
15:07:52
Это только ядро RN и только при тупом не включении того, что не используется на уровне es модулей и только грубая оценка - ну в картинке видно, как я её получил...
Просто сложил всё, что красным обведено внутри папки node_modules/react-native получилось 125Кб примерно... Если суммарно бандл на 20% уменьшится - это само по себе хорошо, но не будет стоить вставки кастомного процессинга и всех экспериментов с closure-compiler... Но это очень грубая оценка... я от closure-compiler больше ожидаю
Я просто теперь не могу это "развидеть" ))) Меня прям грызет ощущение, что у меня в продакшн бандле лежит ненужный экспериментальный Fabric рендерер ))) Вот до степени, что работать мешает )

Dmitry
13.10.2018
15:16:48
на самом деле тут в бабке не ходи, там куча говна

Alexander
13.10.2018
15:17:13
это напоминает момент когда начинаешь кастомизировать свой воркфлоу и сетап на линуксе, вроде и без этого можна, но вот аж типает

Stas
13.10.2018
15:21:11
можно написать плагин для babel который будет заменять импорты на пустые файлы для списка ненужных модулей. может уже такое есть

Gena
13.10.2018
15:21:49
Я на это обратил внимание, потому что хотябы куски RN неиспользуемые хочу повыкинуть (Fabric, Experimental...)

Stas
13.10.2018
15:23:43
до сих пор не понимаю, почему бы просто не включить ram-bundle и ждать лучших времен? время старта будет быстрее. ну пусть эти 20% лежат в билде, но никогда не загружаются.

Gena
13.10.2018
15:25:06
Возможно, в итоге я так и сделаю ))))
Правда, я далеко не уверен, что с таким бандлингом ram был оправдан... ведь при этом загрузка каждого чанка становится медленнее
Но это так... без измерений "пальцем в небо"

Stas
13.10.2018
15:27:35
ну можно похекать: на первом компоненте грузить самый минимум модулей. потом через inline require грузить второй, у которого в top level require все тяжелые модули, даже если они не нужны конкретно для него
измерит надо, это да

Dmitry
13.10.2018
16:16:01
народ, а кто нибудь знает такие сервисы, типа codeopen только для RN ?
чтобы рисовать визуальный компоненты ?

Demuz
13.10.2018
18:31:28

Dmitry
13.10.2018
19:15:15
Ну так дубликат же

Aleksey
13.10.2018
20:24:03

Google

Aleksey
13.10.2018
20:25:56

Dmitry
13.10.2018
22:47:28
Думаю, что надо делать кастомный с анимацией и просто вешать смену позиции на onScroll

Иван
14.10.2018
07:44:29
Всем привет! Возникла проблема с RefreshControl на iOS. RefreshControl принимает refreshing={a || b || c}. 'a' 'b' или 'с' приходят из пропсов. Проблема в том что контент не смещается вниз когда refreshing === true и спинера не видно соответсвенно. Бывает видно как контент на пару пикселей смещается и всё. Иногда срабатывает нормально после того как ручками немного "помочь застрявшему рефрешеру" (чуть-чуть свайпнуть вниз). Сталкивался кто-нибудь с таким?

Gena
14.10.2018
08:34:47

Иван
14.10.2018
08:38:23

Gena
14.10.2018
08:42:15
Expo не по моей части... в RN правили несколько багов на эту тему, они легко ищутся в issues...
Но у нас до сих пор есть специальный код, который на начальной загрузке данных, вместо списка рендерит отдельный RefreshControl, и только когда данные приходят, заменяет его на список уже со своим pull-to-refresh

Play
14.10.2018
09:04:56

ALIAKSANDR
14.10.2018
10:44:35
привет. Скажите кто-нибудь, как очистить кеш приложения в React Native ? Например если хочу создать конпку для настроек приложения "очистить кеш" Не нашел ни одного рабочего подходящего модуля.

Stas
14.10.2018
10:49:47

ALIAKSANDR
14.10.2018
10:52:05

Yergali
14.10.2018
10:52:40
Всем привет. Здесь есть кто с Алматы?

Gena
14.10.2018
11:07:25

ALIAKSANDR
14.10.2018
11:09:26
Что значит само? Вы сами его писали? ;-)
да. И я конечно же не сохранял никакие данные. Но при этом если зайти в настройки телефона, выбрать приложение, там есть кнопка a delete all data . Есил ее нажать, то начинае отображать актуальные данные, Из чего я и сделал вывод что ОС сама кеширует некие данных типа как это делает браузер,

Gena
14.10.2018
11:12:29

ALIAKSANDR
14.10.2018
11:14:06
да, это внешний запрос. При этом в дебаге данные изменены как надо, но отображаются старые. Впрочем, если ось сама не кеширует, значит нужно искать где я сам ошибся и модуль для удаления кеша никчему

Aynur
14.10.2018
11:21:56
я так понимаю, что это Android. То есть, если закрыть (не свернуть, а именно закрыть) приложение, и зайти обратно - данные старые?

ALIAKSANDR
14.10.2018
11:22:09
да

Aynur
14.10.2018
11:22:33
wtf? запишите видео пожалуйста

Google

Stas
14.10.2018
11:23:51
андроид на нативном уровне в некоторых случаях сохраняет куки автоматически. https://github.com/facebook/react-native/issues/14063
и вы не поймете это без дебага кода на джава)

ALIAKSANDR
14.10.2018
11:36:52
нет, это была все-таки логическая ошбика.
спасибо за помощь,

Berik
14.10.2018
13:48:08

RoGr
14.10.2018
16:17:11

Eugene
14.10.2018
16:20:36
Через терминал. Заходишь в хомяк, создаёшь файл,если его нет, и потом добавляешь нужные строки

RoGr
14.10.2018
16:22:20

Eugene
14.10.2018
16:24:10
Обычно когда запускаешь терминал, он с неё и стартует. Смотри приглашение терминала.

Mikhail
14.10.2018
17:16:59
cd ~

Dmitry
14.10.2018
19:59:31
Народ, вопрос такой. Можем есть кто, кто хочет что-то совместное замутить, у меня есть пару идей, может у вас есть, но одному тяжело. Можно было бы на досуге попилить =)

✡️Хаски
14.10.2018
21:17:21