Сегодня новые продукты поколения XE6 появились в продаже у официальных реселлеров:
C++ Builder XE6 от 38238.21 руб.
RAD Studio XE6 от 69152,65 руб.
Я же тем временем, как и обещал, начинаю публиковать небольшой обзор. Так уж получилось, что тестировать новую версию Delphi/RAD Studio мне пришлось на абсолютно новом ПК. Более того, вместо привычной Windows 7, теперь придется работать на 8.1, да еще и 64-битной. Использование современных операционок от Microsoft привносит неповторимые ощущения в процесс мобильной разработки. Но это отдельная тема, которую я, безусловно, затрону.
Главное, что ожидалось от нового релиза RAD Studio, это повышение качества и надежности продукта. Чего греха таить, нарекания на качество продукта были. Были нарекания и на скорость работы. Забегая вперед скажу, список исправленных багов более чем внушителен. Но кроме этого были добавлены и новые возможности, в том числе и для VCL приложений.
И, конечно, гвоздь программы — поддержка разработки под Android в C++ Builder.
Обо всем этом я планирую рассказать чуть позже, а пока, непосредственно впечатления от увиденного.
Для установки я использовал iso-образ. Размер дистрибутива оказался немного больше, чем у Rad Studio XE5. Никаких неожиданностей при установке не возникло. Обратил на себя внимание лишь обновленный дизайн установщика. Как и для предыдущей версии, отдельные дополнительные компоненты и инструменты доустанавливаются отдельно. На момент написания материала для зарегистрированных пользователей доступны:
- AQtime for RAD Studio, Delphi and C++Builder XE6
- IP*Works for C++Builder XE6
- FastReport 4 VCL for RAD Studio, Delphi and C++Builder XE6
- FastReport FMX for RAD Studio, Delphi and C++Builder XE6
- FireDAC ini file utility
- VCL Premium Styles Pack for RAD Studio XE6
- FireMonkey Premium Styles Pack for RAD Studio XE6
Как видите, все-таки в состав Delphi вошла Embarcadero редакция четвертой версии FastReport VCL.
После запуска среды мы попадаем на обновленную Welcome Page, на которой мы можем найти информацию о новых возможностях Rad Studio и ссылки на демонстрационные примеры и видео.
По сути, конфигурация IDE не претерпела особых изменений. Исходное расположение панелей осталось тем же, все привычно. Изменились только изображения на кнопках. Теперь они стилизованы под Windows 8.
Работа над качеством продукта видна сразу же после создания нового VCL приложения. Вот так выглядит редактор кода вновь созданного приложения в Delphi XE6,
а так он выглядел в предыдущей версии.
Думаю, разница заметна (картинки кликабельны).
Приятно удивил тот факт, что в новой версии Delphi исправлен даже такой баг.
На палитре компонентов сразу обнаруживаются две новые группы — Sensors и Tethering.
Tethering компоненты служат для обеспечения взаимодействия приложений на разных устройствах. Думаю, это тема достаточно обширна и интересна, и вполне стоит того, что бы посвятить ей отдельный пост.
Что касается сенсоров, то это портированные компоненты FireMonkey.
Еще один новый компонент — TTaskBar, он размещен в группе Win32. Как и следует из названия, компонент предназначен для работы с кнопкой приложения на панели задач в Windows 7 и Windows 8.
Компонент интуитивно понятен, и даже не успев посмотреть официальные демо, я сделал небольшой собственный ознакомительный пример.
На форму поместим три кнопки, текстовую метку (TLabel) и три невизуальных компонента Ttimer, TActionManager и TtaskBar. В редакторе TActionManager создадим три объекта Tactions (aStart, aStop и aPause). В обработчик кода события onExecute таймера впишем код, меняющий текст метки. Соответственно, в обработчики событий OnExecute для объектов TAction впишем код, меняющий состояние таймера и текущее значение времени отсчета в секундах. Обработанные действия (aStart, aStop и aPause) привяжем к соответствующим кнопкам. Таким образом, мы реализовали простейший таймер. Теперь настроим свойства компонента TTaskBar так, как это показано на рисунке и добавим три кнопки TaskBarButtons. Для каждой из кнопок назначим иконку и выберем соответствующее действие TAction.
Код несложный. Думаю, вы без труда в нем разберетесь.
private { Private declartions } i: integer; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function GetStrTime(FSecInterval: integer): string; var sMin, sSec, SHours: string; iMin, iH: integer; const Separator = ':'; begin sSec:= IntToStr(FSecInterval mod 60); if Length(sSec)<2 then sSec:= '0'+sSec; iMin:= FSecInterval div 60; sMin:= IntToStr(iMin mod 60); if Length(sMin)<2 then sMin:= '0'+sMin; iH:= iMin div 60; sHours:= IntToStr(iH); Result:= SHours+Separator+sMin+Separator+sSec; end; procedure TForm1.aPauseExecute(Sender: TObject); begin Timer1.Enabled:= not Timer1.Enabled; end; procedure TForm1.aStartExecute(Sender: TObject); begin Timer1.Enabled:= True; end; procedure TForm1.aStopExecute(Sender: TObject); begin Timer1.Enabled:= False; i:= 0; end; procedure TForm1.FormCreate(Sender: TObject); begin i:=0; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Inc(i); Label1.Caption:= GetStrTime(i); end;
После запуска приложения на панели задач появляется не стандартное уменьшенное изображение главной формы приложения, а миниатюра, обладающая собственным функционалом. Кнопки вполне кликабельны.
Приложение вы можете скачать здесь: VCLTest.
Набор VCL стилей был дополнен двумя новыми стилями Glossy и TabletDark. Оба стиля выполнены в темных тонах. К сожалению, значения свойства PreviewClipRegion компонента TTaskBar вам придется подстраивать к стилю.
Дальнейшее знакомство с новинками XE6 я продолжу в следующей части, а пока – обещанные субъективные впечатления. До недавнего времени я использовал для работы ноутбук, пусть и с достаточно производительным, но мобильным процессором. Для VCL приложений, пусть даже и использующие «тяжелые» сторонние компоненты, такие как DevExpress, этого в принципе хватало. Чудес производительности не было, но время компиляции и различных обработок кода было вполне приемлемо. Однако, в случае с мобильными приложениями среда работала очень медленно.
Вынужден признать, Delphi не PHP. Для полноценной работы требуется полноценный производительный компьютер. И даже мобильные приложения на моем ПК собираются и разворачиваются очень быстро. Что касается сравнения производительности с предыдущей версией Delphi, то, хотя я и не делал никаких специальных измерений, визуально кажется, что новая версия работаю, пусть и не значительно, но быстрее.
Традиционные тесты “размер пустой формы с кнопкой” я для данного обзора делать не буду. Уверен, что есть форумы, пользователи которых сделают это и без меня. С учетом того, что папка Windows на моем ПК занимает 15 Г, я абсолютно не вижу в этом смысла.
Спасибо!
>И, конечно, гвоздь программы — поддержка разработки под Android в C++ Builder.
Обо всем этом я планирую рассказать чуть позже
Будем ждать.