Delphi 2005 – отчет, как я был на конференции Борланда
Вчера (21 декабря 2005 года) был на конференции Борланда посвященной Дельфи 2005. Конференцию проводил один из менеджеров команды разработчиков John Kastor, сама конференция проводилась в штате Висконсин, город Милуоки, это примерно в 150 км от моего дома.
Сразу оговорюсь - самому мне ещё не довелось близко ознакомиться с продуктом, поэтому передам лишь общее впечатление от выступления разработчика и то что я смог запомнить во время двух с половиной часовой лекции.
Сразу бросилось в глаза что Дельфи 2005 по большей части аутсорсинговый продукт и Джон назвал 7 стран в которых велась разработка - Россия (СПБ) на первом месте, учитывая как легко и правильно он прочитал мою и моего друга имя и фамилию он с русскими работает достаточно тесно и долго.
Сразу бросается в глаза основное направление которым идёт Борланд сейчас, это корпоративная разработка больших систем, т.е. все силы в новом релизе направлены на промышленный софт, разрабатываемый коллективами из десятков, сотен и тысяч программистов и програмные продукты соответствующих размеров. Судя по перечисленным новациям изменения самого языка занимают последнее место.
Первый момент: упор на единую интегрированную среду разработки для Дельфи, Дельфи.Net, С# и ASP.NET. В дальнейшем туда будет добавлен C++ и возможно Kylix (тут отдельный разговор). Т.е. уже не будет отдельных сред разработки, компилляторы и дебаггеры подключаются на лету, Есть возможность использовать разнотипные компилляторы и дебаггеры одновременно. Насколько я понял борландевцев - удар был сделан на переделку архитектуры и концепции самой среды так, чтобы подключение нового языка или платформы было максимально лёгким, в дальнейшем планируется при появлении новых популярных языков - легко интегрировать их в единую среду разработки.
Второй момент: Рефракторинг кода. Для тех кто не знает, рефракторинг - это изменение кода с целью улучшения его понятности, читабельности, удобства использования без изменения функциональности. До сих пор единственными элементами рефракторинга кажись было автоматическое изменение класса формы во всех методах при переименовании формы. Сейчас добавлены очень многочисленные методы:
1) Переименование любых идентификаторов глобально, во всех модулях по ссылкам. Т.е. любую переменную в коде можно переименовать из "Foo" в "TestMethod" и эта переменная будет переименована во всех местах где она уже описана
2) Опроцедуривание кода - выделяем любой кусок кода, и говорим что это процедура, среда автоматически выделенное помещает в новую процедуру, анализирует код, автоматически находит и объявляет локальные переменные для процедуры и все требуемые параметры.
3) Автоматическая очистка кода от неиспользуемых идентификаторов и т.п.
Были ещё пункты, я все не запомнил, за 2.5 часа он смог лишь очень бегло коснуться всех новаций.
Третий момент: документация кода. Автоматические генераторы XML которые перерабатывают исходный код проекта, определяют структуру связей объектов и методов, выцепляют из кода комментарии и генерируют XML документ для исходных кодов, на базе которого очень легко создавать документацию к исходникам.
Четвёртый момент: средства для тестирования проектов. Буквально одним кликом создаётся полный план тестирования с комментариями внутри кода что и где тестировать - типа в начале процедуры проверить передаваемые данные, в конце выходные, всякие скользкие места.... Документы для тестировщиков делаются динамическими, по мере тестирования тестировочные комментарии автоматически удаляются, по мере правки кода меняются и сами тестировочные документы.
Появились новые мощные системы контроля версий, и внедрения вплодь до автоматической замены модулей в системе по мере их разработки.
Были существенно доработанны ADO и dbExpress, добавлена ADO.NET и существенно доработана BDE для .NET. Был удивлён, но борландовцы утверждают что будут и впредь двигать BDE для локальных баз данных. Однако они сворачивают поддержку BDE серверных баз, так из BDE был исключён окончательно SQL-Link. Были сильно доработаны средства работы с базами данных, включая и массовые реструктуризации базы данных, копирование таблиц и т.п. вне зависимости от типа базы данных (если я правильно понял, то нечно типа BatchMove но работающем в ADO/dbExpress). BDE теперь не требует установки (наконец-то!) - достаточно просто положить нужные библиотеки в доступное место (только я не уверен что этио под все платформы, возможно это только под .NET). Существенно улучшена поддержка BLOB полей.
В языке (и Дельфи под win32) появилась .NET фишка - оператор For...in...do позволяющий проходить циклом по элементам коллекции ( и по-моему спискам тоже) что то типа:
For item in List1 do
begin
end;
Появилась перезагрузка операторов, record method, nested types, parametrizided types, multicast events.
Добавлена поддержка Multitier под .NET, в общем-то идеология MIDAS осталась, просто немного доработана и расширена.
Очень много сделано в плане оптимизации кэширования клиент-серверных техноголий, например в ASP.NET при навигации браузера на страницу назад не приводит к перезапросам в таблицах и т.п. Вообще в ASP.NET очень много доработано, складывается вечатление, что разработка web теперь почти не отличается от разработки локальных приложений - на web форму можно бросить DBGrid и DBNavigator и они сразу будут работать как в локальном приложении, можно побросать свои кнопки и обрабатывать события на сервере, появился даже ActionList для web форм, мало того, сложилось впечатление что и перенос кода с обычного приложения на web теперь очень облегчён, а если он на платформе .NET то вообще почти автоматично.
С++ под Win32 платформу - планируется включить ещё до выхода следующего релиза Дельфи. Кстати следующий релиз будет одновременно с выходом .NET 2х - борландовцы подчёркивали что они работают совместно с MS и обмениваются информацией по ходу дела. Кстати Борланд является единственным сертифицированным дистрибьютером .NET помимо MS.
Компоненты ECO (Enterprise Core Objects)- это вообще класс! Я проникся! Идея офигенная (впрочем не новая)... При нас Джон берёт тестовую MS базу данных Northwind и тремя кликами мышки делает:
1) Полный UML структуры таблиц со всеми ключами и взаимосвязами
2) Весь скелет классов для приложения соответственно этой структуре
3) Целиком готовое приложение для редактирования этой таблицы из десятков (если не сотен!) форм со всеми элементами, очень круто. Можно в собственном репозитории определить свои дизайны на любой вкус и на случаи жизни. Кто работал с базми данных - меня поймёт, приложение на которое в ручную тратится несколько недель делается за 1-2 минуты, пусть оно не совершенное, но оно уже сразу рабочее! День-два работы "напильником" и готово, вместо месяцев... Это впечатлило-так впечатлило. Причём исходная аза данных не имеет значения - всё будет работать прекрастно с любыми базами данных при любом доступе. В поставку входит более 60 примеров работы с ECO. ECO были уже для предыдущей Дельфи, но в этом релизе борландовцы утверждают что они были существенно доработаны, многое добавлено. Сделаны ECO и для ASP.NET
Очень существенно доработан Дебаггер под Win32 и .NET - всего я не упомнил, но по список доработок был внушительным.
Существенно дополнили средства планированя приложений, лёгкое трансформирование UML <-> код, стредства для Reverse Engeneering и облегчение переписывания кода на другой язык.
Поразили факты разработки самого Дельфи 2005 - он разрабатывался 3.5 года, причём 2.5 года производилось планировние, и только 1 год - программирование. Причём точность с которой за отведенное время было разработано рассчитанное количество нововведений составила 1%! Это на мой взгляд - на пределе возможностей для продуктов такого уровня сложности.
(с) Vit (Сссылка на оригинал статьи при перепечатке: http://forum.vingrad.ru/index.php?showtopic=37936 обязательна, это единственное ограничение при перепечатке статьи)