До выхода нового продукта Embarcadero, который пока можно назвать как «Delphi for iOS» осталось не так уж и много времени и хотелось бы вкратце рассказать о том, что нас всех ожидает в недалеком будущем. Сегодня не будет никакого кода — только предварительный обзор, который я обычно провожу перед использованием любого продукта.
И в начале моего небольшого обзора Delphi for iOS, чтобы не возникало никаких недоразумений, позволю сделать небольшое отступление.
Во-первых, следует помнить, что Delphi for iOS в настоящее время находится в стадии beta-тестирования и те возможности, которые будут показаны ниже в релизе продукта могут быть значительно переработаны или убраны вовсе (если разработчики посчитают, что они излишни). Последнюю информацию о продукте Вы можете узнать, перейдя по этой ссылке.
Во-вторых, те кто хотя бы краем уха слышал о том, что такое бета-тестирование, знают, что участник такого тестирования не имеет права на публикацию какой-либо информации о тестируемом продукте (даже опубликованный сплэшскрин может послужить поводом для серьезных разборок, не говоря уж о рассмотрении самого продукта). Поэтому говорю: публикация этой информации в блоге webdelphi.ru разрешена официально с 18 марта 2013 года, т.к. автор сего блога, по стечению обстоятельств, является MVP.
Ну вот, с небольшим введением закончено, приступим к рассмотрению Delphi for iOS.
FireMonkey Mobile Application
Cовсем скоро в IDE появится новый тип приложений «FireMonkey Mobile Application» для создания которого используется отдельный пункт меню:
Выбираем этот пункт и попадаем в мастер настроек будущего проекта для iOS:
Здесь нам на выбор предлагается создать три типа проектов:
- HD FireMonkey Mobile Application — пустое приложение, использующее 2D-графику.
- 3D FireMonkey Mobile Application — пустое приложение с поддержкой 3D
- Приложение Firemonkey с выбранным шаблоном.
Всего сейчас в Delphi for iOS, как можно видеть на рисунке выше, доступно шесть различных шаблонов. С первыми двумя типами проектов (HD и 3D App) все, в принципе, понятно. Поэтому я решил сразу создать приложение по шаблону. В качестве примера, я выбрал самый первый шаблон, который называется как «Advanced Header/Footer Application Template«. Сразу после выбора шаблона и нажатия кнопки «Ok» мне предложили указать путь сохранения и в указанной директории появились файлы проекта (pas-файл, dproj, иконка и т.д., в общем как обычно в Delphi). В IDE, соответственно, открылось окно дизайнера формы, то самое окно с тем самым айфончиком, которое мы могли лицезреть, когда в сети только-только появилась информация о новом продукте Embarcadero, вот такое:
Посмотрим, что есть в этом окне, кроме красивого изображения iPhone. Во-первых, в этом окне мы можем сменить тип устройства. Для выбора нам доступны следующие типы устройств:
- iPad
- iPhone (как на рисунке выше)
- iPhone 5
- Custom Device
Выбирая то или иное устройство в списке:
мы автоматически меняем и внешний вид дизайнера. Вот как, например, будет выглядеть дизайнер, если выбрать в качестве целевого устройства iPad:
Так же, как и в HTML5Builder скин устройства можно вообще отключить, а саму форму приложения просмотреть при разной ориентации экрана устройства. Для этого у дизайнера имеется две волшебные кнопки:
Теперь посмотрим на шаблон самого приложения. На данный момент наше приложение содержит следующие компоненты:
Что примечательно, тот или иной таб в TabControl можно менять прямо в design-time, используя только окно дизайнера (мелочь, но приятная).
Теперь попробуем собрать и запустить наше приложение.
Сборка и запуск проекта
Перед началом сборки обратим внимание на окно Project Manager. Сейчас оно выглядит следующим образом:
Как можно судить по представленному выше рисунку, для сборки и тестирования работы приложения будет использоваться симулятор iOS (iOS Simulator) и при этом эмулироваться будет работа приложения на iPad.
Для работы с iOS Simulator нам вновь потребуется Mac или его виртуалка и, конечно же установленый на Mac’е обновленный PAServer установку которого можно найти в директории Delphi for iOS в поддиректории PAServer. Как устанавливается и запускается PAServer я уже рассказывал ранее, поэтому можете ознакомиться с этой статьей (в ней же рассказано и про настройку профиля). Я же сразу перейду к следующему шагу — запуску проекта. Так как я не имею под рукой ни Мака ни iPad или iPhone, то в моем случае получается довольно интересная вещь — эмулириую работу приложения для iOS с помощью симулятора установленного на виртуальной машине…симулятор в симуляторе симулятором погоняет :) Но, тем не менее, несмотря на такие хитросплетения железа и софта, приложение собралось и запустилось. И выглядит все это следующим образом:
[youtube_sc url=»http://www.youtube.com/watch?v=Keu_a5FCmLQ»]С пустым приложением поигрались, теперь посмотрим, что мы можем в таком проекте для iOS настроить.
Настройки проекта
Для настроек проекта, как обычно, заходим в меню Project->Options и видим не совсем обычное для нас окно настроек:
Здесь мы можем указать для каждой конфигурации приложения (Debug/Release) права, которые необходимы нашему приложению: доступ к камере, к системным папкам, микрофону и т.д.
Кроме этого, мы также можем указать иконки и сплэшскрин для нашего приложения. Для этого заходим в пункт «Application» и видим следующие настройки проекта:
Как показано на рисунке, иконки и изображения мы можем указать сразу как для iPhone, так и для iPad. Для каждой иконки или изображения указан необходимый размер, например, иконка приложения для iPhone должна иметь размеры 57х57 и 114х114 пикселей. Все изображения должны быть в PNG-формате. Я загрузил для своего первого приложения вот такую неказистую иконку:
Кроме загрузки иконок и изображений мы также можем указать для нашего приложения и ориентацию экрана. Для этого переходим на вкладку «Orientation» и указываем необходимые значения:
Что ещё следовало бы рассказать о Delphi for iOS в предварительном обзоре? Конечно, о том, какие новые компоненты появятся в FireMonkey с выходом нового продукта.
Новые компоненты
С выходом Delphi for iOS мы должны увидеть следующие новые компоненты:
- TMagnifierGlass — лупа
- TCameraComponent — управление камерой устройства
- TWebBrowser — мобильный веб-браузер.
- TOrientationSensor — сенсор ориентации экрана устройства
Кроме того появятся и фреймы — те самые, которых так не хватало на старте FireMonkey.
Вот, пожалуй, кратко о том, чего нам ожидать от Delphi for iOS в скором времени. Остается только добавить, что если Вы ждете с нетерпением выхода Delphi for iOS для того, чтобы начать разрабатывать собственные приложения для своего iPhone/iPad, то у Вас есть возможность не только узнать поверхностную информацию об этом продукте в блоге webdelphi.ru, но и посетить мастер-класс по созданию приложений под iOS в Delphi авторами которого выступят Ярослав Бровин (разработчик FireMonkey) и Всеволод Леонов (бессменный ведущий всех ток-шоу Embarcadero на русском языке). Вебинар состоится 22 марта, зарегистрироваться можно здесь.
Книжная полка
Описание Подробно рассматривается библиотека FM, позволяющая создавать полнофункциональное программное обеспечение для операционных систем Windows и OS X, а также для смартфонов и планшетных компьютеров, работающих под управлением Android и iOS
|
||
Описание: Рассмотрены практические вопросы по разработке клиент-серверных приложений в среде Delphi 7 и Delphi 2005 с использованием СУБД MS SQL Server 2000, InterBase и Firebird. Приведена информация о теории построения реляционных баз данных и языке SQL. Освещены вопросы эксплуатации и администрирования СУБД.
|
||
Название: О чем не пишут в книгах по Delphi
Описание: Рассмотрены малоосвещенные вопросы программирования в Delphi. Описаны методы интеграции VCL и API. Показаны внутренние механизмы VCL и приведены примеры вмешательства в эти механизмы. Рассмотрено использование сокетов в Delphi: различные режимы их работы, особенности для протоколов TCP и UDP и др.
|
||
Описание: Книга рассчитана на подготовленного пользователя ПК, желающего самостоятельно научиться программировать и разрабатывать приложения и базы данных в среде Delphi. Опытные программисты смогут использовать издание как справочник. В тексте подробно описаны более 80 компонентов VCL, функции Object Pascal и Win32 API.
|
||
Описание: Описаны общие подходы к программированию приложений MS Office. Даны программные методы реализации функций MS Excel, MS Word, MS Access и MS Outlook в среде Delphi.
|
Влад спасибо!
Лично мне интересен момент каких-то iOS плюшек к основным windows приложениям, в связи с чем вопрос: что там есть для работы с удаленными базами? простым обменом данными между windows приложением и iOS?
Игорь, насколько я понял при осмотре компонентов (сам использовать даже не пробовал т.к. не обладаю i-продуктами) для работы с сетью есть Indy-компоненты и DataSnap. Ну и для работ с json парсилка из dbxjson.pas также должна работать (на виртуалке мака работала нормально). FireDAC не смотрел, т.к под бетку этой библиотеки нету — может и появится после релиза.
Спасибо Влад! Немножко правда настроение подпортила эта дискуссия: https://forums.embarcadero.com/thread.jspa?messageID=545107򅅓
[…] Delphi for iOS: предварительный обзор продукта […]
Влад, спасибо за информацию! А сможет ли Delphi for iOS компилировать приложение сразу на устройство? Или для этого в любом случае потребуется Mac?
Максим, ну, если вы хотите собрать приложение сразу на iPhone, то логично, что iPhone должен быть под рукой :)
Я видимо неправильно выразился. Если я правильно помню, чтобы скомпилировать приложение для iPhone написанное в XE2, нужно было как-то экспортировать исходники в XCode и компилировать уже оттуда. Или я ошибаюсь? Кроме того, я где-то натыкался на информацию о том, что для запуска своего софта на iPhone нужна лицензия разработчика от Apple. Ну и до кучи у iPhone закрытая файловая система и все такое. Вот и возник вопрос: можно ли будет получить скомпилированное приложение на iPohne, подключив его к компу и нажав например ctrl+f9 (на скрине Project Manager ведь есть «iOS Device»)? Или потребуется дополнительное ПО и/или железо? Или я неправильно… Подробнее »
Спасибо, Влад!
Есть возможность без MAC и его эмулятора запускать приложение?
имеется только iphone, ноут физически не поддерживает запуск wmware
не за что :)
По поводу вопроса — не могу знать т.к. не владею ни айфоном ни макбуком :)