Я хочу создать собственное приложение для iPhone, которое синхронизируется с удаленным БД. Можно разработать это приложение с помощью PhoneGap. Если я использую PhoneGap, как мне получить данные из внешней БД? Могу ли я использовать PHP в PhoneGap?
Приложение IPhone Native с использованием PhoneGap и PHP
Ответ 1
PhoneGap позволяет запускать JavaScript и HTML-приложения на iPhone. весь ваш PHP-код должен будет находиться на удаленном сервере.
Чтобы получить данные с сервера, вы должны использовать объект XMLHttpRequest
или что-то более удобное для пользователя, например, функции jquery $.get()
или $.post()
.
Ответ 2
Я только что скомпилировал приложение PhoneGap с PHP, используя Ajax для получения контента.
Сначала загрузите библиотеку jQuery в head.html. В функции onBodyLoad() поместите вызов Ajax для файла PHP:
$('#content').load('http://www.example.com/test.php');
на сеансе HTML, поместите div id = "content", где вы хотите показывать контент.
PHP:
for($i=1; $i<=10; $i++) {
echo '<p>I\'m a PHP Loop! Value: ' . $i . ' of 10.</p>';
}
HTML напечатает:
<p>I'm a PHP Loop! Value: 1 of 10.</p>
<p>I'm a PHP Loop! Value: 2 of 10.</p>
<p>I'm a PHP Loop! Value: 3 of 10.</p>
<p>I'm a PHP Loop! Value: 4 of 10.</p>
<p>I'm a PHP Loop! Value: 5 of 10.</p>
<p>I'm a PHP Loop! Value: 6 of 10.</p>
<p>I'm a PHP Loop! Value: 7 of 10.</p>
<p>I'm a PHP Loop! Value: 8 of 10.</p>
<p>I'm a PHP Loop! Value: 9 of 10.</p>
<p>I'm a PHP Loop! Value: 10 of 10.</p>
Вы также можете использовать
$.get('test.php?name', function(data) {
$('#content').html(data);
});
И ваш test.php может иметь что-то вроде:
if (isset($_GET['name'])) {
echo "Asked for name!";
}
С этим вы можете продолжать и делать приятные вещи. У меня есть одно сомнение по этому вопросу: могу ли я размещать внешние файлы PHP и развертывать приложение в магазине приложений? Есть ли какие-то ограничения?
Ответ 3
wm_eddie правильно.
Кроме того, я хотел прокомментировать вашу цитату "Я хочу создать родной iPhone". Приложения, написанные для PhoneGap, не являются родными приложениями. Хотя их можно заставить посмотреть и по большей части действовать как родные приложения, лучшая аналогия состоит в том, чтобы думать о них как о предварительно упакованных, локально установленных, веб-приложениях, которые могут, используя PhoneGap api, получить доступ к ограниченному подмножество собственной функциональности. Примечательно, что эта функция состоит из датчиков (акселерометр, gps и т.д.) И других функций камеры.
Это может не повлиять на ваше использование, но просто хочет уточнить точку...;)
(PhoneGap по-прежнему очень хороший инструмент, и я использую его в некоторых своих проектах. Однако, если вам нужно полностью собственное приложение, за исключением JS, которое должно интерпретироваться во время выполнения, скомпилированный с использованием в основном символики, основанной на 1-1 языках, тогда я бы порекомендовал Titanium, который я также использую. Оба хороших инструментария, но они предоставляют совершенно разные продукты с разными преимуществами и недостатками. Это вопрос определения требований вашего конца -product, а затем выбрать платформу, которая имеет наибольший смысл.)