Каков правильный подход для создания приложения для Android?

У меня отличная идея для Android-приложения, но поскольку я знаком с php / js, я не уверен, какой подход я должен выбрать для его создания. Приложение будет основано на карте google с большим количеством маркеров позиции. Не будет никаких причудливых анимаций или других тяжелых ресурсоемких действий.

Как я вижу, есть три разных варианта:

  1. Читайте на Java и программируйте все это в Java
  2. Создайте активность карты в Java как mapview, а затем используйте webview для других действий (которые могут быть легко написаны как веб-страницы html5).
  3. Сценарий все как webapp (на самом деле не вариант, поскольку это не настоящее мобильное приложение imho.

Я больше всего люблю использовать нет. 2, поскольку я хорошо знаком с html / php / js / mysql. Тем не менее, нужно прочитать подробности html5. Вопросов:

  1. Мне нужен доступ к оборудованию GPS и камеры. Это возможно в веб-просмотрах?
  2. Насколько сложно передавать переменные между js в действиях webview и java в других действиях?
  3. Насколько велика разница в производительности, я могу ожидать, если я использую опцию 1 по сравнению с опцией 2?
  4. Другие мысли?

С уважением, Андерс

1) Да, это возможно, но, как прокомментировано, это будет менее точной и, вероятно, медленной.

2) Не сложно. Болезненно, если вам нужны нагрузки взаимодействия между веб-браузером и родным приложением. Использование интерфейса Javascript, который можно настроить из собственного приложения. Вы можете вставлять javascript в html webview.

3) Неоднородность работы в зависимости от устройства. Поскольку ваша реализация будет основана на браузере устройства, вы можете ожидать очень медленного поведения для более старых устройств. Все, что связано с событиями HTML (перетаскивание, Tabbing …), будет иметь стук в большинстве устройств, по моему опыту.

4) Как комментарии @vodich есть другие партийные рамки. Мой бенчмаркинг по PhoneGap и другим опциям на основе js заключается в том, что это пустая трата времени, если вы ищете разработку профессионального приложения. Я не развился в Adobe AIR, но обнаружил, что нужно устанавливать плагины, чтобы получить встроенную функциональность (доступ к датчикам, фотоаппарату и т. Д.). Mobile – это быстрое, отзывчивое поведение. HDI – это ваш палец, пользователь работает быстро, поэтому приложение должно быть быстрым.

EDIT: Так черт возьми! Java FTW!

Альберт.

Вы можете выбрать номер 2, но поскольку мы говорим о телефоне Android, вы можете получить действительно точные координаты для своей карты, и вы можете достичь этого, обратившись к своему телефону GPS, через webviews, которое вы можете получить, это местоположение Сделал интернет-адрес интернет-устройства устройства, который не приводит к очень точному геопозиционному положению. На мой взгляд, лучший выбор – это приложение на 100% Java.

4. Другие твердые частицы?

Да, если вы действительно хотите создать отличное приложение для Android , вы должны использовать только Android и специфические компоненты Android UI, а также придать ему внешний вид. И в отношении 1,2 да, возможно, я бы сказал, что не так сложно просто их интегрировать, но я думаю, что в конечном итоге у вас появятся большие проблемы.

Изучите Java и напишите свое приложение изначально.

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

Сайт разработчика Android предлагает фантастическую документацию и перескакивание с PHP на Java не очень сложно, хотя вам нужно будет привыкнуть к строгой типизации и «реальному» ООП.

Другие мысли? Не сходите по дороге с инструментами PhoneGap / Cross для платформы – это может позволить вам писать приложения для нескольких платформ и использовать ваши текущие навыки, но в итоге вы получаете приложение subpar, которое не кажется правильным на любой платформе, Так и в будущих версиях iOS и Android.