Preeternal
ФП понятнее чем ООП как по мне
Denis
Насчёт не предназначен можно поспорить. Когда жс создавался SCHEME был взят за прототип(не так но посыл понятен). Для нормального фп в жс не хватает иммутабельных структур и сахара вроде пайпов. Редукс тормозит потому что это один большой объект. Там тормоза не с фп темой связаны. Я сам ангуляр разработчик, у нас там бывает берут редукс и юзают его не как сингл стор. В ангуляр случае это просто удобный инструмент для поддержки иммутабельности, а иммутабельность даёт возможность ослабить чейндждетектор и в итоге работать начинает всё только быстрее если не делать один стор на всё приложение. Оверхед от чейндждетектора больше чем оверхед иммутабельности
Denis
В реакт случае тема с чейндждетектором нерелевантна
Sasha
'React/RCTBridgeModule.h' file not found в каждом открытом приложении при сборке
Sasha
Что делать?
Dr
Всем добрый вечер. Кто-нибудь ставил в своей прилеге логин через вк? Рофл такой, когда есть прилага вк и моя, то не работает. Когда сношу вк, то логин через мою прилагу начинает работать)
Dr
да, эта библиотека, андроид
Teddy
Всем привет. Можете подсказать. Стоит задача создать кроссплатформенное мобильное приложение, решаю есть ли смысл писать его на этой технологии. В принципе в приложении будет только вывод информации \ заполнение данных \ инпутов. Процессо-затратные вещи не планируются. По старту экранов 6, с авторизацией + чат, но макс на 2 пользователя (Общение с менеджером и новости\акции компании). Приложуха корпоративная, закрытая. до 20-30к пользователей макс, если наберётся) Сам я хорошо знаком с react, nodejs, typescript. На native \ под моб. приложения не писал. 1. Есть ли какие-то серъезные проблемы \ недоработки технологии, на которые стоит обратить внимание. 2. Нормальная ли поддержка смартфонами, если использовать только функционал react-native, без нативных каких-то доработок. 3. Часто слышу, что его используют по большей части в прототипировании... 4. Отпугивает то что технология новая, и еще не очень обкатанная. Планирую писать код в 1 лицо. С реакт приложениями +- средней сложности проблем не возникало... Есть ли тут подводные камни, Т.е. не будет ли диких тормозов при работе с данными, и серъезных проблем в самой технологии?) ) Заранее благодарю за ответ)
Gena
Насчёт не предназначен можно поспорить. Когда жс создавался SCHEME был взят за прототип(не так но посыл понятен). Для нормального фп в жс не хватает иммутабельных структур и сахара вроде пайпов. Редукс тормозит потому что это один большой объект. Там тормоза не с фп темой связаны. Я сам ангуляр разработчик, у нас там бывает берут редукс и юзают его не как сингл стор. В ангуляр случае это просто удобный инструмент для поддержки иммутабельности, а иммутабельность даёт возможность ослабить чейндждетектор и в итоге работать начинает всё только быстрее если не делать один стор на всё приложение. Оверхед от чейндждетектора больше чем оверхед иммутабельности
1. fp... для того чтоб нормально работало, надо не синтаксис, а ядро языка чтоб было под это заточено, haskell тратит кучу времени на анализ кода, вывод типов и трансляцию в нормальный понятный процессору flow... в итоге получается эффективный код с fp. То же про erlang можно сказать. И это нельзя сказать про js, ни про v8, ни про jsc, который в RN. 2. производительность с иммутабельностью. Это пока всё мое слово против вашего... Да, вы выигрываете на детекте изменений в объекте, но проигрываете на необходимости копировать. Путь это только ссылки на объекты... но попробуйте скопировать массив из 1000 ссылок на сообщения в чате... только для того, чтоб новый массив получить, или объект с 20 св-ми... плюс при сильной вложенности опять многоуровневое копирование до самого корня структуры, это значит, что надо стремиться уменьшить вложенность, это ограничивает выразительные возможности архитектуры Я могу сказать следующее, я перевел один большой RN проект с redux на mobx и кол-во лишних рендеров в компонентах уменьшилось в разы, нагрузка на CPU упала (не помню на сколько, но значительно), упала пиковая нагрузка на GC, архитектура стала проще и понятней. С тех пор я не использую redux.
Gena
да, эта библиотека, андроид
По андроид пока не подскажу, у нас только ios пока что. В ios это вроде работает, но сам нативный sdk выглядит довольно заброшенным, я уже думаю не только react-native-vkontakte-login, но и его форкануть (
Dr
По андроид пока не подскажу, у нас только ios пока что. В ios это вроде работает, но сам нативный sdk выглядит довольно заброшенным, я уже думаю не только react-native-vkontakte-login, но и его форкануть (
да иос работает без проблем. Проявляется только на андроиде. Там какая-то ерунда с fingerprint происходит. Если например не залегиненв в приложении вк, и вызываешь логи в своем приложении, то откроется уже приложение вк, там залогинишся, а в твое приложении ошибка вернется)
Gena
Ну я скину, если/когда починю
Dmitry
Всем привет. Можете подсказать. Стоит задача создать кроссплатформенное мобильное приложение, решаю есть ли смысл писать его на этой технологии. В принципе в приложении будет только вывод информации \ заполнение данных \ инпутов. Процессо-затратные вещи не планируются. По старту экранов 6, с авторизацией + чат, но макс на 2 пользователя (Общение с менеджером и новости\акции компании). Приложуха корпоративная, закрытая. до 20-30к пользователей макс, если наберётся) Сам я хорошо знаком с react, nodejs, typescript. На native \ под моб. приложения не писал. 1. Есть ли какие-то серъезные проблемы \ недоработки технологии, на которые стоит обратить внимание. 2. Нормальная ли поддержка смартфонами, если использовать только функционал react-native, без нативных каких-то доработок. 3. Часто слышу, что его используют по большей части в прототипировании... 4. Отпугивает то что технология новая, и еще не очень обкатанная. Планирую писать код в 1 лицо. С реакт приложениями +- средней сложности проблем не возникало... Есть ли тут подводные камни, Т.е. не будет ли диких тормозов при работе с данными, и серъезных проблем в самой технологии?) ) Заранее благодарю за ответ)
Если знания реакта есть, а знаний наивной разработки недостаточно, то реакт-натив максимально логично звучит. Проще всего за два дня сделать эти шесть экранов, и сразу видны будут все плюсы и минусы платформы. Изучать две нативных платформы в любом случае дольше, чем чат по туториалам собрать на коленке.
Dr
Ох. Интересно. Если вдруг пофиксите, киньте ссылочку. мне этим через месяц-два заниматься вероятно. )
в общем все оказалось просто (скорее всего). Видимо у заказчика не настроено приложение вк. А так надо будет по гайду сгенерировать отпечаток сертификата как в гайде https://vk.com/dev/android_sdk. И указать его без двоеточий в приложении вк. По крайней мере с моей вк прилагой запустилось
Dr
либа react-native-vkontaket-login
Denis
1. fp... для того чтоб нормально работало, надо не синтаксис, а ядро языка чтоб было под это заточено, haskell тратит кучу времени на анализ кода, вывод типов и трансляцию в нормальный понятный процессору flow... в итоге получается эффективный код с fp. То же про erlang можно сказать. И это нельзя сказать про js, ни про v8, ни про jsc, который в RN. 2. производительность с иммутабельностью. Это пока всё мое слово против вашего... Да, вы выигрываете на детекте изменений в объекте, но проигрываете на необходимости копировать. Путь это только ссылки на объекты... но попробуйте скопировать массив из 1000 ссылок на сообщения в чате... только для того, чтоб новый массив получить, или объект с 20 св-ми... плюс при сильной вложенности опять многоуровневое копирование до самого корня структуры, это значит, что надо стремиться уменьшить вложенность, это ограничивает выразительные возможности архитектуры Я могу сказать следующее, я перевел один большой RN проект с redux на mobx и кол-во лишних рендеров в компонентах уменьшилось в разы, нагрузка на CPU упала (не помню на сколько, но значительно), упала пиковая нагрузка на GC, архитектура стала проще и понятней. С тех пор я не использую redux.
1. иммутабельные структуры данных поддерживаемые самим языком, и будет всё ок с рантаймом, я о них и пишу. Хаскель вообще не лучший пример, он делает анализ ещё исходя из его «ленивости» и перфоманс у него такой себе в реальном мире. Из фп языков окамл кладёт на лопатки всех, и у него как раз очень простой компилятор и анализа он никакого не делает(даже полиморфную функцию не мономорфит если она используется только на одном типе в коде). С вызовом функций и оверхедом на их проброс в жс в последнее время всё стало хорошо. Это решаемая задача. По поводу GC мало что могу сказать, но с иммутабельными типами на уровне языка его можно оптимизировать работать с ними это точно. 2. Насчёт 1000 сообщений, обновляешь массивы по 50, всю тему с историей и поиском через фабрики разруливаешь. При этом никто же не мешает сам модуль сообщений сделать мутабельно. Здесь неудобно из-за недостатка языка, это да. Под каждую задачу нужно выбирать подход. То что фп-вей мне видится как наилучший подход к большинству задач скорее личное мнение. Фанбойством заниматься не хочу :)
Denis
Насчёт чейндждетектора, там у ангуляра всё по-другому работает. Иммутабельность позволяет скипнуть целое дерево при чейндждетекшен проходе. Когда не иммутабельно, то ангуляр знать не знает изменилось ли что-то и в итоге проверяет всё. В ангуляре это реально окупаемо. Там же ещё нет vdom, дифф делать не надо, нагрузка вся идёт от чейндждетектора. Судя по вашему опыту в реакте нет. Ну на нет и суда нет, буду знать :)
Кто-нибудь работал с shake gesture, как можно отключить дев меню при встряхивании телефона?
Vitaliy
Кто-нибудь работал с shake gesture, как можно отключить дев меню при встряхивании телефона?
android ? его именно в dev-сборке выключить нужно ? в release его вроде и так сейчас не открыть ... и кстати, вопрос именно про "выключить меню" или про сам "shake gesture"?
Андроид, да, выключить в дев сборке на время, чтобы протестировать все, выключить только меню, потому что при встряхивании телефона вылазит меню, а другие слушатели ни как не реагируют уже
Vitaliy
Ок, попробую, спасибо
Oleg
всем привет
Oleg
задумался о монорепе, смотрю многие используют для этого lerna, не до конца понимаю что она дает если есть yarn workspaces
чей ты
https://github.com/fixerteam/React-Native-monorepo
Eduard
там можно делать покупки по мокнутым товарам, возращающим известный ответ в api. Возможно это будет работать. Покупка реальных товаров на обычном эмуляторе от гугла даже с google services работать не должна.
На эмуляторе работает полный флоу с покупками из стора. Только для этого нужно создать альфа версию на девайс и попробовать эти покупки после этого зайти на эмуляторе в гугл сервисы с аккаунтом который на альфа тестировании был указан и после этого дебаг версия будет вертеть подписки как родные. Проверенно в двух аппах за последние пол года.
Vitaliy
задумался о монорепе, смотрю многие используют для этого lerna, не до конца понимаю что она дает если есть yarn workspaces
yarn workspaces появились позже и по сути взяли часть функционала из lerna. они немного разные задачи закрывают и хорошо дополняют друг друга в монорепе. https://medium.com/trabe/monorepo-setup-with-lerna-and-yarn-workspaces-5d747d7c0e91 https://samhogy.co.uk/2018/04/moving-to-a-monorepo.html
GrafMine
кто что юзает для пассворд метра в плане секюрности ?)
GrafMine
GrafMine
я о этом, есть ли либа какая которая высчитывает надежность пароля ?
Vadim
Dmitry
Gena
А кто и как acknowledgements (licenses, благодарности или Apple это сама на русский как "уведомления" переводит) в приложении делает? Меня сейчас непосредственно ios интересует, но в будущем это и для android надо. Сейчас я сделал стандартное для cocoapods решение, т.е. добавил в Settings.bundle сгенерированный plist - там список всех сторонних библиотек с лицензиями. Это круто, но мало. Во первых у проекта есть runtime dependencies в package.json, во вторых есть ещё некая информация, к примеру заказчики хотят тогда уж ещё на unsplash и шрифты сослаться. Сейчас думаю писать скрипт, который возьмет кастомный список, package.json и то, что cocoapods генерит и составит свой plist... но это м... может готовое есть что-то?
Dmitry
Кстати, кто видел мой вброс насчет перехвата половины частот блютуз колонки с запущенным в симуляторе iOS приложением. Оказалось, что в Info.plist были прописаны permissions для блютуза, но по факту они не запрашивались, ведь на эмуляторе его нет, но он видимо пробрасывается с самого мака, и колонка видимо одновременно подключалась к обоим =)
Dmitry
Кто работает с figma и как лечить головную боль со шрифтами ?
Alexsandr
Кто работает с figma и как лечить головную боль со шрифтами ?
Там же есть тулза, которая докачивает шрифты
Dmitry
а в несоответствии размерностей
Dmitry
визуально одинаково
Dmitry
figma показывать как CSS
Dmitry
показывать как ios
Dmitry
реально
Dmitry
как бы 13px не могут быть 13pt
Gena
Я не уверен, вроде мы что-то похожее решали созданием проекта не для веба, а для мобилки (только не помню в figma ли)
Dmitry
тут нет выбора
Aynur
скетч видимо
Aynur
там есть какой-то отдельный вид слоёв
Dmitry
прочитал на форуме ответ. Типа figma выставляет одинаковое значение px и pt, потому что дизайнерая в принципе все равно на это значение. И типа масштабируйте сами для достижения нужно эффекта, если не устраивает размер
Dmitry
какая-то жесть
Alexey
1. fp... для того чтоб нормально работало, надо не синтаксис, а ядро языка чтоб было под это заточено, haskell тратит кучу времени на анализ кода, вывод типов и трансляцию в нормальный понятный процессору flow... в итоге получается эффективный код с fp. То же про erlang можно сказать. И это нельзя сказать про js, ни про v8, ни про jsc, который в RN. 2. производительность с иммутабельностью. Это пока всё мое слово против вашего... Да, вы выигрываете на детекте изменений в объекте, но проигрываете на необходимости копировать. Путь это только ссылки на объекты... но попробуйте скопировать массив из 1000 ссылок на сообщения в чате... только для того, чтоб новый массив получить, или объект с 20 св-ми... плюс при сильной вложенности опять многоуровневое копирование до самого корня структуры, это значит, что надо стремиться уменьшить вложенность, это ограничивает выразительные возможности архитектуры Я могу сказать следующее, я перевел один большой RN проект с redux на mobx и кол-во лишних рендеров в компонентах уменьшилось в разы, нагрузка на CPU упала (не помню на сколько, но значительно), упала пиковая нагрузка на GC, архитектура стала проще и понятней. С тех пор я не использую redux.
Не выдержал - подпишусь под каждым словом
Andrey
какая-то жесть
вроде норм практика, когда у тебя есть функция, в которую кидаешь размер из макета, а она выдает тебе нужный размер на нужный экран
Dmitry
потому что даже толщина шрифта визуально не соответствует
Dmitry
400 слишком тонко, а 500 чуть жирнее
Dmitry
но я не помню таких проблем со скетчем
Dmitry
пиксель перфект?
а по другому как?
Dmitry
когда делается брендбук, то все должно соответствовать, а не лепить отсебятину в приложении
Nikita
я просто даже не пытался нагуглить под мобилки подобный плагин, вот и интересно
Gena
когда делается брендбук, то все должно соответствовать, а не лепить отсебятину в приложении
А как бренд-бук относится к слабовидящим людям, которые шрифт в 5 раз увеличивают в настройках системы?
Dmitry
хотя и это можно учесть, если обозначить на этапе создани
Gena
Мне как раз и интересно... так и не придумал как совместить pixel-perfect и возможные вариации платформенные или вот такие с масштабированием. Мы в итоге отказались от перфекционизма )
Gena
Слушайте, хотел поделиться, открыл для себя https://github.com/davglass/license-checker Проверил проект, получил такое: ├─ MIT: 574 ├─ ISC: 59 ├─ Apache-2.0: 15 ├─ BSD-3-Clause: 10 ├─ BSD-2-Clause: 5 ├─ MIT*: 4 ├─ Unlicense: 2 ├─ CC0-1.0: 2 ├─ Apache License, Version 2.0: 2 ├─ UNLICENSED: 1 ├─ (MIT OR Apache-2.0): 1 ├─ BSD*: 1 ├─ BSD: 1 ├─ Public Domain: 1 ├─ (BSD-2-Clause OR MIT OR Apache-2.0): 1 ├─ Custom: https://facebook.github.io/react-native/: 1 ├─ CC-BY-3.0: 1 ├─ (GPL-2.0 OR MIT): 1 ├─ LGPL: 1 └─ UNKNOWN: 1 И выдохнул с облегчением, т.к. UNKNOWN - это наши внутренние модули, а единственный LGPL это вот оно: https://github.com/facebook/react-native-fbsdk/blob/master/bin/ios_setup.js#L27 (и оно на самом деле не бандлится)...
Bogdan
привет, кто может подсказать по цене приложения под android? - чат мастер/клиент - сообщения о заявках с сайта (мастеру) - уведомления (о новых отзывах... мастеру) мастер в приложухе, клиент на сайте
Maksym
Привет. Ребят, может кто посоветует, как можно оптимизировать первоначальную отрисовку большого списка елементов (использую ScrollView)?
Gena
Привет. Ребят, может кто посоветует, как можно оптимизировать первоначальную отрисовку большого списка елементов (использую ScrollView)?
Из относительно простых решений - не рисовать сразу всё, поделить на части и добавлять их с задержкой по очереди
Gena
Так, если что, старый List работал в RN, вот этот: https://github.com/facebook/react-native/blob/0.58-stable/Libraries/Lists/ListView/ListView.js virtualized типа FlatList - тоже вариант, но он делает больше... он оптимизирует не первоначальную загрузку, а общий баланс memory-cpu, пытаясь отрисовывать только то, что видно на экране
Dmitry
привет, кто может подсказать по цене приложения под android? - чат мастер/клиент - сообщения о заявках с сайта (мастеру) - уведомления (о новых отзывах... мастеру) мастер в приложухе, клиент на сайте
сомневаюсь, что тебе что-то конретное скажут. Кто будет писать сервеную часть логики? Тестировать? Как будет распространяться и поддерживаться? Очень много факторов, влияющих на конечную цену
Kirill
Всем привет. Может кто-нибудь сталкивался с такой проблемой на андроид платформе, когда происходит первый рендер приложения и с компонентой svg с помощью модуля react-native-svg, приложение крашится, если ставлю сет таймаут на плявление свг все окей