@reactnative_ru

Страница 110 из 878
Vladimir
21.03.2017
10:50:53
там много интересного

@computed get isOpenLeftPanel() { return this.show; }

наверное, ребята хотели быть методичными

но по факту это какой-то лютый оверинженеринг

Google
Alex
21.03.2017
10:51:38
ну если говорить про модели, это нормальная тема

Vladimir
21.03.2017
10:52:37
я понимаю, ели бы было @computed get isOpenLeftPanel() { return this.show && this.user.hasPermissionToViewMenu(); }

Миша
21.03.2017
10:53:09
я понимаю, ели бы было @computed get isOpenLeftPanel() { return this.show && this.user.hasPermissionToViewMenu(); }
я думаю идея была именно в этом, просто пример не удачный

Vladimir
21.03.2017
10:53:21
а, хотя тут есть >Можно заметить, что мы добавили computed и action декораторы, они обязательны только в strict mode (по умолчанию отключено).

Vladimir
21.03.2017
12:02:15
Лучше бы на вопрос мой кто нибудь ответил

Алексей
21.03.2017
12:03:21
Vladimir
21.03.2017
12:03:52
Тут есть гуру нативных компонентов?

Vladimir Kurchatkin, [20 Mar 2017 22:18]: Тут есть гуру нативных компонентов? Ну или не гуру, а просто в теме Короче, вкину вопрос, может кто знает Нужно сделать метод на инстансе нативного компонента В iOS сделал через self.bridge.uiManager addUIBlock: Соотвественно в метод передается findNodeHandle() первым аргументом Дальше стал разбираться, как это сделать в Андроиде В итоге оказалось что можно сделать примерно так же: getReactApplicationContext().getNativeModule(UIManagerModule.class).addUIBlock Все работает Но почему то и в самом реакт найтиве и в некоторых пакетах это не используется

Vladimir Kurchatkin, [20 Mar 2017 22:27]: ... вместо это используется receiveCommand Соотвественно вопрос - почему так? Vladimir Kurchatkin, [20 Mar 2017 22:27]: Вот пример: https://github.com/mapbox/react-native-mapbox-gl/blob/master/index.js#L41-L61 Непонятно, зачем такой геморрой, если можно сделать абсолютно точно так же

Dima
21.03.2017
13:03:26
Потому что addUIBlock это изначальная вещь в ios была, с первых дней, а в андроиде добавили сильно позже и со стороны, чтобы снэпшоты делать. Соответственно к тому времени уже всё было написано на receiveCommand, который еще кажется более безопасным и straightforward, похоже, для среднего пользователя (нужно методы обьявлять заранее, плюс вдруг не нужен ui thread и тд).

Можно смело использовать, но есть шанс чуть выше чем для ios что выпилят когда-нибудь или перепишут, т.к. внутри проекта вообще нет на него завязок https://github.com/facebook/react-native/search?l=Java&q=addUIBlock&utf8=%E2%9C%93

Хотя ты и так понял судя по тексту

Vladimir
21.03.2017
13:07:28
Ну это была единственная моя теория

Google
Vladimir
21.03.2017
13:07:44
receiveCommand слишком уж геморройно

Dima
21.03.2017
13:07:46
а что за компонент кстати?

код не открыт на гитхабе?

Vladimir
21.03.2017
13:08:18
Да просто есть куча нативных компонентов, которые надо интегрировать

У многих нужны императивные методы прямо сходу

Странно что из коробки это не поддерживается ни там ни там

C receiveCommand самая жопа что видимо коллбэки не поддерживаются

Вообще я конечно морально готов к тому что это будет отваливаваться при каждом апгрейде

Dima
21.03.2017
13:11:06
да, там придется еще тащить события скорее всего, типа doThat() и отдельно onDoThat

andretshurotshka?❄️кде
21.03.2017
13:15:38
Еxey
21.03.2017
13:29:28
А че вы все уже страдаете?



не вижу слез

Dmitry
21.03.2017
13:35:00
да ладнооо

это что правда

Еxey
21.03.2017
13:35:37
ну будут как-то выворачиваться

Dmitry
21.03.2017
13:35:51
вот конченные

то есть если кордова, то ок

а вот если компилится то нет

Еxey
21.03.2017
13:36:34
я iOS разраб, RN сам по себе бажный, а gomobile уже тоже работает

Google
Dmitry
21.03.2017
13:36:54
что за gomobile?

Еxey
21.03.2017
13:36:55
то есть если кордова, то ок
она тоже может тоже попасть под раздачу

Dmitry
21.03.2017
13:37:01
фу

вот уроды

Еxey
21.03.2017
13:37:17
что за gomobile?
https://godoc.org/golang.org/x/mobile

Dmitry
21.03.2017
13:37:45
я что-то не фанат такого

но подожди

а разве gomobile тоже не попадет под расдачу?

Еxey
21.03.2017
13:41:03
а разве gomobile тоже не попадет под расдачу?
а оно компилируется - чем тут попадать, Эпл наказала лишь hot code push

Dmitry
21.03.2017
13:41:51
hot code push? это когда уже на девайсе компиляция, или когда подгрузка исходников?

Dmitry
21.03.2017
13:42:35
а ну так просто локально все завернуть, и все?

чтобы РН не гулял на сервер за кодом

Еxey
21.03.2017
13:42:51
ну скомпилировать в нейтив

сделать компилируемы жиэс

Алексей
21.03.2017
13:43:25
Еxey
21.03.2017
13:43:26
я думаю фб уже это пилит

это ты где такое прочитал?
ну вы как будто в мобайл индустрии не работаете - ща

Алексей
21.03.2017
13:44:32
да причем тут это. ты лучше покажи что apple наказал за code push

Google
Еxey
21.03.2017
13:44:33


Алексей
21.03.2017
13:45:11
ну так rollout это другое совсем

вот тут вообще ни слова про code push

Еxey
21.03.2017
13:45:52
"Your app, extension, and/or linked framework appears to contain code designed explicitly with the capability to change your app’s behavior or functionality after App Review approval, which is not in compliance with section 3.3.2 of the Apple Developer Program License Agreement and App Store Review Guideline 2.5.2. This code, combined with a remote resource, can facilitate significant changes to your app’s behavior compared to when it was initially reviewed for the App Store. While you may not be using this functionality currently, it has the potential to load private frameworks, private methods, and enable future feature changes. This includes any code which passes arbitrary parameters to dynamic methods such as dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(), and running remote scripts in order to change app behavior or call SPI, based on the contents of the downloaded script. Even if the remote resource is not intentionally malicious, it could easily be hijacked via a Man In The Middle (MiTM) attack, which can pose a serious security vulnerability to users of your app. Please perform an in-depth review of your app and remove any code, frameworks, or SDKs that fall in line with the functionality described above before submitting the next update for your app for review."

Еxey
21.03.2017
13:48:46
вероятно под эти признаки и риакт подходит поэтому и заворачивают: This includes any code which passes arbitrary parameters to dynamic methods such as dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(), and running remote scripts in order to change app behavior or call SPI, based on the contents of the downloaded script.

Еxey
21.03.2017
13:50:08
https://forums.developer.apple.com/thread/73640

там не только роллаут попдпадает

народ которы просто перфо/респонд юзает жалуется



Алексей
21.03.2017
13:52:46
не, вот на это есть линк?)

https://forums.developer.apple.com/thread/73640
а то это совсем другое)

Еxey
21.03.2017
13:53:17
? АЛО это про одно и то же

Алексей
21.03.2017
13:56:09
https://twitter.com/conradev/status/839340317568458752

Еxey
21.03.2017
13:57:53
https://twitter.com/conradev/status/839340317568458752
и чо это представитель Apple?

почему надо верить какому-то рандому?

Алексей
21.03.2017
13:58:24
а ты конечно не рандом кидаешь)

вот это например)

Еxey
21.03.2017
13:58:56
роллаут от лица фаундера ща общается с Apple

Google
Vladimir
21.03.2017
13:59:04
на самом деле даже если кодпуш выпилят, это не так плохо

Vladimir
21.03.2017
13:59:18
а роллауту кабзда и туда ему и дорога

Алексей
21.03.2017
13:59:43
https://github.com/facebook/react-native/issues/12778

Vladimir
21.03.2017
13:59:57
меня вообще бесит, что я не могу комп включить, чтобы не получить двести апдейтов на любимые проги

с телефонами еще та же фигня

Еxey
21.03.2017
14:00:11
а с риактом ща будут траблы поотому как он также автоматически палится - динамическими вызовами

Еxey
21.03.2017
14:01:24


Алексей
21.03.2017
14:02:06
две строчки блин)

Еxey
21.03.2017
14:04:41
две строчки блин)
а эту утилку не юзает весь RN ?

что если из-за двух этих строчек придется всю сборку на ios пересматривать

Алексей
21.03.2017
14:06:03
ну что ты паникуешь))

yadro
21.03.2017
14:08:11
https://github.com/facebook/react-native/blob/master/React/Base/RCTUtils.h

Dmitry
21.03.2017
14:08:17
все равно отстой какой-то, я не очень-то мобильной разработкой занимаюсь, но это просто какой-то трещщ

yadro
21.03.2017
14:08:26
упс это не тот файл)

Vladimir
21.03.2017
14:09:16


yadro
21.03.2017
14:11:33
https://github.com/facebook/react-native/issues/12717 ребят, можете поплюсовать вот эту ишью)

Еxey
21.03.2017
14:11:40
ну что ты паникуешь))
ну я насаждаю депрессию

https://github.com/facebook/react-native/issues/13011

Динамисеских вызовов в RN походу много https://github.com/facebook/react-native/issues/13011#issuecomment-287566200

Страница 110 из 878