Лучший способ создать собственные приложения с JavaScript?

Я играл некоторое время с телефонным разговором, сделал некоторые тесты на моем Android...

Это довольно приятно.

Мои вопросы:
Какая лучшая (ваша любимая) среда для разработки собственных мобильных приложений со стороны веб-клиента (HTML/JavaScript/CSS)?

Насколько легко создавать и поддерживать эти приложения в мультиплатформах (iOS/Android/BlackBerry) параллельно? У этого есть много исключений между различными платформами (iOS/Android/BlackBerry)?

Каковы требования к разработке моего приложения для iOS? Должна ли мне нужна специальная среда IDE со специальным SDK? Должен ли я иметь Mac?

Ответы

Ответ 1

В настоящее время мы создаем собственное приложение iOS, используя React Native. Было бы обидно, если бы он не был включен здесь.

Плюсы:

  • React рассматривает DOM как деталь реализации. Это привело к естественному переходу на собственный интерфейс. Это также устраняет необходимость HTML/CSS при написании собственного приложения. Все, что вам нужно, это собственные компоненты, написанные на JavaScript.
  • Родные компоненты! Фундаментальные нативные компоненты уже перешли на JavaScript, и на работе занято сообщество, приносящее все остальное. Дело в том, что если вы знаете или готовы изучить некоторые Objective C или Java, существует простой процесс, чтобы добавить какой-либо собственный модуль (или третий -партийный модуль), чтобы React Native.
  • Быстрая итерация. Было более 2600 коммитов к мастер-ветке, так как в марте было открыто.
  • Вы получаете все преимущества обычного React: уровень виртуального представления, отличное, декларативное создание пользовательского интерфейса, фантастический опыт разработчиков и звездное сообщество.
  • Вы можете создавать для нескольких платформ из одного и того же репозитория, повторно используя большую часть той же самой кодовой базы (логика приложения, в основном).

Минусы:

  • Он еще молод. Есть несколько функций, которые требуют обработки jimmy-фальсификации, сторонней библиотеки или пользовательских Objective-C/Java для работы.
  • Некоторые отличные сторонние библиотеки, привязанные к DOM или API браузера, по-прежнему не работают с React Native, включая React Router.
  • Самые большие проблемы связаны с XCode и программой разработчика Apple, но нет способа обойти это.

Насколько легко создавать и поддерживать эти приложения на нескольких платформах?

React Native для Android был открыт с 14 сентября 2015 года. Я еще не использовал его, но вот что мне удалось узнать до сих пор. Обновление 10/21/16: React Native для Windows Universal Platform было объявлено ранее в этом году. Это означает, что теперь вы можете использовать React Native для создания приложений для рабочего стола Windows, телефонов Windows и даже Xbox!

React Native не предназначен для записи один раз, запускайте менталитет. Они принимают уроки один раз, вместо этого пишут парадигму. iOS - это совсем другая платформа, чем Android, поэтому нужно приложить все усилия для разработки любой платформы. Собственные API также будут отличаться.

Итак, вы закончите перезаписывать код для собственных компонентов и API. Тем не менее, большая часть вашей логики приложения может быть повторно использована. На самом деле, React-Native организован таким образом, что вы можете сохранить оба приложения для Android и iOS в одном репозитории, чтобы вы могли повторно использовать один и тот же код, когда это возможно. Я думаю, это блестяще, но только время покажет. По их словам, он работает до сих пор.

Кстати, команда в Facebook построила приложение iOS с использованием React Native, затем развернулась и построила версию Android за три месяца, используя 87% от той же базы кода.

Каковы требования к разработке моего приложения для iOS?

В настоящее время для развертывания требуется Mac и XCode. В настоящее время этого очень мало. В соответствии с этой проблемой и из разговоров на Slack, после развертывания, вы действительно можете начать с Windows или Linux-машины. Facebook также работает над open-sourcing всеми своими пакетами Nuclide, которые, согласно их презентация на F8, будут включать инструменты для упаковки и сборки без XCode.

В целом, React Native был звездным опытом. Это, на мой взгляд, голова и плечи выше всего остального в настоящее время. Чувство внутри сообщества также очень позитивно. Я могу только предположить, что со временем все будет лучше.

Ответ 2

Если ваше приложение будет очень простым (например, порт существующего веб-приложения), и вам это нужно только на одной платформе, и вам не нужна интеграция с функциями телефона, которые вы можете просто использовать в WebView выбранной платформы. Если ваша выбранная платформа - iOS, и у вас нет навыков программирования, вы можете выполнить следующие действия:

  • Загрузите xCode на свой Mac,
  • Загрузите этот простой проект приложения для веб-приложений: https://github.com/nomtek/iOSWebViewApp
  • Откройте приложение простого просмотра в xCode
  • Добавьте свои HTML файлы в проект
  • Запустить его:)

Преимущества такого подхода:

  • Простая настройка
  • Никаких дополнительных библиотек для загрузки - приложение запускается намного быстрее

Ответ 3

Это одна арена, которая продолжает меняться, и она только улучшается. Googling в момент вашего интереса будет лучшим выбором. На момент написания этой статьи я сейчас смотрю следующее: ни в каком конкретном порядке:

Ответ 4

это опции

Телефонная связь: http://phonegap.com/

PhoneGap - это бесплатный и открытый исходный код, который позволяет создавать мобильных приложений с использованием стандартизированных веб-API для платформ, которые вам небезразличны около.. Загрузите Phonegap.

Coronaabs: http://coronalabs.com/

Corona SDK создает богатые мобильные приложения для iOS, Android, Kindle и Nook. Создавайте высококачественные мобильные приложения за небольшую часть времени.

Appcelerator: http://www.appcelerator.com/

Appcelerator - единственная мобильная платформа, которая позволяет предприятиям создавать, доставлять и анализировать свои мобильные приложения.

Ответ 5

Телефонный зазор действительно похож на ваш лучший вариант, если вы пытаетесь использовать javascript для создания мобильного приложения.

Да, вам понадобится Mac, потому что вам нужно будет установить XCODE (https://developer.apple.com/xcode/) - собственная среда разработки Apple.

Ответ 6

Если вы немного инвестируете в изучение нового script языка, Coronalabs будет вашим новым оружием выбора. С его помощью вы можете создавать собственные (кросс-платформенные) приложения, и вы можете использовать веб-просмотр, чтобы добавить свои материалы HTML/CSS/Javascript, если вам это нужно.

Ответ 7

В настоящий момент React Native - лучший вариант для создания мобильных приложений в JavaScript.

Вот мои лучшие 3 причины:

  • Очень активная разработка и обновления - после того, как она возникла в FB

  • Незначительная кривая обучения

  • Отличные онлайн-ресурсы.

Я смог написать небольшое, но функциональное приложение без предыдущего опыта React Native и даже развернуть его в Google Play Store в течение 2 дней.

Также одно большое преимущество, которое я вижу с React Native, заключается в том, что вы можете "выбросить" свое приложение в любой момент времени и продолжить работу над ним в Android Studio или XCode. Это может быть большим облегчением в проектах, которые начинаются просто, но могут усложняться в течение определенного периода времени.

Вот краткий учебник, который я собрал во время создания моего первого реактивного родного приложения для Android: http://geekycentral.com/creating-a-native-android-app-using-javascript-hello-react-native/