Разработка для iPhone на PHP и XML
|
Уровень сложности: средний Джек Д Херрингтон, главный инженер-программист, Leverage Software Inc. 13.02.2008 iPhone от Apple – сегодня пожалуй самое модное устройство на рынке. Узнайте, как создавать для него собственные приложения, используя Web-инструменты, которыми вы уже владеете. Я чрезвычайно горд собой: я продержался целых четыре дня, прежде чем купить iPhone. Конечно, меня во многом побудил к покупке тот факт, что мой предыдущий телефон был изрядным хламом. Но что меня действительно подкупило, так это наличие в iPhone встроенного Wi-Fi-блока и — что ещё важнее — отличного браузера. Дело в том, что набор средств разработки ПО (SDK) для iPhone – это стандартный динамический HTML (DHTML), исполняемый в Web-браузере. Так что можно использовать такие привычные клиентские технологии, как HTML, каскадные таблицы стилей (CSS) и асинхронный JavaScript™ + XML (Ajax) в комбинации с любой серверной технологией, какой только пожелаете: PHP, Rails, Java™. После того как я немного поиграл с моим новым iPhone’ом и проделал пару стандартных вещей: позвонил нескольким людям, побаловался с Google Maps и послушал мелодии с помощью функциональности iPod, я понял: пора разработать что-нибудь специально для моего телефона. Итак, возник вопрос, что именно разработать? Что ж, одной вещью, которой я лишился, отказавшись от старого телефона, была программа Salling Clicker. Salling Clicker превращал любой телефон в пульт дистанционного управления (ПДУ) для Macintosh (а сегодня он с тем же успехом работает и с Microsoft® Windows®). Используя это приложение, можно запускать на компьютере с ОС Macintosh скрипты AppleScript, осуществляя всевозможные полезные штуки, такие как управление Apple iTunes или KeyNote (Apple-альтернатива Microsoft Office PowerPoint®). На смартфонах это требовало загрузки на телефон небольшого приложения. Но iPhone не позволяет закачивать специальные приложения, потому что в роли SDK выступает Web-браузер Apple Safari. Итак, как же можно использовать Safari для управления Mac’ом? Я нашёл такое решение: надо задействовать PHP на моей машине с Mac OS X совместно с инструментарием iUI toolkit от Джо Хьюитта (Joe Hewitt). Этот инструментарий (toolkit) формирует на Web-странице интерфейс, напоминающий iPhone. Он также реализует такую же динамику страницы. Например, когда вы движетесь по списку элементов, iUI переходит от края до края страницы, точно так же, как это делает iPhone, когда вы работаете с контакт-листом. Создание приложения начнём с определения некоторого числа команд, которые сможет выполнять наш iPhone как пульт дистанционного управления. Для задания списка команд мы используем XML-файл. Этот файл показан в листинге 1. Листинг 1. commands.xml
Файл представляет собой список тегов Для обработки этого XML-файла я создал в PHP 5-й версии класс Листинг 2. commands.php
Конструктор класса первым делом считывает файл commands.xml, используя PHP-класс В классе также определены два дополнительных метода:
После того как мы создали XML-файл со списком команд и описали PHP-класс Листинг 3. Скрипт, создающий простой интерфейс
Сначала скрипт создаёт объект экземпляра класса Открыв эту страницу в браузере Safari, можно увидеть что-то вроде рисунка 1. Рисунок 1. Примитивный интерфейс Я мог бы уже использовать эту страницу как интерфейс для моего iPhone, и всё бы работало. Но при этом не было бы той динамики, которая есть в iPhone. Так что следующее, что мы должны сделать – это улучить наш интерфейс, воспользовавшись инструментарием iUI. В листинге 4 приведён код, который это делает. Листинг 4. index.php
Вначале мы подключаем CSS-файл из iUI, который содержит все те стили, которые и придают странице iPhone-подобный вид. Далее подключаем JavaScript-файл из iUI, полностью реализующий динамику приложения. После этого с помощью класса Рисунок 2. Страница index.php, открытая в Safari Ничего страшного, если вы работаете под Windows: сегодня есть версии Safari и для Windows, и для Mac. Конечно, PHP-скрипт, который выполняет этот код, должен работать под Mac, так как он запускает Последнее, что мы должны сделать – это создать файл do.php, к которому обращается index.php для выполнения собственно самих команд. Этот файл показан в листинге 5. Листинг 5. do.php
Теперь можно открыть страницу в Safari на своём же компьютере и пощёлкать по ссылкам, чтобы проверить, что приложение работает. Если всё в порядке, iTunes будет включать следующую или предыдущую песню в соответствии с командой, которую вы выбрали. В моей системе мне пришлось подредактировать один файл: /etc/httpd/httpd.conf. Надо было изменить User на моё имя пользователя, и Group - на staff. Затем я перезапустил сервер Apache, выполнив консольную команду:
после чего iTunes стал переключать треки вперёд и назад, когда я щёлкал по ссылкам. Теперь можно включить iPhone и получить доступ к приложению, запустив Safari и открыв в нём страницу по IP-адресу моего локального компьютера. И всё это будет отлично работать, пока мои лэптоп и iPhone будут находиться в одной Wi-Fi-сети.
Когда я выполнял небольшое исследование для этой статьи, я обнаружил, что эта концепция удалённого управления Mac’ом с помощью iPhone уже реализована – причем на более высоком уровне. Проект называется telekinesis (телекинез), и его сайт размещён на Google Code. Соответствующее приложение получило название iPhone Remote и запускается под Mac OS X как приложение с графическим пользовательским интерфейсом (GUI-приложение). Если запустить iPhone Remote, то он откроет в браузере Safari страницу, которая будет выглядеть точно так же как в iPhone и как показано на рисунке 3. Рисунок 3. Интерфейс iPhone Remote Отсюда можно управлять приложениями и запускать их, просматривать документы, удалённо использовать iTunes и даже перемещаться по экрану и выполнять консольные команды—и всё это можно с iPhone. iPhone Remote запрашивает имя пользователя и пароль, поэтому посторонний человек не сможет воспользоваться вашим Mac’ом, когда вы установили это приложение. Так что iPhone можно использовать как устройство для защищённой работы с данными в виртуальной рабочей сети (VNC - virtual network computing) вашего Mac’а.
Разрабатывать под iPhone очень легко. Реклама утверждает , что iPhone предоставляет доступ к «настоящему» Интернету, а не к его мобильной версии, и это правда: с помощью iPhone можно просматривать обычные страницы так, как если бы они были открыты на Mac’е или PC. А такие инструментарии для создания интерфейса, как iUI помогают придать приложению более похожий на iPhone внешний вид и динамику, удобные для работы с приложениями, подобными приведенному здесь приложению iPhone-ПДУ, сделанному на XML и PHP. Научиться
Получить продукты и технологии
Обсудить
|
Комментариев нет:
Отправить комментарий