Maxim 📱 D
кто знает как можно ускорить холодный запуск приложения? использовать ram-bundle пробовал, не помогло. У меня больше 1700 модулей, из них около 60 грузятся при старте. Хотелось бы, чтобы вместо 6 секунд, загрузка длилась хотя бы 2-3. Обновлять jsc тоже не вариант, ибо хотелось бы остаться с 16 minSDK (хотя я попробовал и это не сильно помоголо)
Gena
кто знает как можно ускорить холодный запуск приложения? использовать ram-bundle пробовал, не помогло. У меня больше 1700 модулей, из них около 60 грузятся при старте. Хотелось бы, чтобы вместо 6 секунд, загрузка длилась хотя бы 2-3. Обновлять jsc тоже не вариант, ибо хотелось бы остаться с 16 minSDK (хотя я попробовал и это не сильно помоголо)
Но 60 модулей это не так много... А 6с очень много... Могу предположить, что тут скорее не в кол-ве модулей дело, а в кол-ве кода, который на верхнем уровне в файлах модулей... а удалось отпрофилировать загрузку хоть как-то, чтоб точно понять в чем дело?
Gena
Вроде на android у RN есть трейс довольно подробный (я не пробовал через него, поэтому точно не знаю какую информацию он выдает)
Maxim 📱 D
а колво кода большое и правда
Gena
там mqt_js поток секунды 4 занимается чем то, а чем не понятно
На ios я бы попробовал профайлер js в chrome... Но чтоб профилировать загрузку в нем есть проблема, т.к. в нем надо явно кнопку начала профилирования нажать... Тогда у меня была мысль сделать так: обернуть всё в один очень мелкий компонент который ничего не импортит, кроме react и react-native, из которого по кнопке сделать require (именно require, не import) всего приложения... отобразить это, запустить рофайлер и нажать кнопку... по идее это должно дать профиль загрузки в JS...
Maxim 📱 D
Жёстко)
Gena
Это позволит получить сравнительные времена для обработки каждого модуля и понять, если они все одинаковые - значит проблема не здесь и надо смотреть на парсинг бандла или на натив... если есть какие-то модули, у которых top-level код выполняется долго, то копать в них... либо через require включать когда нужны, либо переписывать и думать что как организовывать.
Maxim 📱 D
там прям по модулям загрузка видна будет?
Gena
там прям по модулям загрузка видна будет?
Не совсем, хотя не знаю, м.б. можно будет сгруппировать... но там будет видно где тормозит и дальше можно будет зазумиться в нужное место... ща пример скину, как оно выглядит.
Maxim 📱 D
Просто в андроиде трассировка не показывает модули из жс
Gena
Просто в андроиде трассировка не показывает модули из жс
Да, модули (имена файлов и имена ф-ций) видны... я хотел скриншот скинуть, но наткнулся на то, что в RN 0.57 что-то довольно сильно поменяли: 1. Теперь в профайлере есть раздел "User Timing" с разбивкой по компонентам и их lifecycle 2. Как-то сильно хуже обычный код показывается... я вижу работу react worker'а, но не могу найти свой код (м.б. сам реакт тяжелей стал настолько...) Всё, нашел (в общем это то ли react потяжелел, то ли профайлер стал семплы делать реже) вот там по стрелочке виден код самого приложения (как можно фидеть файлы указаны, но надо проверить, что это же происходит для кода верхнего уровня): http://vovkasm.skitch.vovkasm.org/rn-profile_215CC948.png
Олег
привет, не ругайте строго)) может кто подскажет, как на apple сделать платную подписку в приложении? документацию не нашел, везде как ее отменить
Олег
а сами тарифы как в андроид надо как-то создавать?
ana 🪢
а сами тарифы как в андроид надо как-то создавать?
да. через appstoreconnect в разделе Мои приложения - Функции - Встроенные покупки
ana 🪢
там будет тип встроенной покупки: подписка
Олег
спасибо
Anonymous
Как сделать слайдер выезжающее меню?
Maxim 📱 D
https://yandex.ru/search/?text=Как%20сделать%20слайдер%20выезжающее%20меню%20react%20native&clid=1955453&win=344&lr=56
Maxim 📱 D
Anonymous
там говорят много инфы)
Ну я нашла найтивбейс, но это сторонняя библиотека, хотелось бы средствами реакта, если это что-то стандартное, то вы должны знать)
Aynur
в NativeBase - deprecated, можете использовать Drawer от React-navigation, если у вас он конечно же
Maxim 📱 D
Ну я нашла найтивбейс, но это сторонняя библиотека, хотелось бы средствами реакта, если это что-то стандартное, то вы должны знать)
средствами реакта можно, но реализация в нативной части будет эффективнее, и если сами не можете в натив, тогда лучше подключить стороннюю. А если в рн сами хотите то ловите свайп, анимируете выезжающую вьюху и пихаете в нее меню https://facebook.github.io/react-native/docs/handling-touches#scrolling-lists-swiping-pages-and-pinch-to-zoom
Maxim 📱 D
или этим ловите жест https://facebook.github.io/react-native/docs/gesture-responder-system#docsNav
Maxim 📱 D
основной минус в том что вся бизнес логика которую вы запихнете в js код будет лагать если вы ее не оптимизируете, и из за этого будет лагать мобильное приложение.
Maxim 📱 D
А в остальном вы можете хоть все на нативке написать а в index.js подключить нативный экран. Т.е. минус в том что он не может на 100% объединить 2 платформы и позволить писать на 1 языке, все равно для серьезных проектов придется писать свои модули на нативке.
不退転」
Пипл, есть кто интегрировал HelloSign в приложение? Поделитесь опытом
Maxim 📱 D
ну и для кого то js это минус
yellow
https://yadi.sk/i/AtoV01oSZWrrFg мб есть рн компонент для такого или через switch(js-вский) делали бы?
Denis
Есть варианты как можно заблюрить задний план в модалке?
A
Коллеги, кто работал с react-native-config ?
A
android отказывается собираться, не видит правильный app_id в AndroidManifest.xml
A
вот в package
A
как туда прокинуть строку из .env файла? оф дока, и прочее не помогли
A.
можно попробовать minify отключить
Maxim 📱 D
Есть варианты как можно заблюрить задний план в модалке?
это сложно делается, посмотрите в гугле, там есть решения
A.
--no-minify
A.
Есть варианты как можно заблюрить задний план в модалке?
как вариант можно сделать модалку внутри View, которое аболютно спозиционировано и занимает весь экран. У этого View выставить backgroundColor: 'rgba(0, 0, 0, 0.5)'
A.
ну и положить её над вашей навигацией)
Denis
это сложно делается, посмотрите в гугле, там есть решения
Мб плохо пытался, но единственное что находит это rn-blur, а он только по картинкам
A
react-native-config, друзья, кто использовал?)
Maxim 📱 D
react-native-config, друзья, кто использовал?)
да, этим и сложно, делаете картинку фона, потом размываете ее и ставете поверх приложения и показываете модалку
Maxim 📱 D
Ну я только такой способ знаю
Maxim 📱 D
других способов нет даже в нативке
A.
я то же самое написала)) только 'поверх приложения' это обычно навигация
Maxim 📱 D
документация есть
A
Димка , я тебя вижу
A
подсоби плиз c react-native-config
A
если работал
Maxim 📱 D
многие забывают прост)
A
@savelichalex , Лёша, может ты?
Aleksei
@savelichalex , Лёша, может ты?
я свое писал, давно это было)
A
интересно как люди пишут проекты, на настраивая при этом multiple target и react-native-config? как тогда делать билды под dev, stage, prod?
yellow
есть картинка которая в высоту 300px а в ширину 2000px как сделать чтобы ее можно было проскролить влево-вправо
Vall
установил либу для скан кода, когда импорчу то подчеркивает, навожу и пишет такое сообщение, почему так вообще пишет, в либе не доработка или как? ```[ts] Could not find a declaration file for module 'react-native-barcodescanner'. '/home/valentin/work/projects/scanerrr/node_modules/react-native-barcodescanner/BarcodeScanner.js' implicitly has an 'any' type. Try npm install @types/react-native-barcodescanner if it exists or add a new declaration (.d.ts) file containing declare module 'react-native-barcodescanner```
Maxim 📱 D
интересно как люди пишут проекты, на настраивая при этом multiple target и react-native-config? как тогда делать билды под dev, stage, prod?
дев собирается react-native run-android, релиз ./gradlew assembleRelease, тесты на релизной версии гоняются
Maxim 📱 D
if (__DEV__ === true)
A
да, а если у тебя под каждый environment свой сервер, свой bundle id
Maxim 📱 D
if (__DEV__ === true)
A
и везде нужен свой google-services.json или google-info.plist
A
вот тоже начал задумываться
Ilya
We are happy to announce a final release of our mobile application template - React Native Starter to ProductHunt. https://www.producthunt.com/posts/react-native-starter Happy to hear your feedback and comments! For Product Hunters we have a special offer - 10% discount on React Native Starter! Use the following promo code: PRODUCTHUNT10!
Maxim 📱 D
Так себе приложение у них 🤷‍♂️
Ilya
On product hunt
The Max
The Max
👍
E13 Думал меня куда-то добавили уже 😅 Ладно, прекращаю флудить)
Maxim 📱 D
Приложение на 5 экранов и 36 мб, найс сделали ребятки
Ilya
1) Не на 5 экранов 2) Expo
Maxim 📱 D
я вижу, ну 10 ок, но 36 мб это оч много, и вы предлагаете так писать приложения для разработчиков
Maxim 📱 D
хотя мб айфоны по 256 гб это средний рынок уже, и про нехватку памяти уже речь не идет🤷‍♂️