Компания Embarcadero Technologies хорошо известна российским программистам по линейке продуктов Delphi и C++Builder, ранее выходивших под брендом Borland. Дэвид Интерсимоне, вице-президент Embarcadero Technologies по связям с разработчиками, рассказывает обозревателю PC Week/RE Сергею Бобровскому о нынешнем состоянии дел и о перспективах развития этих популярных технологий программирования.
PC Week: Продажи Delphi показывают двузначный рост даже в кризисные годы — за счет чего?
Дэвид Интерсимоне: На август 2011-го двузначный рост сохранялся уже три года, а по данным на текущий февраль один лишь релиз Delphi XE2 дал рост в 54% относительно версии XE. В итоге мы по праву стали одной из самых главных частей бизнеса компании Embarcadero, которая активно инвестирует разработки. Теперь наши продукты способны обеспечить разработку на основе одного и того же исходного кода не только под Windows. Это прежде всего пакет RAD Studio XE2, который за счет поддержки Macintosh интересен и разработчикам на Visual Studio, и другим специалистам в области создания кросс-платформенного ПО. Многие компании хотят, чтобы их ПО могло работать под Mac OS и на iPhone, поддерживало iPad, Android и при этом не требовалось бы каждый раз переписывать исходный код.
Важно отметить, что мы всегда фокусируемся на компиляторах, генерирующих приложения в машинном коде. Да, мы выпускали 3rd Rail, Turbo Ruby, JavaBuilder, поддерживали разработку под .NET. Но в эпоху мобильных платформ все большей популярностью пользуются приложения, обеспечивающие высокую производительность, меньший расход энергии, сниженные требования к объему памяти. Даже такой апологет управляемого кода, как корпорация Microsoft, не один год пропагандировавшая .NET, сейчас серьезно говорит о важности машинного кода в свете предстоящего выхода Windows 8.
PC Week: У Embarcadero будут средства разработки под Windows 8?
Д. И.: Мы давний и надежный партнер Microsoft. В нашем штате есть специалисты, которые постоянно отслеживают релизы Microsoft на ранних стадиях, включая Windows 8. Как только “восьмерка” выйдет, мы обеспечим ее полную поддержку на уровне машинного кода. Microsoft предоставит также альтернативный API, известный как Metro. Мы и его поддержим в новой платформе разработки — библиотеке FireMonkey, работающей с графическими процессорами.
PC Week: Microsoft рекомендовала разработчикам Metro-приложений сконцентрироваться на HTML5/JavaScript.
Д. И.: Я считаю, что есть два пути поддержать Windows 8 с помощью наших продуктов. Первый — это FireMonkey. Но у нас есть и технология AppWave: JavaScript, HTML5 и CSS для формирования интерфейса пользователя.
PC Week: Какие Web-технологии предлагает Embarcadero?
Д. И.: Посмотрите на нашу технологию DataSnap для реализации многозвенной архитектуры корпоративных приложений. Она использует TCP, HTTP, HTTPS. Разработчик может создать клиентское приложение с использованием HTML, JavaScript, CSS и вызовов AJAX. Это можно сделать с помощью системы RadPHP. Она позволяет не только создавать серверные приложения, но и генерировать клиентские модули для браузера, а сервер приложений можно запрограммировать на Delphi или C++Builder.
PC Week: Будет ли Embarcadero поддерживать скриптовые языки наподобие Ruby или функциональное программирование, например, в стиле F#?
Д. И.: Мы будем фокусироваться на Delphi, C++ и PHP, HTML5, CSS, JavaScript и соответствующем окружении; есть у нас и поддержка .NET в Embarcadero Prism. Поддержку иных скриптовых языков можно реализовать за счет открытости архитектуры. Например, наши партнеры и энтузиасты создали реализацию языка Lua для встраивания в Delphi-приложения.
PC Week: Когда будет доступна Delphi для Android?
Д. И.: В версии RAD Studio XE2 мы поддерживаем iOS, но понимаем, что существуют и другие смартфоны и платформы — Android, Windows Phone 7, BlackBerry и т. д. Для них предусмотрена технология мобильных “коннекторов”. Вы можете создавать серверы приложений на Delphi, а интерфейс пользователя тонкого клиента можно формировать на языках JavaScript, Delphi, C++, PHP, Prism, Objective-C, Java для Android и Blackberry, C# для Windows Phone 7.
В настоящий момент мы работаем над новым поколением компиляторов для Delphi и C++Builder, которые смогут генерировать код для процессоров ARM, будет развита и продолжена поддержка iOS и Android. Новые компиляторы создаются для FireMonkey, и именно в ней будет реализована поддержка Android. Я не могу назвать точную дату, но это приоритетная для нас задача.
Вы можете готовиться к разработке под Android уже сегодня, изучая FireMonkey. Мы обеспечиваем в ее рамках кросс-платформенность, поэтому генерация версии программы под новую ОС сведется лишь к перекомпиляции проекта в Delphi или C++Builder. В итоге ваш проект без модификации кода будет работать на смартфонах, планшетах, настольных или серверных системах.
PC Week: Что случилось с системой JBuilder? Последняя версия именовалась 2008 R2. Будет ли Embarcadero развивать направление Java?
Д. И.: В этой нише уже есть известные инструменты, например Eclipse. Мы продолжаем продавать и сопровождать JBuilder, но основное направление для нас — это Delphi, C++Builder, PHP, RAD Studio, кросс-платформенная разработка и “родной” машинный код.
PC Week: Можно ли рассматривать FireMonkey как альтернативу классической библиотеке VCL?
Д. И.: VCL —только для Windows, а FireMonkey изначально спроектирована для кросс-платформенной разработки. Популярность VCL будет сохраняться, пока развивается Windows с преемственностью API. Но если вы хотите HD- и 3D-графику, если вы хотите использовать графические процессоры для высококачественной и наглядной визуализации, то переходите на FireMonkey.
PC Week: Сложно ли выполнить переход от VCL к FireMonkey?
Д. И.: Если мы говорим о визуальных компонентах, то “кнопка” в VCL имеет свой аналог в FireMonkey. Есть также компоненты “главное меню”, “диалоговое окно”, “поле ввода”, “список” и т. д. Методы и принципы визуальной разработки одинаковы и для VCL, и для FireMonkey. Но компоненты FireMonkey и принципы их работы мощнее. Например, вы можете создавать любые композиции на основе вложения из компонентов FireMonkey.
Конечно, есть конверторы, автоматически переводящие VCL-представления в формат FireMonkey. Как вариант можно оставить готовые проекты под Windows, а новый проект под Macintosh начинать с использованием FireMonkey. А когда проект уже сделан на FireMonkey, его легко перекомпилировать под Windows.
PC Week: FireMonkey поддерживает HD- и 3D-графику с анимацией. Не планирует ли Embarcadero выйти на рынок средств разработки компьютерных игр?
Д. И.: У нас есть пользователи, которые разрабатывают игры, есть разработчики мультимедийных продуктов, есть даже создатели системы 3D-проектирования промышленных роботов. Программист, использующий FireMonkey, имеет все возможности по построению HD- и 3D-интерфейса. Но ориентируем мы наших пользователей все же на построение бизнес-приложений, а не игр, которым нужны готовые движки, поддерживающие физические эффекты. При желании вы легко можете найти соответствующие сообщества, использующие Delphi и OpenGL или DirectX, а теперь еще и FireMonley.
PC Week: А зачем нужны красивые, особо эффектные интерфейсы?
Д. И.: Вы хотите, чтобы ваши приложения выглядели так, как будто они написаны десять лет назад? Посмотрите на современные смартфоны и планшеты. Человек сразу начнет использовать его интуитивно правильно, в этом заслуга новых подходов к построению интерфейсов. Даже если мы говорим об унылых бизнес-отчетах, все равно современные пользователи хотят эффекта листания, динамической прокрутки, анимации. Везде, на экране телевизора, в Интернете, на планшетах, на любых экранах, мы видим красивые бизнес-приложения. Кроме того, подобные интерфейсы побуждают пользователей к активной работе с программой. Важен и комфорт для глаз, когда интерфейс выполнен в режиме HD- или 3D-, когда используются разнообразные насыщенные цвета, даже если это просто текст и цифры в таблице. Люди устроены так, что им нравятся красивые интерфейсы, весь мир уже сделал этот выбор.
PC Week: Embarcadero Prism XE2 выпускается как расширение или дополнение к Microsoft Visual Studio 2010. Расскажите о совместимости продуктов Embarcadero с Visual Studio.
Д. И.: Prism может работать с различными средами, один из вариантов интегрирован в Visual Studio, но его можно интегрировать и с Mono, которая работает как под Windows, так и под Macintosh. Если кто-то хочет создавать приложения для .NET, то мы обучаем созданию native-приложений для FireMonkey и взаимодействию с инфраструктурой .NET.
Если вы являетесь поклонником Visual Studio или .NET, то соответствующий код будет работать только в мире Windows. Если же ваша инфраструктура требует Macintosh, iPad — мы покажем, как объединить и совместно использовать Visual Studio и RAD Studio.
PC Week: Apple предоставляет “родные” средства разработки для Mac OS. А чем в этом плане Delphi XE2 лучше?
Д. И.: Если вы ориентируетесь на кросс-платформенную разработку, выбирайте FireMonkey. Ведь оригинальные инструменты для Windows и Mac абсолютно разные как по своим принципам, так и по методам их использования. Мы же предлагаем Delphi как единый инструмент и для Windows, и для Mac. Кроме того, язык Delphi более простой, ясный и мощный, нежели Objective-C.
PC Week: В контексте эволюции Delphi прокомментируйте, пожалуйста, поддержку Linux.
Д. И.: Мы поддерживали Linux, когда был всплеск интереса к этой ОС в 1999—2001 гг. Тогда некоторым казалось, что очень скоро Linux как настольная система превзойдет и Windows, и Macintosh. Но затем Linux как-то распался на ряд вариантов. Сейчас, конечно, Linux обладает большой популярностью, но в качестве серверной ОС.
В FireMonkey мы реализовали полную поддержку различных платформ, и Linux есть в наших планах. Так, серверы приложений DataSnap на Delphi и C++Builder можно будет запускать как на Windows, так и на Linux. Мы делаем это, но лишь после полной поддержки мобильных платформ.
PC Week: Как продукты Embarcadero поддерживают облачные вычисления?
Д. И.: Начиная с версии XE мы поддерживаем хранилища Amazon S3 и Microsof Azure; имеется набор компонентов и объектов, которые упрощают взаимодействие с blob-полями, сообщениями и таблицами, расположенными в облачной системе. Например, в Amazon EC2 можно разместить нашу СУБД InterBase или сервер приложений DataSnap. Есть инструменты и для отладки таких приложений.
PC Week: Как вы решаете потребности разработчиков и администраторов РСУБД?
Д. И.: Мы предлагаем полный набор соответствующих инструментов: моделирование данных, UML-моделирование, разработка приложений, разработка SQL-запросов, СУБД для развертывания систем. Поддерживаем также Orcale, DB2, Informix, Microsoft SQL, Firebird и др. В отладке хранимых процедур поможет Rapid SQL, в оптимизации — DB Optimzier, в анализе — AQTime.
PC Week: Сегодня мы наблюдаем феномен “больших данных”, развитие технологий NoSQL.
Д. И.: У нас есть пользователи, хранящие очень большие объемы данных в реляционных СУБД. Здесь главное — производительность, которую обеспечивают наши инструменты, а система моделирования позволяет работать даже с крайне сложными моделями данных. Но мы хотим еще реализовать и поддержку баз данных NoSQL, причем даже лучшую, нежели предлагают Amazon и другие.
С помощью наших инструментов вы можете создать NoSQL или нереляционную БД, а потом связать данные по ключам или как-либо еще. Главное, наши инструменты обеспечивают эффективную работу с моделями данных, и чем больше объемы, тем важнее эта модель становится. Здесь актуальны и обратное проектирование, и анализ производительности, и управление изменениями, разграничение прав доступа и т. д.
PC Week: Что вы могли бы порекомендовать разработчикам, использующим текущие версии Delphi и C++Builder?
Д. И.: Постарайтесь разобраться с FireMonkey. Пробуйте создавать красивые интерфейсы нового поколения. Подумайте, как можно отобразить невизуальные компоненты, бизнес-логику, данные в современных метафорах пользовательского интерфейса, на смартфонах и планшетных устройствах. Придумайте какой-нибудь новый способ представления данных взамен сетки из строк и столбцов. Это подготовит вас к созданию приложений не только для настольных систем, но и для любых устройств и любых платформ в будущем.
Другое направление развития — многозвенная архитектура. Посмотрите на уже созданный проект и подумайте, как этот единый монолит можно раздробить на ряд более простых и универсальных сервисов, которые будут использовать всю мощь интернет-протоколов, дабы отделить данные от бизнес-логики, а логику пользовательского интерфейса полностью реализовать на стороне тонкого клиента.
PC Week: Спасибо за беседу.