18.11.2014 Views

JIT SPRAY АНАЛИЗ TDSS - Xakep Online

JIT SPRAY АНАЛИЗ TDSS - Xakep Online

JIT SPRAY АНАЛИЗ TDSS - Xakep Online

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

PC_ZONE<br />

INFO<br />

info<br />

Если речь идет о<br />

мобильных платформах,<br />

то под виндой ты<br />

сможешь разрабатывать<br />

приложения<br />

только для Androidустройств.<br />

Для этого<br />

необходимо иметь<br />

установленные JDK<br />

и Android SDK. Разработка<br />

под устройства<br />

Apple доступна только<br />

под MacOS, несмотря<br />

на то, что пункт iPad<br />

доступен в меню типа<br />

приложений для всех<br />

платформ.<br />

DVD<br />

dvd<br />

На диске ты найдешь<br />

не только саму среду<br />

разработки, но и последние<br />

версии SDK<br />

для разных платформ,<br />

исходные коды<br />

для самостоятельной<br />

сборки, а также<br />

пример простейшего<br />

приложения,<br />

превращающего сайт<br />

журнала в приложение.<br />

Внутреняя архитектура Titanium: как это работает на десктопах и мобильных устройствах<br />

ÑÒÐÓÊÒÓÐÀ ÏÐÎÅÊÒÀ<br />

Тебе осталось только разобраться в структуре проекта,<br />

чтобы создать свою первую программу на Titanium. Прежде<br />

всего понадобится аккаунт на сайте www.appcelerator.<br />

com, регистрация бесплатная. Дальше просто — изнутри<br />

приложение состоит из директории Resources, в которой<br />

хранятся все твои файлы. По сути, это корневая директория<br />

проек та. Выше нее лежат только служебные файлы для<br />

сборки — манифест, описывающий настройки среды (он<br />

создается автоматически), лицензия и файл конфигурации<br />

tiapp.xml. В нем доступно несколько опций, которые могут<br />

быть полезными. Например, начальный, минимальный и<br />

максимальный размер окна приложения, флаг для включения<br />

полноэкранного режима. Здесь же можно задать, какие<br />

из системных кнопок будут доступны (вроде «свернуть»,<br />

«развернуть» и «закрыть»), а также ссылка на главную<br />

страницу, которая загружается при старте приложения.<br />

Обычно это ссылка на HTML-файл в директории ресурсов.<br />

Но что, если задать здесь произвольный URL сайта?<br />

Вполне ожидаемая вещь. Получится обычное десктопное<br />

приложение, с инсталлятором и прочими присущими<br />

фишками, но отображающее один только сайт. Так можно<br />

за два клика сделать клиент для браузерной онлайн-игры<br />

или любого другого веб-сайта, главное, чтобы он корректно<br />

работал в браузере на базе WebKit’а, не требовал специфических<br />

для браузера модулей.<br />

Для примера превратим сайт журнала в полноценное<br />

десктопное приложение. Для этого достаточно создать<br />

новый проект в среде Titanium Developer, а потом, открыв в<br />

Блокноте файл tiapp.xml, отредактировать его следующим<br />

образом:<br />

<br />

<br />

ru.xaker.www<br />

Xaker WebApp<br />

1.0<br />

Vasja Pupkin<br />

http://xakep.ru<br />

default_app_logo.png<br />

<br />

initial<br />

<strong>Xakep</strong> WebApp<br />

http://xakep.ru<br />

700<br />

3000<br />

0<br />

500<br />

3000<br />

0<br />

true<br />

true<br />

true<br />

<br />

true<br />

true<br />

true<br />

<br />

<br />

Приложение будет запускаться в полноэкранном режиме,<br />

в котором есть небольшой баг — при нажатии на <br />

оно не выходит из него, это надо реализовать самостоятельно.<br />

Я заметил еще один глюк в среде тестирования<br />

— при запуске приложение создает в директории проекта<br />

папку dist, где и размещается инсталлятор проекта. Но при<br />

попытке тестовой компиляции, во-первых, все исходные<br />

файлы проекта помечаются как read-only, а во-вторых,<br />

повторно запустить программу уже не удается. Приходится<br />

предыдущий дистрибутив удалять вручную и только потом<br />

запускать сборку во второй раз.<br />

ÏÎÏÐÎÁÓÉ!<br />

Как ни крути, Titanium — это настоящая находка! Какой еще<br />

проект предоставляет удобный API и позволяет разрабатывать<br />

приложение на привычном языке, а компилировать<br />

его под все десктопные ОС и большинство мобильных платформ?<br />

Да нет таких! При этом API очень прост и даже приятен<br />

в работе, поэтому написать простое приложение или же<br />

расширить функционал сайта, перенеся его в десктопный<br />

клиент и добавив новые фичи — занятие всего на пару<br />

вечеров. Если потрудиться, то можно также быстро сделать<br />

и программу для Android или iPhone. Правда, в последнем<br />

случае понадобится Mac и платный аккаунт программы разработчиков<br />

Apple. Несмотря на известные скандалы с Apple<br />

и приемом в AppStore программ, разработанных не на фирменном<br />

инструментарии, за приложения на базе Titanium<br />

можно не беспокоиться — они вполне нормально проходят<br />

все проверки. z<br />

030 XÀÊÅÐ 08 /139/ 10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!