Родное приложение для iPhone в HTML / Javascript? - PullRequest
2 голосов
/ 13 января 2010

Я хотел бы создать приложение, которое в значительной степени зависит от Google Maps. Можно ли написать нативное приложение для iPhone на HTML / Javascript? Если да, будет ли он доступен в магазине приложений? В противном случае, как я могу включить Карты Google в собственное приложение?

Ответы [ 7 ]

3 голосов
/ 13 января 2010

Обращаясь к двум частям вашего вопроса:

Можно ли написать родную Приложение для iPhone в HTML / Javascript ? Если это так, будет ли это доступно из в магазине приложений?

Существует фреймворк под названием NimbleKit , который позволяет вам написать ваше приложение на HTML / JavaScript и затем преобразовать его в Objective-C / Cocoa для вас. Однако с NimbleKit есть несколько проблем:

  • Стоит 99 долларов.
  • Добавляет уровень косвенности, который увеличивает вероятность ошибок.
  • Поскольку вы не используете «настоящую вещь», вы гораздо более ограничены в том, что вы можете сделать (т.е. вы можете использовать только то, что они сделали доступным для вас).

Другое решение состоит в том, чтобы встроить UIWebView в собственное приложение для iPhone (для этого вам понадобится немного Objective-C / Cocoa), а затем написать оставшуюся часть приложения в виде веб-приложения для iPhone, которое загружается в UIWebView. Тем не менее, я бы настоятельно рекомендовал вам , а не написать веб-приложение для iPhone, будь то автономное или встроенное в нативное приложение. На момент написания статьи у веб-приложений для iPhone было много недостатков, включая:

  • Они очень медленные.
  • Они имеют ограниченную функциональность (например, нет API устройств).
  • Они не могут воспользоваться преимуществами инфраструктуры Cocoa-Touch (серьезный недостаток).

Веб-приложения для iPhone могут стать жизнеспособными в будущем, но на данный момент я бы от них отказался и написал собственное приложение для iPhone, используя нативные технологии (например, Objective-C / Cocoa).

В противном случае, как я могу включить Google Карты в родном приложении?

Используйте фреймворк Apple "MapKit". См. Отображение карт и аннотаций в Руководстве по программированию приложений iPhone , в этом руководстве и в этом руководстве для получения информации об использовании MapKit.

3 голосов
/ 13 января 2010

Да, это возможно. Существует отличный проект с открытым исходным кодом PhoneGap http://phonegap.com/, который позволяет вам сделать именно это. Не только, но и развертывание на других мобильных ОС, таких как Android, Blackberry и т. Д.

Чтобы попасть в магазин приложений, вам необходимо зарегистрироваться в качестве разработчика Apple, что составляет около 100 долларов США. Разработка может быть выполнена только на Mac) Apple предоставляет вам множество программных инструментов, включая редакторы кода и симулятор iphone.

3 голосов
/ 13 января 2010

Вам нужно будет создать приложение-оболочку в Objective-C, содержащее UIWebView . Вы можете заполнить UIWebView своим HTML / Javascript.

На мой взгляд, лучшей альтернативой является использование MapKit framework из нативного приложения. MapKit позволяет вам делать практически все, что вы можете, используя полный API Карт Google , и я думаю, что нативное приложение всегда будет работать на устройстве лучше, чем UIWebView приложение контейнера.

Я использовал MapKit в нескольких моих приложениях и нашел, что им легко пользоваться с хорошей производительностью. В связанном примере я вставляю MkMapView в UIScrollView в режиме страницы. Я сомневаюсь, что вам будет легко реализовать это с UIWebView , и я уверен, что он не будет работать так же хорошо.

1 голос
/ 13 января 2010

В iPhone OS 3.0 и более поздних версиях Apple создала собственный элемент управления Cocoa Touch, который позволяет разработчикам встраивать Карты Google в собственное приложение. Карты поддерживают мультитач, и вы можете комментировать карты с помощью пользовательских видов, находить текущее местоположение пользователя и делать другие интересные вещи.

0 голосов
/ 13 января 2010

Существует также Appcelerator Titanium , который выглядит как хорошая основа для разработки приложений для iPhone и Android с использованием веб-технологий. Они дали интересную презентацию на C4.

Однако попытка «написать один раз, запустить везде» на мобильных устройствах приведет к тому, что вы создадите что-то, что уступает на всех платформах нативным приложениям, потому что вам нужно будет создать наименьший общий знаменатель между ними.

0 голосов
/ 13 января 2010

Невозможно написать собственное приложение для iPhone на HTML / JS, http://code.google.com/p/iphone-google-maps-component/ может быть полезным, или вы можете использовать:

UIApplication *app = [UIApplication sharedApplication];
[app openURL:[[NSURL alloc] initWithString: @"http://maps.google.com/maps?g=London"]];

См. Как запустить приложение Google Maps для iPhone из собственного собственного приложения? для получения дополнительной информации.

0 голосов
/ 13 января 2010

Способ сделать это - создать ваше приложение как обычное веб-приложение (javascript / css / html). Встраивать это в нативный WebView. WebView - это контейнер для приложений iphone, которые должны быть веб-приложениями. Эти приложения продаются так же, как и другие приложения в магазине приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...