Содержание статьи
В апреле этого года вышла 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.
Неуникальные компоненты
- Визуальный редактор дизайна
- Поддержка 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, встроенные компоненты для подсоединения к различным типам баз данных и много чего еще. Подробности.
Впечатления от использования
Когда я читала обзоры и документацию, готовясь писать данную статью, у меня сложилось впечатление, что в этой среде практически нет уникального функционала, а цена сильно завышена. И собиралась писать статью целиком в негативном ключе. Но после практического тестирования я прониклась определенной симпатией к этому продукту. Вот что мне понравилось:
- ничего не тормозит, не зависает и не требует ожидания;
Хакер #186. PHDays–IV: чего теперь нужно бояться
- интерфейс очень логичен и удобен в настройке. Все, что нужно, мгновенно находится;
- программой очень приятно пользоваться, дизайн не содержит раздражающих элементов;
- отличная документация и видеоуроки;
- мгновенная сборка приложений;
- быстрая и слаженная работа эмулятора устройства;
- обширная библиотека встроенных шаблонов;
- можно оптимизировать свою работу с помощью макросов;
- встроенная система рефакторинга (что-то вроде советчика по адекватному написанию кода);
- полнофункциональный графический интерфейс управления СУБД;
- вид приложения можно мгновенно посмотреть на различных типах мобильных устройств, не запуская отладку;
- встроенная система контроля версий;
- все, что может понадобиться, собрано в одном месте. Нет хлопот с установкой дополнений, плагинов, модулей, программ. И никаких переживаний по поводу их несовместимости;
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, у которой есть бесплатная версия.»