Подтвердить что ты не робот

Каков ваш опыт работы с веб-приложениями Android (ограничения, советы, рекомендации)?

Обновление:

Как отметил Франсуа, существуют альтернативы, такие как Phone Gap для более кросс-платформенного подхода. Это очень хорошее предложение. Я открыт для любых предложений, и я был бы очень признателен, если бы смог узнать из вашего опыта.
Sidenote: веб-приложение не очень велико в моем списке опций, так как я хочу, чтобы он был на рынке Android.

Я собираюсь начать переносить приложение facebook на Android и Я обсуждаю, следует ли мне писать его как родное приложение или как обертка для прославленного WebView.

Как ваш опыт? Какие ограничения вы столкнулись при написании webapp? Есть ли у вас совет, который вы можете поделиться? Может быть, вы думаете, что родное приложение - это способ пойти вместо этого?

Чтобы настроить класс для обсуждения, приложение, которое я хочу установить прямо сейчас, является простым  fb app, в котором сервер размещен в Google App Engine (написан на Java, если это имеет значение), а весь клиентский код - html, css и javascript (с хорошим количеством jQuery).

Приложение в основном представляет собой двухпользовательскую пошаговую игру с кучей статических изображений, которые реагируют на пользовательские клики, и очень простой чат (независимо от чата fb). Он может обрабатывать несколько параллельных игр для каждого пользователя (но для разных противников, не то же самое).

Как вы думаете, хорошо ли подходит для Android webapp?

Спасибо заранее.

PS1: Во что бы то ни стало, я буду признателен за понимание, поэтому, пожалуйста, не ограничивайте себя этим конкретным примером приложения, если вы хотите быть более широким в своем ответе.

PS2: Да, я прочитал страницу "Лучшие практики для веб-приложений" на сайте developer.android.com, и я следил за ее ссылками, но он не говорит о скорости или надежности компонента WebView, особенно в терминах взаимодействия пользователя. Вопрос возникает после прочтения следующих параграфов на странице описания WebView, что довольно ограничивает типичные сценарии:

Общий сценарий, в котором использование WebView полезен, когда вы хотите предоставлять информацию в своем приложение, которое может потребоваться обновления, например, соглашения с конечным пользователем или руководство пользователя. В вашем Android-приложении приложения, вы можете создать Активность, которая содержит WebView, затем используйте это, чтобы отобразить свой документ который размещен в Интернете.

Другой сценарий, в котором WebView может помощь, если ваше приложение обеспечивает данных пользователю, который всегда требует подключение к Интернету для извлечения данные, такие как электронная почта. В этом случае вы может показаться, что проще построить WebView в приложении для Android который показывает веб-страницу со всеми данные пользователя, а не выполнение сетевой запрос, затем анализ данных и рендеринг его в макете Android. Вместо этого вы можете создать веб-страницу для Android-устройств а затем внедрить WebView в свой Android-приложение, загружающее веб-приложение стр.

4b9b3361

Ответ 1

Я реализовал два проекта, которые используют webview, один - с jqtouch и другими с jquery-mobile frameworks.

Вы начинаете как легкий ветерок и продолжаете, но, наконец, когда вы смотрите на приложение, оно очень далека от привычного пользовательского интерфейса. Браузер Android намного медленнее, чем браузер iphone. Надеюсь, что это будет разрешено позже, в результате у вас будет более медленное время отклика, когда вы будете иметь дело с тяжелыми приложениями css3. Пока вы развиваетесь в эмуляторе, веб-просмотр сделает вас сумасшедшим, поскольку он медленный.

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

Наконец-то я решил изучить родное развитие и стать гражданином первого класса. Конечно, это займет гораздо больше времени, но результат удовлетворит меня.

Я думаю, что развитие на родном языке - это не будущее, через некоторое время мы снова напишем приложения html-css-js, и они будут работать как собственный код, но вряд ли это произойдет через 2-3 года, по моему мнению.

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

Ответ 2

Я бы выбрал с этими правилами в этом порядке предпочтений

  • Полная сеть, если вам не нужно ограничивать андроид
  • Телефонный зазор, если вы хотите другие платформы для смартфонов.
  • Полноценный, если вам нужны контакты, высокая графика или любой собственный компонент
  • webview, если вы хотите быть на рынке и, возможно, получить немного денег
  • Гибрид (родной с веб-просмотром), если вы хотите смешивать подходы

Ответ 3

После моего опыта работы с WebView я считаю это фантастическим. Я создал приложение и хотел его портировать на Android, но второй я понял, что WebView работает безупречно, я никогда не оглядывался назад. Все мои функции были встроены в веб-приложение, и поэтому в приложении было мало необходимости в функции ( обнаружение/изменения интернет-соединения и т.д.)

Я отправил маршрут Гибридный. У меня есть несколько избранных функций, которые вы получаете через приложение для Android, которое веб-сайт не предлагает - так что имейте это в виду для маркетинга.

В любом случае, моя единственная проблема - скорость прокрутки может заикаться, когда вы используете тяжелый стиль CSS3 - и я говорю о границе радиуса, тени, градиенты, и т.д., во всем. Я хотел посмотреть, как он ответил... но да, кроме того, вы должны быть золотыми!

Удачи!

(изменить) Добавлено следующее: Я также хотел добавить, что мое приложение использует jQuery в WebView. Кажется, что он пошатнется больше, чем родная анимация, но это довольно много. Хотя не поймите меня неправильно, они все еще анимации и все еще отлично работают! Если бы я мог придать анимации jQuery FPS (слайд вверх/вниз), я бы сказал, что им около 20, а родные анимации - текучей 25-30 (по шкале от 1 до 30), Заметно, но не отнимает ничего из опыта.

Опять же, не поймите меня неправильно здесь, он отлично подходит! Например, у меня есть таймер, который начинается, когда страница загружается и подсчитывается... это отлично работает из App > WebView. Нет ошибок, и если таковой был, это было отражено на веб-сайте (иначе как ошибка jQuerys)

Просто хотел добавить еще несколько моих двух центов =)

Ответ 4

Если у вас есть анимация с использованием Javascript, могут возникнуть некоторые странные вещи.

Я использовал WebView для показа графики, с смешанным подходом, а иногда и с черным сломался, строка выше или ниже имела значение, когда она не предполагалась в логике кода...

Смешанный подход с Javascript, вызывающим методы Java, может быть выполнен, но иногда бывает сложно.

Лично с моим уменьшенным опытом я предпочитаю всегда родной. Это быстрее, и у вас нет проблем, которые у вас есть в браузере, либо с перенаправлением, либо с помощью javascript.

Лично я бы использовал только не-родной подход, если бы я развивался одновременно для нескольких платформ (iOS, Android..), и у меня не было времени, ресурсов или возможностей для разработки родного для всех.

Ответ 5

В настоящее время интерфейс Javascript ужасно нарушен в 2.3, поэтому вам может понадобиться обойти его.

Кроме того, я должен сказать, что я очень разочарован тем, что я нахожу в создании сложных макетов изначально. Иногда я хочу вернуться и сделать все в WebView.

Недостатком разработки HTML + JS является то, что... это JS:). У вас нет статической типизации, поэтому отладка может быть сложнее в некоторых ситуациях. (о, кстати, также OnConsoleMessage OnJsError и т.д. ужасно разбиты на некоторых телефонах)

Ответ 6

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