рамки выбора стратегии для мультиплатформенного веб-приложения - PullRequest
2 голосов
/ 02 февраля 2011

Выпуск

Какова ваша стратегия создания настольного веб-приложения, которое необходимо развернуть в настольных веб-браузерах и на мобильных устройствах (Android, IPhone и т. Д.)?

В качестве меры можно было бы сначала выбрать лучшую платформу для сборки детали, которая работает на компьютерах (т.е. не на мобильных устройствах). Будучи настольным приложением, хорошим кандидатом является GWT + ExtGWT, поскольку он обеспечивает:

  • Разработка на основе Java, которая гораздо масштабнее / надежнее, чем разработка в Javascript через ExtJS, например
  • Хорошая отладка
  • Хорошая тестируемость

Далее вы хотите развернуть это приложение и на мобильных устройствах. Так как вы идете отсюда? Напишите отдельную реализацию (отдельно от GWT) для Android, другую для iOS (в target-c), другую для Windows Mobile и т. Д.

Относящиеся

В связи с вышеизложенным я видел презентацию PhoneGap, в которой утверждается, что вы разрабатываете в Javascript + HTML, и он генерирует код для всех мобильных платформ: Android, iOS и т. Д.

Однако PhoneGap не вариант, так как я не думаю, что он хорошо интегрируется с GWT и, что более важно, он не генерирует нативное приложение, которое может использовать преимущества таких функций, как фон, службы и т. Д. (См. http://www.youtube.com/watch?v=xHXn3Kg2IQE почему нативные приложения для Android намного лучше браузерных). Могут быть и другие фреймворки, такие как PhoneGap, о которых я не знаю, но на данный момент вижу только:

  • одна реализация с GWT
  • одна реализация для Android
  • одна реализация для iPhone
  • и так далее ...

1 Ответ

5 голосов
/ 02 февраля 2011

Если вы уже планируете разработку для нескольких платформ, неплохо бы хотя бы рассмотреть кроссплатформенные платформы, такие как PhoneGap или Appcelerator.Помимо того, что вы разрабатываете для нескольких платформ, есть еще несколько важных вопросов, которые стоит рассмотреть.

  1. Вам также нужна веб-версия?
  2. Вам нужна интенсивная графикаподдержка?
  3. У вас есть куча денег для таргетинга на несколько платформ?
  4. У вас достаточно времени для таргетинга на несколько платформ?

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

Что касается PhoneGap, важно знать о нем несколько вещей.

Вы можете написать плагины PhoneGap.Плагин - это, по сути, нативный код для любой данной платформы, который может делать практически все, что вы хотели бы делать в нативном коде - фоновые службы, opengl и т. Д. - и делать его доступным для JavaScript в веб-представлении.

Есть несколько проектов с открытым исходным кодом, которые могут вас заинтересовать, такие как GWT-PhoneGap , модульное тестирование QUnit для JavaScript и Weinre for Firebug, такие как отладка.

Надеюсь, это поможет!

...