NodeJS на IOS / Android

0

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

Я создаю веб-приложение Angular, с nodeJS на стороне сервера.

Мне нужно, чтобы сервер (Node.exe) установил в само устройство (IOS/Android), а nodeJS откроет сокет localhost для связи с устройством.

(Согласно узлу JS официальный веб-сайт, nodeJS поддерживает только ОС Windows/Mac OS/Linux)

Возможно ли это сделать?

Если нет, в устройстве можно установить другой сервер?

Теги:
server

4 ответа

1

То, что вы пытаетесь достичь, превращает ваше устройство в сервер.

Язык сервера на сервере должен оставаться на сервере. Я действительно не понимаю, почему вам нужно открыть сокет localhost на устройстве для связи с самим собой. Это для автономного тестирования? Вы можете это сделать, поскольку у вас есть компьютер и устройство, и оба подключены к одной сети. Я считаю, что действительно хорошим началом было бы понимание концепции архитектуры Client-Server в первую очередь.

Но, короче говоря, надлежащим способом внедрения приложения Client-Server с использованием выбранных вами технологий было бы: Сервер должен предоставить клиенту ответы на свои запросы. Таким образом, в Node.js(на стороне сервера) напишите все, что вы хотите связываться с вашей базой данных (создавать, читать, обновлять, удалять), выполнять пользовательскую обработку и т.д.... и верните структурированный ответ.

Клиент ожидает ответов на свои запросы и должен обрабатывать ответы в коде. Таким образом, программа, написанная в AngularJS (которая является вашим языком на стороне клиента), будет установлена ​​на устройствах.

Клиент должен знать формат ответа сервера. Это простой текст? XML? JSON?...

0

значит, вы хотите, чтобы приложение могло запускать некоторые службы через http?

не уверен, что iOS позволяет приложению использовать JS-виртуальную машину...

и для Android
поиск в Github, и я нахожу, как строить NodeJS для Android https://github.com/dna2github/dna2oslab/tree/master/android/build

Вот пример запуска скомпилированного двоичного файла Nginx на Android в https://github.com/dna2github/dna2mtgol/tree/master/fileShare

Вы можете изменить немного больше, чтобы заменить Nginx на NodeJS. Код для запуска Nginx не очень приятный; возможно, вы можете попробовать Android-сервис, чтобы сервер работал на бэкэнд на устройстве Android.

Надеюсь, это то, что вы хотите.

0

Да, вы можете с JXCore (fork nodejs), больше информации в этой ссылке  www.huffingtonpost.com/brian-rinaldi/build-mobile-apps-with-ja_b_6786920.html репозиторий находится здесь: www.huffingtonpost.com/brian-rinaldi/build-mobile-apps-with-ja_b_6786920.html и как скомпилировать его здесь. github.com/jxcore/jxcore/blob/master/doc/HOW_TO_COMPILE.md

но если вам нужно, чтобы он был nodejs (а не последняя версия), вы можете использовать эту ссылку, чтобы делать то, что вам нужно  www.goland.org/nodejsonandroid/

  • 0
    К сожалению, JXCore больше не поддерживается. Я только что задал вопрос о некоторых альтернативах, которые в настоящее время (август 2017 г.) являются жизнеспособными: компиляция NodeJS как нативной библиотеки на Android
  • 0
    @ArnoldSchrijver Я отредактировал свой ответ, добавив альтернативу с помощью Termux, надеюсь, это поможет вам
Показать ещё 2 комментария
0

Я не понимаю, как использовать серверный инструмент на стороне клиента.

Если ваше приложение должно работать в автономном режиме, вы должны поместить все данные и другое в свое клиентское приложение (используя кордову).

Если ваше приложение работает в режиме онлайн, серверная сторона необходима для обслуживания ваших данных. Здесь вы можете настроить nodeJS API, который предоставляет маршруты для вашего приложения для печати содержимого.

Я не уверен, что привел вам желаемый ответ, так что может объяснить, как использовать серверный инструмент на клиентском устройстве?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню