Gena
Но меня вот что волнует, даже после беглого осмотра этого хозяйства, видно, что можно размер бандла уменьшить довольно значительно. В моем случае раза в полтора, думается...
Где-то 100Kb можно от RN было бы выкинуть - ART, Experimental, Navigation, ListView, BatchedBridge и ещё по мелочам набежит, думаю.
Дальше bluebird, pretty-format - я без них могу прожить (-130Kb)
Дальше, если бы react-native-firebase перетряхивался, то было бы (-100Kb)
Ну и мелочь всякая... regenerator-runtime, который мне не сдался вообще (ну не использую я await), lodash-es с lodash схлопнуть... если бы оптимизация была нормальная ещё бы половина mobx ушла (я довольно мало от него использую)
А, точно... ещё там зачем-то ReactFabric на 70Kb... хотя он экспримент, и его по умолчанию бандлить не надо )
В общем в итоге,думаю бандл был бы не 1.7Mb, а около 1Mb, что как бы значительно лучше...
И в этом свете странно, что когда я haul пробовал, он давал более объемные бандлы, чем metro... надо бы ещё раз проверить
Gena
Может его вообще, это... сперва через rollup пропустить перед продакшном, а потом уже в metro засовывать? )
Dmitry
Dmitry
Gena
Сергій
открытие )
Dmitry
Dmitry
Я то думал, что интерпретация имеет место быть в деве, но никак не в релизных сборках
Dmitry
Gena
Не знаю хорошо это или плохо... но я вообще не очень представляю, как такие динамические языки, как JS оттранслировать в натив... можно некий байт-код довольно низкоуровневой виртуальной машины, но это фактически не даёт преимуществ... потому что это всё те же динамические структуры данных... и всё равно транслятор весь встраивать, потом что eval и new Function (мне казалось в v8 даже был специальный бинарный формат для сериализации разобранного AST, но не уверен)... толку в общем от этого представления нет...
Flatter способен транслироваться в натив, но там не javascript... это другой язык...
Dmitry
Gena
На самом деле унывать тут не стоит... по сравнению с другими динамическими языками, JS интерпретаторы мега быстрые )
Сергій
Сергій
он сразу в Native Library ассемблируется
Dmitry
Сергій
Сергій
Dart не JVM язык
Gena
Ок... я и не писал, что JVM... переспросил чтоб точно знать... потому что не работаю с ним )
Сергій
он собирается в бинарь(.so)
Gena
Это логично, т.к. для iOS и прочего им всё равно только в бинарь собираться.
Gena
Ну я с дуру собрал простенькое приложение на swift и ощутил эйфорию, как с этим жить теперь.. не знаю
Жить просто... если вам нужно только приложение под ios или только под android и у вас под рукой нативный разработчик - то конечно RN не даст преимуществ, только недостатки (больший размер приложения, медленней, ненативные анимации)... Но если вам разрабатывать под обе архитектуры - стоит уже задуматься, а если вам удастся ещё и с web часть кода пошарить, то дальше на поддержку этого будет уходить намного меньше ресурсов... Настолько "намного", что это скорей всего перевесит недостатки...
Gena
Схема, которую RN предоставляет просто сильно дешевле для конечного заказчика (по крайней мере в теории)
Dmitry
У нас в компании сейчас тендер на разработку приложения на RN под iOS и Android и по сути она равна стоимости разработки отдельных приложений. Не буду озвучивать конкретные цифры, просто мы запрашивали разные варианты
Dmitry
Но больше всего мне неприятно то, что многие компании, которые занимаются нативной разработкой, кроют всеми словами RN, в то время, как RN-ориентированные - адекватно реагируют на нативную разработку...
Gena
Ну да... на конечное ценообразование влияет ещё очень много факторов... макретинг не последний из них )) В конце концов, себестоимость кока-колы и просто минеральной воды примерно одинаковая ведь и примерно равна стоимости упаковки, а цена различается...
Dmitry
Andrei
Ребят, всем привет
Суть проблемы такова: Если я убираю export default и оставляю connect, то StackNavigator работает, но при этом редукс не работает
Andrei
Как это можно пофиксить?
Andrei
Чтобы работало и то, и то
Arthur
дефолтный экспорт может быть только один
Arthur
вообще убирай дефолтные экспорты
Arthur
оставь
expor const ConnectedApp = connect()()
export const StackNav = createStackNav()
Arthur
import {ConnectedApp, StackNav} from 'path_to_file'
Stas
ради интереса запустил мак ос в virtualbox в ubuntu. bundle почти в 2 раза медленее. Если отключить анимации, то вполне юзабельуно, даже fullhd видео играет. жду пока xcode скачается. Ужасная идея запустить билд сервер на локалхосте, чтобы ios cобирался...
Dmitry
Serge
Что за случай с Медузой?
Alexander
Чят, а подскажи, пожалуйста, либу/способ чтобы на клик по Image, само изображение открывалось в полный экран. Ну типа как галерея — кликаешь на превью изобржаение, и оно во весь экран.
Ivan
@merryjs/photo-viewer
Alexander
@merryjs/photo-viewer
Забыл уточнить, что мне для Экспо надо. :-)
Этот вариант, скорее всего, не прокатит.
Dmitry
А что такое медуза
Dmitry
Написано так, как будто это что серьёзное и крутое
Chu
Всем привет!
А кто-нибудь делал пуш-уведомления с детаченным экспо клиентом?
Вижу решения для не-экспо или для недетаченного экспо.
А есть ли именно с таким кейсом возможность их запустить? На иос.
Nick
Dmitry
Первый раз вижу
Serge
Спасибо!
Aynur
всё меньше дают - битки заканчиваются
Ilya
Народ, всем привет! Может кто-нибудь в личку написать, как дебажить приложение при использовании андройд эмулятора
Ilya
буду очень признателен
farwayer
Прикольно, думал у медузы с самого начала был RN. А у них, оказывается, натив сейчас.
Vadim
А зачем они нативщиков увольняют?
Vadim
Vladimir
> много просят денег
вы так говорите, как будто это плохо 🙂
Cenator 🐈
не плохо если они работают, но тут разговор про то что вся работа теперь на реакт нативе
Vladimir
Все так, поменяла компания стек решением менеджмента, меняет инженерный состав чтобы соответствовал, обычное же дело.
Vladimir
А имя компании и название технологии это детали которые не стоят внимания, в данном случае.
zamir
для таких штук испульзуите это
https://www.npmjs.com/package/react-native-root-toast
???
Vladimir
Вот вообще говоря не факт что экономия ресурсов есть. Спустя почти год разработки (50+ человек на одном приложении) для нашей компании вопрос ещё открытый, насколько мне известно. Опыт других компаний, которые делятся им в сети, тоже не однозначный. Технология точно имеет право на жизнь, но о превосходстве перед нативной разработкой говорить определенно рано.
Arthur
Подобное и о ксамарине сказать можно
Vladimir
Именно, и это прямой конкурент для RN.
Arthur
В формсах можно шарить 80-90% кода, в нативе около 40%
Arthur
И тоже всё весьма непонятно насчёт выгоды
不退転」
Ничо, ничо, скоро Флаттер всем покажет 🌝🌝🌝
Cenator 🐈
Лол
Cenator 🐈
Еще бы дарт выкинуть оттуда)
Stas
чем фэйсбук лучше гугла и эпла?
Stas
он может потерять интерес к проекту и в лучшем случае открыть полностью
Vit
https://medium.com/zynga-engineering/why-how-words-with-friends-is-adopting-react-native-b24a405f421c
Vit
Dmitry
В этом и проблема, мы не знаем как далеко пойдёт Facebook с RN
Dmitry
Могут хоть завтра закрыть и все)
Stas
хз интересно ли кому. Сегодня тыкал xcode внутри virualbox на ubuntu. os и сама среда в 80% работает нормально. на симуляторе небольшие артифакты отрисовки, но скорость приемлема. Отклик явно быстрее чем teamviewer. Cборка проекта по ощущениям как на слабом mac mini. хост w530 c i7 с ssd.
Ivan
Stas
а долго ли запущен был xcode? он имеет свойство уходить в себя и что-то там индексировать, мне удавалось ~2 часа в нем ковыряться, пока не наставал момент, когда дикие тормоза игнорировать нельзя было и только ребут, но то винда с vmware, так же i7, ssd, 16гб
тоже часа 2, может чуть больше. но я ковырял больше js, в xcode только симуляторы переключал. сам по себе xcode не такой уж стабильный, может дело было не в окружении.