Ответ 1
раскрытие: я не являюсь сотрудником Facebook или Microsoft, я не участвую ни в одной из платформ, я веб-разработчик, который только начал изучать, как развиваться с реакцией native.
реагировать на родной
созданный facebook и открытым исходным кодом - он в настоящее время (по состоянию на октябрь 2015 года) поддерживает только iOS и Android. Это похоже на Xamarin на тот факт, что компоненты пользовательского интерфейса, которые вы создаете, преобразуются в собственные компоненты и НЕ запускаются внутри веб-представления, например, в других средах (например, Cordova); преимущество заключается в том, что нативные компоненты более чувствительны, чем веб-компоненты.
Приложения должны иметь возможность совместно использовать код бизнес-логики и большинство компонентов пользовательского интерфейса, но, поскольку команда позади реагирует на родные, каждая платформа имеет свой собственный интерфейс, и ваше приложение должно учитывать это, и поэтому оно позволяет и поощряет вас (это еще не навязывает вам), чтобы написать интерфейс вашего интерфейса приложения для каждой платформы.
Весь код написан в Javascript (а не Java), работающем в процессе nodejs, с пользовательским интерфейсом, описанным с использованием элементов XML, и оформлен с шаблоном, похожим на CSS, но внутренне разбирается как Javascript.
Ваше приложение будет работать в двух потоках, главном потоке, в котором будет выполняться большая часть пользовательского интерфейса, и потоке nodejs, где будет работать ваша бизнес-логика. Это имеет некоторые последствия при архивировании приложения.
Структура достаточно зрелая, чтобы вы могли создавать готовые приложения для производства, но официально поддерживаемые кросс-платформенные компоненты все же должны увеличиваться. Сообщество также создает большие компоненты кросс-платформы, которые вы, возможно, захотите использовать, большинство, если не все из них являются бесплатными.
что теперь заставляет команда реагировать на родную работу? (на основе переговоров, которые я смотрел онлайн):
- исправление рабочего процесса - в настоящее время, если вы изменяете актив, сначала вы должны сделать это в другом месте для поддержки каждой платформы, и чтобы увидеть изменения при разработке, вам нужно перекомпилировать приложение.
- увеличение количества реагирующих элементов пользовательского интерфейса (специально для платформы Android)
Вкратце, эти моменты необходимо учитывать:
Xamarin React Native
built by: Xamarin Facebook
language C# Javascript (nodejs)
age mature (prod ready), but not mature
community: good support good support
platforms iOS, Android, Windows iOS, Android
cost FREE (open sourced) FREE (open sourced)