Steve
Я думаю я писал приложение через которое ты тут пишешь сообщения
Steve
Я читал что они там переписывают и какая-то ерунда полная
不退転」
аргументация то какая? Я только и читаю как все херово и не более ._.
Maxim
кто-то использовал пакет bip32? из-за чего появляется ошибка undefined is not a function (evaluating 'BASE_MAP.fill(255)') при его подключении?
Gena
Не только. Этот продукт рос как инструмент в корпоративной среде с соответствующими приоритетами.
Steve
Аргументация в том что а) Не сделаны даже базовые фичи для хороших приложений. cap insets? нет на андроиде (а либа бажная), svg? нет. Пуши? Нет. Вибрация? Сторонняя либа лучше. Клавиатура? Убейте. Навигация? Тормозит как свинья на андроиде среднем (react-navigation)
Steve
Я обсуждаю это с теми кому не все равно
Steve
они ее сделали официальной
不退転」
они ее сделали официальной
это скорее сделано для легкости вхождения в разработку, ибо это самый быстрый и простой вариант
不退転」
если хочешь производительно - react-native-navigation
Steve
Ну да и показывает уровень перформанса отличный
不退転」
а для пушей имхо мне onesignal/firebase'a достаточно
Steve
react-native-navigation не использует мощи реакта
Steve
Это очень плохое апи
Aleksei
Аргументация в том что а) Не сделаны даже базовые фичи для хороших приложений. cap insets? нет на андроиде (а либа бажная), svg? нет. Пуши? Нет. Вибрация? Сторонняя либа лучше. Клавиатура? Убейте. Навигация? Тормозит как свинья на андроиде среднем (react-navigation)
ну этого всего и не будет в ядре) тем более сейчас тенденция на уменьшение основного репозитория на самом деле тут все очень просто, fb не гугл, они не кидают сотни людей (флаттер) на разработку, там в общем небольшая команда (меньше 10 человек емнип), и первый приоритет всегда на собственные приложения, а не чтобы всем удобно было
Aleksei
А откуда инфа про сотни людей на флаттер? 🤔 На андроиде работает меньше.
ну это гипербола) недавно был q&a с RN командой, и они говорили что над флаттером гораздо больше людей работает
Steve
как вообще команда RN может говорить что у другой команды больше людей
Aleksei
ну я конечно мог и ошибиться, но я это понял так отсюда 🙂 Actually ReactVR is basically that - React Native rendering to OpenGL. We've also thought about it from the context of 2D apps like Flutter, but it has never seemed like the right approach for many reasons, the main being that we want to build apps that look and feel like the native platform and we didn't want to reimplement everything provided by the platform - it takes a ton of work and is very hard to keep up to date as platforms update their look and feel, including supporting multiple OS looks simultaneously so we can deploy to both new and old devices. Flutter has thrown a ton of resources at the problem and it's unclear if the results will be worth the investment vs. the RN approach.
Steve
Ага, а по факту все приложение давно является просто набором прямоугольников и текстур
Steve
я не могу обернуть react-native-navigation в реакт-компонент, я не могу реактом эффективно написать свою шапку
Steve
Можете глянуть у нас в приложении под айфон насколько сложная шапка бывает
Steve
так же и в телеграме переписывали стандартную айфоновскую навигацию
Steve
Реальные разрабы которые делают серьезный софт почти не используют стандартную навигацию
Steve
нет ничего плохого сделать это в реакте, просто не нужно так фигово подходить к вопросу перформанса
Steve
и уж точно не стоит использовать реактовские анимации
Steve
м? нативные тоже плохи для навигации тк если в UI треде что-то подтупливать начнет то анимация будет лагать
Steve
в айфоне не дураки и все анимации идут вне UI треда и потому можно аж до 300мс залочить UI тред и ты даже не заметишь
Preeternal
после обновления реакт-натив до 0.58, обновился flow с 0.78 до 0.86. Тайпинги устанавливал по новому (хотя они не изменились). Ругается на недостающие описания типов для reselect и redux (хотя они есть). Пропал полностью файл типов для react-redux, вернул его насильно. На 0.57 RN всё работало
Steve
у меня есть наработки, но они результат работы двух человек, пока я не вижу что бы люди поняли что именно это плохо что бы извлекать либу на свет.
Dmitry
я думаю, что речь об архитектуре RNN...
Maxim
у кого-то были проблемы с поддержкой Uint8Array в андроиде?
Dmitry
Может быть, это не ваше3
на самом деле, я склонен с ним согласиться.. У меня было приложение с RNN и в какой-то момент потребовалось сделать кастомный хедер с дополнительными кликабельными зонами и это было такое себе приключение
Dmitry
а главное веселье начинается тогда, когда тебе нужно по событию прятать и показывать хедер
Steve
вот да я не понимаю, я сделал это очень просто для использования
Steve
<SHeader hidden={true}/> вставляешь и все
Steve
можно даже с анимашками
Dmitry
при том, что его видимость определяется внутри конфига навигатора
Steve
а там же старый jsc, может быть
можно обновить кстати не сложно
Maxim
а там же старый jsc, может быть
обновить jsc не сильно больно?
Steve
ужасно бесило
Steve
там npm install ... и одна строка в gradle
Maxim
там npm install ... и одна строка в gradle
делать по этой инструкции? https://github.com/react-native-community/jsc-android-buildscripts
Steve
Более того, react-navigation только где-то на третий-четвертый цикл рендера покажет страницу
Steve
то есть он ждет onLayout нескольких элементов
Steve
а до этого все висит
Dmitry
еще я не понимаю, почему в RNN v3 они решили при свайпе экрана выдвигать таббар над ним
Dmitry
хотя при появлении экрана этого не происходит
Steve
можно хаки вставлять (мы так и делали) что бы отодвигать создание экрана
Steve
но это не помогает тк там Animated и появляется лаг на тяжелых экранах (на уровне UI треда)
Steve
боль боль боль, все лагает.
Steve
Это и портит репутацию нейтива, а команда какую-то ерунду говорит и ничего путного не делает для перформанса.
Steve
Я на самом деле думаю что просто в долине никто не парится о скорости
Steve
все вокруг прыгали вокруг слэка называя его быстрым и удобным
Dmitry
Steve
конечно
Dmitry
но я не вижу лучшего решения для MVP
Steve
все, я смог запустить JavaScriptCore на маке и сделать hello world
Steve
^^
Dmitry
а по поводу перформманса.. я где-то натыкался на абзац по этой теме. Там четко сказано - "Хотите скорость? Вот вам возможность писать нативные модули и выносить всю тяжесть в них"
Steve
я тоже так думал
Steve
а потом понял что нет даже доки про shadow view
Steve
и если не писать кастомный shadow view (если я правильно понял), то все обновления вьюх будут происходить на UI треде
Steve
представьте что вы грузите картинку с диска в момент когда идет скролл
Steve
Нативные либы тоже делают такую чушь что сильно било по производительности
Dmitry
еще интересная вещь https://facebook.github.io/react-native/docs/interactionmanager для выноса тяжелых методов, но я толком не гонял
Steve
это не помогает
Steve
тяжелый метод - это показать экран
Steve
тут не отложить ничего