С момента своего создания в 2009 году, благодаря Райану Далю, Node.js стал краеугольным камнем сообщества разработчиков, даже выходящий за рамки JavaScript. Многочисленные современные приложения, включая такие известные, как LinkedIn, Netflix, Lyft и Uber, используют Node.js как неотъемлемую часть своего цикла разработки.
Node.js
Для новичков в разработке Node.js — это популярная среда выполнения JavaScript, основанная на движке Chrome V8. Подобно Java Runtime Environment, в Node.js есть виртуальная машина JVM (JavaScript Virtual Machine), используемая для выполнения задач, компиляции во время выполнения и управления памятью. API, которые обслуживают мобильные приложения, являются типичным примером Node.js в реальном мире. Например, аутентификация в социальных сетях, которая происходит при входе в вашу любимую сеть, может быть представлена как операция ввода-вывода.

Асинхронная архитектура операций ввода-вывода Node.js означает, что все операции, требующие определенного типа связи с внешними системами (например, базами данных, файловыми системами и т. д.), не являются блокирующими. По сути, приложение, в которое вы только что вошли, продолжает работать, ожидая завершения своего потока или задачи (в данном случае аутентификации). То есть, если это не запрограммировано, чтобы делать иначе, скажем, вход в систему пользователей в синхронном процессе, который намеренно блокирует основной поток. Вместо того, чтобы принимать один «заказ» и выполнять свое дело, Node.js может принимать несколько «заказов» или одновременно выполнять несколько задач в асинхронном режиме.
Вот еще один тривиальный пример. Допустим, вам нужно прочитать пару больших файлов, на чтение каждого из которых уходит 5 секунд. Если вы используете Node.js, чтение обоих файлов может занять менее 10 секунд, так как обе операции будут выполняться одновременно.
Родной Node.js для мобильных
Хотя Node.js используется в гибридных приложениях и мобильных веб-разработках, для мобильных устройств не было встроенной версии Node.js. Это актуально до сих пор. Janea Systems успешно создала Node.js для мобильных устройств, созданный поверх ChakraCore). Версия базовой библиотеки под Android использует движок V8 JavaScript — очень похож на обычный Node.js.
Поскольку V8 не работает на iOS из-за того, что ОС ограничивает компиляцию Just-in-time, Janea Systems заменила свой собственный порт движка ChakraCore, интегрированный с использованием того, что Microsoft создала в Node.js на ChakraCore. По словам Janea Systems, «ChakraCore имеет хорошо оптимизированный, чистый режим интерпретатора, который соответствует ограничениям iOS». В результате на обеих платформах создается среда времени выполнения, которая обеспечивает высочайший уровень совместимости с Node.js. Чтобы подсластить сделку, Node.js для мобильных приложений добавляет несколько функций, специально предназначенных для использования Node.js в мобильных приложениях.
В настоящее время Janea Systems предоставляет три реализации для разработки Node.js для мобильных устройств: мост React, родной вариант и как плагин Apache Cordova.
Обратите внимание, что Node.js для мобильных устройств — это передовая инфраструктура, которая все еще находится в зачаточном состоянии. Имейте в виду, что есть некоторые проблемы, которые могут повлиять на вашу сборку в зависимости от выбора целевой ОС. Обязательно узнайте о любых ошибках и поделитесь своими проблемами и опытом на официальных каналах. Еще больше интересных статей по андроид — тут https://tvoysmartphone.ru/.