`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Delphi Prism 2011: кросс‑платформенная разработка не для всех

Статья опубликована в №25 (736) от 13 июля

0 
 

Когда компания Embarcadero приобрела активы Borland, связанные с разработкой приложений и базами данных, многие скептики утверждали, что на этом история в свое время очень популярных инструментальных средств прекратится. Сейчас, по происшествии двух лет, с уверенностью можно говорить, что сбыться мрачным прогнозам было не суждено: новый владелец не только продолжил развитие наследия Borland, но и представил новые продукты. Настоящей жемчужиной среди них можно назвать Delphi Prism, очередная версия которого недавно увидела свет.

Delphi Prism 2011 кросс‑платформенная разработка не для всех
Наличие в комплекте поставки IDE MonoDevelop позволяет Delphi Prism 2011 по праву считаться полноценной кросс-платформенной средой разработки

Напомним, что Delphi Prism – это кросс-платформенная среда разработки для .NET/Mono, использующая в качестве языка Object Pascal. Несмотря на то что первая версия данного инструмента не была по-настоящему первой, поскольку фактически представляла собой результат ребрендинга RemObjects Oxygene 3.0, продукту сопутствовал ореол некоторой незавершенности. Пожалуй, наиболее серьезным недостатком того релиза Delphi Prism можно назвать отсутствие кросс-платформенной IDE – таковым был только компилятор, а полноценная среда разработки существовала исключительно для Windows. Обновление 2009 г. не привнесло принципиальных изменений в этой сфере, и лишь вышедший в нынешнем году Delphi Prism 2011 устранил недоразумение: теперь в комплекте поставляется IDE MonoDevelop, функционирующая под Windows, Linux и Mac OS X. Кроме того, появилось немало других заслуживающих внимания доработок.

IDE

MonoDevelop – это IDE с открытым исходным кодом, созданная в рамках проекта Mono и уходящая корнями к достаточно популярной среде разработки SharpDevelop, которая представлялась как альтернатива Visual Studio. В отличие от прародителя, ориентированного на Windows, MonoDevelop изначально задумывалась с прицелом на кросс-платформенность, хотя наибольшее внимание уделялось версии для Linux. С учетом своего позиционирования MonoDevelop идеально подходит в качестве среды разработки для Delphi Prism, и довольно странно выглядит то, что использовать в такой роли ее стали только сейчас. Тем не менее именно Delphi Prism 2011 с MonoDevelop в комплекте наконец-то можно считать полноценной кросс-платформенной IDE, для создания и отладки программного кода в которой не нужно в обязательном порядке иметь рабочую среду в Windows.

К сожалению, с интеграцией MonoDevelop и Delphi Prism не обошлось без шероховатостей: при первом запуске IDE выводится сообщение о том, что ее автоматическое обновление, активированное по умолчанию, приведет к отключению Delphi Prism. Соответственно, разработчику предлагается убрать эту функцию, что, безусловно, придется сделать, лишив себя следующих обновлений IDE. Возможно, в будущем эта проблема решится по-другому, но текущий вариант выглядит достаточно непрофессионально.

Разработчикам, использующим IDE от Microsoft, будет приятно узнать, что Delphi Prism 2011 поддерживает интеграцию с выпущенной весной этого года Visual Studio 2010. Кроме того, в составе дистрибутива для Windows поставляется Visual Studio Shell 2010 – на тот случай, если полноценная IDE в системе не установлена.

Технологии

Разработчиков Delphi Prism следует похвалить за оперативность в отношении реализации поддержки новых технологий – несмотря на то, что с момента выхода .NET Framework 4 и Silverlight 4 до обновления среды разработки от Embarcadero прошло всего лишь около двух месяцев, она в ней уже обеспечена. Благодаря этому покупатели Delphi Prism 2011 оказываются в числе первых, кто может использовать язык Object Pascal совместно с самыми современными платформами от Microsoft и применять все их ключевые преимущества. В частности, декларируется поддержка таких функций .NET Framework 4, как Parallel Computing Platform, библиотеки для работы с большими целыми числами, интеграции типов данных в сборку, а также ряд языковых усовершенствований, которые более детально рассмотрим позже.

Библиотека Mono традиционно и вполне объяснимо отстает в функциональности от .NET Framework, ее текущая версия 2.6 максимально полно соответствует .NET 2.0, хотя и реализует некоторые возможности более поздних. Для многих типичных проектов ее будет достаточно, но при использовании Delphi Prism 2011 с целью построения кросс-платформенных решений следует учитывать, что новые средства .NET Framework 4 на платформах, отличных от Windows, будут недоступны.

При использовании Visual Studio 2010 в качестве IDE поддерживаются визуальные дизайнеры для приложений Windows Forms, WPF, Silverlight и ASP.NET. MonoDevelop в этом отношении гораздо ограниченнее – в дополнение к визуальному дизайнеру ASP.NET предоставляется только возможность дизайна форм в редакторе GTK#, который, помимо прочего, недоступен на Mac OS X. Таким образом, несмотря на наличие в комплекте поставки кросс-платформенной IDE, паритет по функциональности на разных платформах все еще отсутствует.

Если говорить о технологиях доступа к данным, то Delphi Prism поддерживает как стандартную для .NET Framework ADO.NET, так и традиционные для унаследованных от Borland продуктов DataSnap, СУБД InterBase и Blackfish SQL.

Начиная с нынешней версии Delphi Prism в комплект поставки входит обфускатор RemObjects Oxfuscator, который будет полезен в том случае, если существует потребность защитить готовый продукт от обратного инжиниринга.

Язык

Delphi Prism 2011 кросс‑платформенная разработка не для всех
Delphi Prism 2011 кросс‑платформенная разработка не для всех
По количеству доступных для Delphi Prism типов проектов Visual Studio (сверху) и MonoDevelop (снизу) отличаются весьма заметно

Как и в прежних версиях, Delphi Prism 2011 основывается на диалекте Object Pascal под названием Oxygene, предложенным компанией RemObjects и не совместимым с языком, созданным Borland и используемым в Delphi для Win32/.NET. Многие разработчики на Object Pascal ожидали, что Embarcadero унифицирует язык, но этого, к сожалению, все еще не произошло, и неясно, как данный вопрос будет разрешен в будущем. А пока им предстоит выбирать между Delphi Prism и «обычной» Delphi для .NET, если они рассматривают .NET Framework в качестве целевой платформы.

Язык Oxygene 4 в Delphi Prism 2011 подвергся ряду усовершенствований, многие из которых необходимы для поддержки функций .NET Framework 4 и напоминают изменения в последних редакциях языка C#. В частности, появилась поддержка кортежей (tuples), динамического типа данных, констант типа BigInteger, расширяемых методов, доступных только для чтения локальных переменных, а также использования внутри выражений конструкции параметризованного цикла for, оператора выбора case и проверки условия if. Дополнительно стало возможным задавать точку входа в сборку с помощью конструкций begin/end, подобно тому как это было реализовано в продуктах Borland. Еще одним достойным упоминания нововведением, относящимся не столько к самому языку, сколько к работе компилятора, следует назвать встроенную поддержку оптимизации хвостовой рекурсии: теперь при реализации функции, последняя команда которой приводит к рекурсивному вызову, компилятор автоматически преобразует ее в цикл, что защитит от переполнения стека независимо от глубины вложенности.

Одно из наиболее интересных новшеств IDE – возможность автоматической конвертации кода из C# в Oxygene, для чего достаточно скопировать фрагмент на C# и вставить его в редакторе, воспользовавшись для этого специальным пунктом меню. С учетом того, что значительная часть примеров в Интернете, а также в документации MSDN представлена именно на C#, разработчикам, применяющим Delphi Prism 2011, не придется переписывать нужный код. Существует и возможность импортировать целые проекты с автоматической конвертацией из C# в Oxygene.

Разработка для Apple iOS

Возможность создавать приложения для устройств Apple, функционирующих под управлением ее мобильной ОС (речь идет об iPhone, iPad и iPod Touch), – один из рекламных лозунгов, используемых Embarcadero при выпуске Delphi Prism 2011. На самом деле такая возможность действительно существует, но не работает «из коробки», для ее активации следует приобрести отдельный коммерческий продукт от Novell – MonoTouch, чья стоимость сравнима со стоимостью самого Prism. Не стоит забывать и о том, что разработка должна вестись под Mac OS X, при этом необходимо участвовать в Apple iPhone Developer Program, которая также является платной. Если говорить о каких-то преимуществах использования Delphi Prism совместно с MonoTouch для построения iOS-приложений, то найти их будет непросто, все различие заключается в применении языка Oxygene вместо C#.

Также нельзя обойти вниманием и позицию Apple, находящуюся в противостоянии с Adobe и фактически объявившую вне закона все решения, использующие промежуточную среду исполнения кода, каковой является и MonoTouch. Пока еще окончательной ясности в этом вопросе нет, но не исключено, что инвестиции в проекты с ее применением будут просто потеряны.

Редакции

Delphi Prism 2011 поставляется в двух редакциях – Enterprise и Professional, стоимость которых устанавливается в зависимости от региона. Рекомендованные для Европы цены – соответственно 1399 и 499 евро. Редакции во многом идентичны, за исключением средств работы с СУБД: Enterprise дополнительно предоставляет возможность доступа к базам данных InterBase 2007 и 2009 с помощью ADO.NET и dbExpress, позволяет строить DataSnap-приложения, подключающиеся к нативным серверам Windows DataSnap, в ней доступны многоуровневые лицензии DataSnap, а также она отличается более лояльными ограничениями на использование входящей в комплект поставки СУБД Blackfish SQL. В целом, учитывая значительную разницу в цене, если перед программистами не стоят какие-то специфические задачи в области работы с БД, то редакция Professional выглядит предпочтительнее.

Заключение

Delphi Prism 2011, в отличие от предыдущих версий, по праву можно назвать кросс-платформенной средой разработки, поскольку к компиляторам теперь прилагается и IDE, способная функционировать под управлением Windows, Linux и Mac OS X. Если говорить о позиционировании продукта, то Delphi Prism вполне может занять нишу удобных кросс-платформенных средств разработки, потребность в которых велика. Особой конкуренции здесь пока не наблюдается, но все же имеется своя специфика: многие довольно качественные продукты совершенно бесплатны, например тот же MonoDevelop для C# или IDE для Java, такие как NetBeans и Eclipse. На фоне этого Delphi Prism с не очень популярным языком программирования и довольно высокой ценой выглядит недостаточно конкурентоспособно. Ситуацию может исправить поддержка каких-нибудь уникальных технологий, но ни о чем подобном Embarcadero не заявляла, следовательно, в ближайшее время Delphi Prism остается узконаправленным продуктом, ориентированным на разработчиков, использующих Object Pascal и заинтересованных в кросс-платформенности своих решений.

Сайт автора: koldovsky.com

0 
 

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT