В апреле этого года вышла RAD XE6. Таблица возможностей среды разработки представляет собой 25-страничный PDF-документ, набранный очень мелким шрифтом. Бросается в глаза невероятное обилие наворотов для мобильного кодинга. Стоит ли ради них приобретать RAD XE6? ][ разобрался, что кроется за каждым пунктом рекламного проспекта, и протестировал новый продукт от Embarcadero на предмет удобства мобильной разработки. Мы сделали статью блоками, поэтому ты можешь посмотреть на соответствующие разделы и понять, имеет ли смысл покупать большую среду разработки или проще чуть напрячься и реализовать то же самое с помощью нативного инструментария.

 

 

О RAD XE6

Embarcadero Techonologies третий десяток лет представлена на рынке программного обеспечения для управления базами данных (наиболее значимые продукты — InterBase и Rapid SQL). В 2008 году компания купила у разорившейся Borland подразделение CodeGear, которое занималось Delphi и C++ Builder. В 2011 году Embarcadero выпустила RAD XE2 — IDE, объединяющую компоненты для разработчиков под Delphi и под C++. Последняя версия (XE 6) включает следующие компоненты:

  • Delphi;
  • InterBase;
  • C++Builder;
  • HTML5 Builder.

Официальная страница RAD XE6

Неуникальные компоненты

  • Визуальный редактор дизайна
  • Поддержка push-уведомлений
  • Custom Pickers, Date Picker и Time Picker
  • Поддержка интерфейса совершения звонка
  • Нативные стилевые опции
  • Компонент TListView
  • Swipe-to-Delete
  • Поддержка жестов (swipe, касание и удержание, масштабирование и другие)
  • Встроенные фильтры поиска
  • Поддержка различных типов клавиатуры
  • Доступ к камере
  • Сенсоры ориентации (гироскоп/компас) и датчик движения
  • Компоненты доступа к данным
  • Встраивание браузера в приложение

Относительно уникальные компоненты

Компонент RAD Бесплатная альтернатива Наше заключение
Универсальный рекламный компонент. Позволяет в пару кликов встроить рекламу в мобильное приложение. Каждая порядочная система мобильной рекламы (как, например, AdMob, AppGlimpse, MobPartner) имеет собственный набор средств для размещения рекламы в приложениях. Чтобы избежать лишних проблем (например, пониженной монетизации и бана приложения в маркетах), лучше использовать решения, непосредственно разрабатываемые владельцами рекламных систем. В этой сфере постоянно идут технологические усовершенствования и ужесточаются правила, касающиеся конфиденциальности, авторских прав и размещения промоматериалов (как у Apple, так и у Google).
Проверка орфографии в текстовых полях. Мгновенно подключается к любой форме. Яндекс.Спеллер API — гибкое решение для любого языка программирования (HTTP-запросы, возвращающие JSON). Доступна проверка текстов на русском, украинском и английском языках. Если твое приложение на уйгурском, используй C++ библиотеки для работы с hunspell-словарями. Подробности. Для простой проверки вводимых данных встроенный контролер орфографии вполне пригоден. Но для более интересных задач (отображение подсказок с правильным написанием слов, составление пользовательского словаря, проверка автосгенерированного текста) придется внедрять дополнительные технологии.
Поддержка Share Sheet (для Facebook, Twitter и прочего). Пример использования: кнопка «Сообщить друзьям», которая появляется после прохождения уровня в игре. Такой компонент можно абсолютно бесплатно внедрить в любое приложение. Подробности по самостоятельной настройке:

Хорошо, что не нужно интегрировать компоненты постинга в социальные сети, — это экономит время и силы разработчика. Но без этой фичи вполне можно обойтись.
Мастер для создания SOAP-клиентов. SOAP-библиотеки имеются в ассортименте для любого коммерчески востребованного языка программирования. Примеры: gSOAP для C++, soapUI для Java и wsdl2objc для Objective-C. Облегчает жизнь разработчику на порядок сильнее трех описанных выше фич, вместе взятых (при условии использования SOAP-клиентов в приложении). Но при наличии достаточного опыта, знаний и усердия можно обойтись внедрением сторонних библиотек.

Delphi сегодня: для всех платформ

Если ты родился в девяностые годы прошлого века (как и автор этой статьи), то, возможно, имеешь о Delphi весьма отдаленное представление. Очень советую почитать статьи и книги Михаила Фленова, чтобы оценить красоту и мощь этого языка.

В начале двухтысячных Delphi был невероятно популярен. Если ты посмотришь старые номера «Хакера», то заметишь, как много внимания ему тогда уделялось. Последние лет семь о Delphi несправедливо забыли.

Embarcadero Technologies всерьез задумались о том, каким образом возродить популярность языка, и приняли разумное решение — Delphi Multi-Device Application Platform. С помощью данной технологии они смогут привлечь к кодингу на этом языке очень много программеров из следующих категорий:

  • начинающих разработчиков, которые пока не знают ни одного языка, но очень хотят создать свое мобильное приложение и срубить бабла. Они выбирают между Java и Objective-C. А на Delphi можно кодить сразу для двух платформ (да еще и с использованием 3D!). Вполне себе аргумент для его освоения;
  • разработчиков солидного возраста, которые уже успели покодить на Delphi в свое время (так и запишем: теперь я «разработчик солидного возраста» :). — Прим. ред.), а сейчас хотят переквалифицироваться в мобильные разработчики. Скорее всего, они выберут уже знакомую им технологию.

Уникальные компоненты для Delphi мобильного кодинга

 

Indy и DataSnap

Indy. Delphi-библиотека для работы с сетевыми протоколами (HTTP, FTP, Gopher, TCP, UDP, POP3, SMTP, SNPP, SNTP и другие). Разрабатывается уже третий десяток лет. DataSnap — это фреймворк для работы с библиотекой Indy.

 

Baas

Предоставляет расширенные возможности для взаимодействия с сервисами резервного копирования (backup-as-a-service).

 

FireDac

Кросс-платформенная библиотека для доступа к базам данных. На официальном сайте описывается как легкая в использовании и высокопроизводительная. Список поддерживаемых СУБД:

  • Microsoft Access;
  • SQLite database;
  • InterBase ToGo;
  • IBLite;
  • InterBase;
  • MySQL Embedded;
  • MySQL Server;
  • PostgreSQL;
  • Firebird.

 

Библиотека FireMonkey

Эта либа — основное преимущество RAD перед другими средами разработки. Позиционирует себя как платформу для создания приложений нового поколения (Windows, Mac, Android, iOS). Основная ее фишка — запредельная оптимизация использования железа и повышение производительности. Все новшества мобильного кодинга реализованы на ее основе. Достойна отдельной статьи. Содержит инструменты для программирования 3D, встроенные компоненты для подсоединения к различным типам баз данных и много чего еще. Подробности.

Впечатления от использования

Когда я читала обзоры и документацию, готовясь писать данную статью, у меня сложилось впечатление, что в этой среде практически нет уникального функционала, а цена сильно завышена. И собиралась писать статью целиком в негативном ключе. Но после практического тестирования я прониклась определенной симпатией к этому продукту. Вот что мне понравилось:

    • ничего не тормозит, не зависает и не требует ожидания;

 

Идеальный редактор кода
Идеальный редактор кода
    • интерфейс очень логичен и удобен в настройке. Все, что нужно, мгновенно находится;

 

Стартовый экран RAD
Стартовый экран RAD
    • программой очень приятно пользоваться, дизайн не содержит раздражающих элементов;

 

Интерфейс REST-дебаггера предельно прост и удобен. Ничего лишнего. И таких качественно сделанных компонентов в RAD очень много
Интерфейс REST-дебаггера предельно прост и удобен. Ничего лишнего. И таких качественно сделанных компонентов в RAD очень много
    • отличная документация и видеоуроки;
    • мгновенная сборка приложений;
    • быстрая и слаженная работа эмулятора устройства;
    • обширная библиотека встроенных шаблонов;
    • можно оптимизировать свою работу с помощью макросов;
    • встроенная система рефакторинга (что-то вроде советчика по адекватному написанию кода);
    • полнофункциональный графический интерфейс управления СУБД;
    • вид приложения можно мгновенно посмотреть на различных типах мобильных устройств, не запуская отладку;
    • встроенная система контроля версий;
    • все, что может понадобиться, собрано в одном месте. Нет хлопот с установкой дополнений, плагинов, модулей, программ. И никаких переживаний по поводу их несовместимости;

 

Tool Palette для мобильного кодинга содержит 485 элементов! Третья часть времени, потраченная на работу над статьей, ушла на игры с этой панелью
Tool Palette для мобильного кодинга содержит 485 элементов! Третья часть времени, потраченная на работу над статьей, ушла на игры с этой панелью
 

Windows-разработка

В последней версии RAD Embarcadero сделали акцент на мобильную разработку. Значимых новинок, предназначенных для декстопных кодеров, практически нет. Поэтому мы рекомендуем им рассмотреть другие, в том числе и более выгодные экономически, решения (MVS и так далее), хотя в предыдущих версиях достигнуты значительные успехи на этой ниве и для выполнения большинства проектов RAD вполне пригодна.

 

Google Glass

В RAD есть инструмент для разработки с использованием Mirror API. Бесплатная альтернатива — Glass Development Kit (аддон для Android SDK).

 

BlackBerry

Delphi Multi-Device Application Platform позволяет создавать приложения и для этой операционки. Если это тебе нужно, имей в виду — любую APK-сборку можно приспособить под BlackBerry OS за десять минут. Не выходя из Android SDK :). Советуем прочитать дельную статью на хабре на эту тему.

Заключение

В целом среда мне понравилась. Безусловно, мобильный кодер вполне может обойтись без Embarcadero RAD XE6, поэтому в нашем кратком заключении мы попробуем разобраться, при реализации каких проектов RAD будет предпочтительнее традиционных сред для мобильной разработки:

  • для проектов, разрабатываемых одновременно для нескольких платформ;
  • включающих в себя высоконагруженные системы обмена данными;
  • непрерывно взаимодействующих с REST- и BaaS-сервисами.

 

Пожалуйста, прочтите: личное обращение редактора рубрики Dr’a и ex-главреда ][ Степана Ильина

Мы с тобой знакомы не первый десяток лет (ладно, всего лишь второй десяток :)). Поэтому ты знаешь: я, редактор этой рубрики, — известный фанат Delphi. Я не склонял Ирину петь дифирамбы этому языку, но как-то так вышло, что она тоже им вдохновилась. Поэтому для соблюдения баланса на этой врезочке я приведу цитаты нашего бывшего главреда, который Delphi (довольно аргументированно) очень не любит. Прослушаем его позицию.

«Сегодня, когда каждый день выходят новые технологии разработки, один за другим штампуют фреймворки, а все переходит в облако и веб, Delphi — это уже не просто прошлый век. Это реальный динозавр. На нем не пишут. На нем не будут писать. Он никогда не станет языком для создания корпоративных приложений — Java от Oracle и C# от Mirosoft не дадут. Их могут вытеснить разве их переделки: например, Scala или Kotlin, у которых в основе JVM. Где спрос на таких программистов? Возможно, на каком-то адском госпредприятии или в банке, где забыли поменять ИТ-директора. Это легко проверяется — просто вбей Delphi на hh.ru. Ну мертвый это язык. Без сообщества. Все платное, все разработчики на C++ работают в Visual Studio, у которой есть бесплатная версия.»

Ира Чернова

Выпускающий редактор журнала «Хакер»

Теги:

6 комментариев

  1. 02.09.2014 at 13:07

    Не нашёл в статье один момент: во что физически компилируется код. Получу ли я из Delphi-программы, скомпилированной для Win32, нативный код, или же кросс-платформенный байт-код, который потребует JVM или тому подобного окружения для работы?

  2. 02.09.2014 at 16:08

    После прочтения статьи у меня выросло несколько новых прыщей

Оставить мнение

Check Also

WTF is APT? Продвинутые атаки, хитрости и методы защиты

Наверняка ты уже читал о масштабных сетевых атаках, от которых пострадали банки, крупные п…