Size: a a a

Programming Offtop

2020 April 14

AN

Alexander Nozik in Programming Offtop
Igor
Есть прототипчик приложение, который может работать в двух вариантах

1. PWA (F#) + http сервер (F#)
Такой классический backend-frontend подойдет для iOS, чтобы не парится с AppStore

===

2. PWA (F#), который запускатся в WebView Xamarin приложения,
внутри которого еще и лежит сервер (F#)

Получается полностью локальное приложение, но обновления (JS) бизнес логики может прилетать по сети.
APK (~12 mb) надо обновлять, только если "локальная-серверная часть" поменяется.
Хороший вариант для Android, что бы обойтись без Google Play.
Разные процессы как общаются? через http?
источник

I

Igor in Programming Offtop
Сейчас сделал простой REST, потому что вся логику в PWA, а бек тупой.
Не было смысла бек усложнять, тк service-worker каждый час лезезет за обновлением js-бандла в сеть (фронт всегда актуален).

Но был еще прототип где по yaml-описанию генерился код, который изменения стейта синхронизировал.
источник

AN

Alexander Nozik in Programming Offtop
Igor
Сейчас сделал простой REST, потому что вся логику в PWA, а бек тупой.
Не было смысла бек усложнять, тк service-worker каждый час лезезет за обновлением js-бандла в сеть (фронт всегда актуален).

Но был еще прототип где по yaml-описанию генерился код, который изменения стейта синхронизировал.
Ну вот общение через сокеты - это абсолютно нормально. Причем можно не рест а свой протокол нафигачить. Мы сейчас делаем для полиглотных приложений. А вот с общей памятью начинается мрак и жуть. Главным образом из-за того, что не понятно кто владеет памятью и кто ее должено освобождать
источник

AN

Alexander Nozik in Programming Offtop
Юникс сокеты кстати почти ничем не лучше сетевых сокетов. Делали тесты, там разница по скорости копеечная.
источник

AN

Alexander Nozik in Programming Offtop
Долбанный реакт. Чего-то я уже очень жалею, что за него сел. Есть дерево, в нем есть выделенный элемент. Надо чтобы на клик имя выделенного элемента прокидывалось в корень дерева. Это чего мне надо на корень дополнительный класс что ли заводить только для того, чтобы держать там имя выделенного элемента?
источник

I

Igor in Programming Offtop
Что за класс? Вроде как поля в стейте хватит (про redux я так понимаю и речи нет)
источник

AN

Alexander Nozik in Programming Offtop
Igor
Что за класс? Вроде как поля в стейте хватит (про redux я так понимаю и речи нет)
Проблема в том, что это стейт не ветви а всего дерева (оно рекурсивное).
источник

AN

Alexander Nozik in Programming Offtop
Сейчас получается, что мне надо заводить на верхнем уровне отдельную обертку для стейта этого выделенного элемента. Пробовал через хуки, но их тоже можно вставлять только в каких-то очень специальных местах
источник

I

Igor in Programming Offtop
Alexander Nozik
Сейчас получается, что мне надо заводить на верхнем уровне отдельную обертку для стейта этого выделенного элемента. Пробовал через хуки, но их тоже можно вставлять только в каких-то очень специальных местах
> Пробовал через хуки
а какие хуки? useContext?
источник

AN

Alexander Nozik in Programming Offtop
Igor
> Пробовал через хуки
а какие хуки? useContext?
useState, про контекст не читал, сейчас посмотрю, что это
источник

I

Igor in Programming Offtop
источник

AN

Alexander Nozik in Programming Offtop
читаю уже (только английскую версию). Но контекст - это не похоже на то, что нужно. Мне нужен именно стейт топового дерева. просто я не понимаю, как его вклинить, не создавая отдельный класс
источник

AN

Alexander Nozik in Programming Offtop
Похоже что никак...
источник

AN

Alexander Nozik in Programming Offtop
Вот, что я пытался сделать
источник

AN

Alexander Nozik in Programming Offtop
Но оно реакту не нравится
источник

AN

Alexander Nozik in Programming Offtop
Видимо в конце концов все равно event bus сделаю
источник

I

Igor in Programming Offtop
Alexander Nozik
Но оно реакту не нравится
а что не нравится?
источник

AN

Alexander Nozik in Programming Offtop
Igor
а что не нравится?
То, что стейт внутри билдера. А можно его объявлять только снаружи
источник

I

Igor in Programming Offtop
меня смущает useState внутри card, но может быть в kotlin это норм
источник

AN

Alexander Nozik in Programming Offtop
Igor
меня смущает useState внутри card, но может быть в kotlin это норм
Реакт оно тоже смущает. Я пытался внести его в ReactDom.render, но и там не работает
источник