169 похожих чатов

Всем привет. Экспериментируем сейчас с такой задачей: Тонкий клиент для

смарт часов. То есть нужно сделать моб приложение которое рендерит картинку и отправляет ее на часы (а события с часов прокидывать в приложение). Хочется сделать так чтобы разные такие приложения для часов от разных разработчиков можно было легко скачивать в главном родительском приложении и запускать.

То есть родительское приложение берет на себя все взаимодействие с часами принимает события (тачи, датчики) и отправляет картинку (отрисованную дочерними приложениями). А дочерние приложения только отрисовывают картинку для часов. Конечно надо чтобы это все работало в фоновом режиме работы родительского приложения.

Можно ли как то использовать RN для такой цели? То есть собирать приложение так чтобы его можно было встраивать в родительское чисто для рендера картинки для часов.
Или может есть другие идеи что можно использовать, чтобы писать такие приложения на высокоуровневых языках (типа js) и встраивать в Android/Ios ?

14 ответов

39 просмотров

это дичь. Нету смысла в тонком клиенте, потому что китай делает очень дешевые девайсы даже на андроиде. Ну и ни ios ни андроид не даст что-то рендерить в бекграунде.

Юрий-Черезов Автор вопроса
Sergei Shemshur
это дичь. Нету смысла в тонком клиенте, потому что...

Андроид все таки дорого и батарею жрет. Хочется писать приложения просто, на js например. Что значит не даст рендерить. Я же не 3д прошу. Создал битмап в памяти и рисуй в фоне кто тебе мешает?)

Юрий Черезов
Андроид все таки дорого и батарею жрет. Хочется пи...

> Хочется писать приложения просто, на js например так это же не web. как вы думаете, каким образом устроено приложение на RN?

Юрий-Черезов Автор вопроса

я догадываюсь что компилируется в нативный код, + под капотом js крутится чтобы логику компонентов обрабатывать. меня вот это обнадежило: https://docs.expo.dev/tutorial/screenshot/ если бы можно было скрыто отрисовывать какую то вьюху то уже неплохо

ну, в фоновом режиме возможности весьма ограничены или вы хотите скрины между 2мя устройствами перманентно кидать? это ж прям больно будет по просадкам батареи и прочему

Юрий-Черезов Автор вопроса
Timofey Ovsyannikov
ну, в фоновом режиме возможности весьма ограничены...

да, скрины кидать, для передачи по БТ будет задействовано множество оптимизаций, например отправляется только дифф между кадрами + сжатие.

Юрий Черезов
я догадываюсь что компилируется в нативный код, + ...

почти угадали. компилируется только то, что написано нативно. для js используется отдельная библиотека (jscore/hermes, в зависимости от настроек) все низкоуровневые операции (в т.ч. фоновые задачи и работа с bluetooth) так или иначе, даже если они вызываются из js, выполняются через нативный api ios / android (NativeModules в терминологии RN) со всеми ограничениями, описанными в документации соответствующих платформ. вам для вашей задачи точно нужна прослойка, потребляющая дополнительные ресурсы в т.ч. на обеспечение своей работы?

Юрий-Черезов Автор вопроса
Vitaliy Ponomarev
почти угадали. компилируется только то, что написа...

экран часов может ренедерится либо на моб телефоне либо на сервере, в том числе на серевере разработчика приложения (как навыки в алисе, если видели)

Юрий Черезов
экран часов может ренедерится либо на моб телефоне...

в любом случае, моя мысль в том, что, если вашу задачу можно реализовать нативно - дальше можно пробросить ручки для управления в js, придумать как оптимизировать, организовать переиспользуемую логику и т.д. если нативно это сделать нельзя - RN вам ничем не поможет, только время потратите

Юрий-Черезов Автор вопроса
Vitaliy Ponomarev
в любом случае, моя мысль в том, что, если вашу за...

основное приложение не на RN. я думаю можно ли использовать RN для дочерних приложений, коотрые используюбтся только для отрисовки

Юрий Черезов
основное приложение не на RN. я думаю можно ли исп...

можно, если все технически сложные места получится реализовать нативно, без использования RN к вопросу о “дочерних” (не очень правда понимаю как именно вы это видите, но всё же) - RN может быть и частью нативного приложения, посмотрите в документации. но кажется вам именно RN для них и не нужен, достаточно jscore/hermes и какой-то разделяемой логики для отрисовки, а основную работу по взаимодействию с устройствами реализовать нативно в основном приложении

Юрий-Черезов Автор вопроса

да нужно чтото типа wasm

Юрий Черезов
да нужно чтото типа wasm

тогда стоит еще поискать информацию про использование jscore / v8 / hermes как самостоятельных инструментов под android/ios (что и в каком статусе сейчас находится) и поддержку wasm этими движками

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
9
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
11
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
Карта сайта