Пост обновлен: 2009/08/27
Кто читает Delphi Feeds те, вероятно уже в курсе новостей. Для остальных (такие есть?:) ) вкратце опишу здесь.
У Delphi 2010 появилась своя страничка на сайте Embarcadero: http://www.embarcadero.com/rad-studio-2010/
Там будут появляться небольшие видео, демонстрирующие новые возможности IDE. Первое доступно уже сейчас.
Там же висит таймер который отсчитывает время оставшееся до выхода студии. 19 августа таймер с сайта пропал.
После анонса даты выхода, блоггеры разразились обзорами новых возможностей IDE. Вот основные (известные на данный момент по первому видео и публикациям в Delphi Feeds)
- Самое важное – исправлено огромное количество багов (даже те, которые не были зарегистрированы в Quality Central). Т.е. эта версия IDE обещает быть самой стабильной (поживём - увидим).
- Изменились иконки.
- Компиляция в фоне. Т.е. можно запустить компиляцию в отдельном потоке, и продолжать работать в IDE. Например, расставлять точки остановки (breakpoints)
- Улучшена работа с потоками:
- Появилась возможность давать потокам имена.
- Улучшена отладка потоков. При установке брейкпойнта (это как-то ближе чем точка остановки(: ), в отладчике можно видеть, какой из потоков сейчас активен. Также можно выборочно замораживать потоки, и устанавливать активный.
- thread-specific breakpoints.
- Подсветка поиска и Search bar. Наконец-то найденный текст будет подсвечиваться в редакторе.
- Появилась возможность переключать палитру компонентов в старый привычный режим, в виде полоски с табами. Возможность фильтрации сохранена. Кстати, код для этой штуки был написан Andreas-ом Hausladen-ом.
- IDE Insight. Потрясающая штука, позволяющая найти и выполнить любую команду IDE просто начав набирать её по буквам. Работает как для команд, так и для компонентов, а также для темплейтов кода. Кстати, её можно использовать для поиска компонентов на форме. По действию похожа на SearchBar в Vista Start Menu.
- Code Formatter. Настраиваемый форматировщик кода.
- Визуализаторы отладочной информации – одно из расширений ToolsApi, позволяющее отображать данные во время отладки в более удобном виде (например, можно просматривать содержимое TStrings в виде текста).
- Меню Reopen сделано настраиваемым.
- Добавлена возможность создавать Actions в Object Inspector.
- Мелочи вроде возможности сортировать файлы в Project manager-е, возможности перетаскивать точки остановки мышкой.
- Улучшения в ToolsApi (кстати там есть функции для интеграции с VCS).
- Наконец обновили окно Use Units. Теперь там есть фильтрация и возможность указать куда добавлять unit (в interface или implementation).
- Рефакторинг и Code Insight теперь работают с генериками.
- Поддержка mouse gestures и (multi-)touch интерфейсов. Доступен компонент – экранная клавиатура. Ещё. Ещё. Ещё, на русском.
- Возможность помечать внешние функции (из DLL-ок) как delayed, благодаря чему они будут загружаться только в момент вызова.
- Поддержка WIC (Windows Image Component), что позволит использовать в Delphi массу форматов изображений, в том числе и .raw. Некоторые даже готовы назвать это историческим событием.
- Классы для работы с файлами и директориями.
- Delphi 2010 будет иметь сертификат по совместимости с Windows 7.
- Новые юниты:
- Wincodec.pas содержит TWICImage. Поддержка Tiff, CR2 и NEF.
- Cor.pas – поддержка .NET Assemblies из нативного кода.
- Direct3D.pas, D3DX9.pas, D2D1.pas – заголовочные файлы для DirectX.
- Direct2D.pas содержит TDirect2DCanvas. Работа с Direct2D канвой знакомыми методами TCanvas.
- Manipulations.pas – инерционные манипуляции. Для реализации вращения и бросания вещей на экране. (звучит как физический движок)
- Gestures.pas, GestureMgr.pas, GestureCtrls.pas
Поддержка жестов. - Keyboard.pas, KeyboardTypes.pas содержит класс TTouchKeyboard.
IOUtils.pas – серьёзное пополнение RTL в виде классов TDirectory, TPath, и TFile.
- Новый набор иконок, поставляющийся вместе с IDE.
- Расширенное RTTI: атрибуты. Пример использования атрибутов для реализации объектно-реляционной проекции.
- Обработка интерактивных жестов.
- Dbx драйвер для Firebird с поддержкой юникода. Поддержка Firebird в Data Explorer. Доступны исходники всех Dbx-драйверов. Доступен исходник midas.dll (на C). Источники: Большой обзор. Видео демонстрирующее работу с Firebird Dbx драйвером, и новые фичи Datasnap 2010.
- Ещё новшества касающиеся DataSnap.
- “Import WSDL” Wizard с поддержкой SOAP 1.2 и кучей дополнительных опций.
- Существенно улучшена справка. (оставьте надежду, MsHelp2 никуда не делся). Улучшения коснулись полноты материала. Будет больше code samples (например, будет 533, хотя неизвестно сколько их было раньше). Справка дополнена советами по переводу ANSI кода на Unicode.
- Появилась возможность приводить интерфейсы к классовому типу с помощью as.
- Ещё немного о SOAP 1.2.
- Поддержка HTTP в Datasnap 2010 с помощью ISAPI.dll. (большой пост с иллюстрациями)
- Обратные вызовы (callback) в Datasnap 2010.
- JSON типы в Datasnap 2010
- Ещё об атрибутах в Delphi 2010. Пример использования атрибутов для валидации данных.
По ссылкам можно посмотреть скриншоты и почитать подробное описание на английском.
Из того, что обещалось на Delphi Live пока слышно, что будет dbExpress драйвер для Firebird, будет поддержка touchscreen-ов и mouse gestures в VCL, но ничего не слышно про интеграцию с SVN (а было бы чертвоски здорово иметь что-то подобное тому, как это сделано в NetBeans).
Nick Hodges сообщил, что поддержка SVN не будет являться частью Delphi 2010, но будет реализована в виде субпроекта после выхода Delphi 2010.
Видео, демонстрирующее работу IDE Insight, Code Formatter, панели компонентов, фоновой компиляции и кое-чего ещё.
Смотрите также
- Обзор новых фич от Александра Божко.
- Обзор механизмов естественного ввода в Delphi 2010.
- Как настроить Delphi 2010, чтобы оно выглядело как Delphi 7. (англ.)
- What’s New in Delphi and C++ Builder 2010 (статья из Wiki Embarcadero)
Посты по теме
>>> Появилась возможность переключать палитру компонентов в старый привычный режим, в виде полоски с табами
ОтветитьУдалитьИнтересно будет посмотреть, какой теперь аргумент придумают любители D7... ах да, у нас же ещё форма вместе с кодом плавает... хм, писал ли кто-нибудь из них в Quality Central?
>>> Появилась возможность давать потокам имена
ОтветитьУдалитьЭй! Это баянище :) Появилось давным-давно. Проверь у себя - создай новый поток wizard-ом.
Хмммм. Точно. =(
ОтветитьУдалитьЕще появятся новые классы для работы с RTTI. Возможно и сама RTTI будет расширена.
ОтветитьУдалитьТак же появится Direct2DCanvas (но только под W7 или вистой, точно не знаю).
+ встроенный форматер кода.
ОтветитьУдалитьах да, у нас же ещё форма вместе с кодом плавает... хм, писал ли кто-нибудь из них в Quality Central?
ОтветитьУдалитьЗайди в Tools - Options - Environment Options -VCL Disigner и сними галочку с Embedded Disigner. Перегазгрузить IDE.
>>> Зайди в Tools - Options - Environment Options -VCL Disigner и сними галочку с Embedded Disigner. Перегазгрузить IDE
ОтветитьУдалитьТолько это не мне надо говорить, а товарищам лагеря "D7 - форева" :D
Да, кстати, RTTI. На нём по ходу и построен Ide Insight.
ОтветитьУдалитьНовый Canvas очень интригует. Будет жаль если под Windows XP не будет работать.
размерпустой формы сильно подрос по сравнению с 2009, тперь 802 кило.
ОтветитьУдалить> размерпустой формы сильно подрос по сравнению с 2009, тперь 802 кило.
ОтветитьУдалитьЧто это значит? Размер в памяти? Размер пустого приложения?
Размер на диске 802 кб против 490 кб в 2009
ОтветитьУдалитьРазмер пустой формы имеется ввиду File->New->VCL Forms Application
ОтветитьУдалитьКомпилируем.
Alexo понятно, спасибо.
ОтветитьУдалитьре:размерпустой формы сильно подрос по сравнению с 2009, тперь 802 кило.
ОтветитьУдалитьОткуда взята эта инфа, где ссылка?
Могу скриншот сделать, сойдет?
ОтветитьУдалитьAlexo, тут такое дело, что просто так в лоб сравнивать нельзя. Нужно учитывать кучу параметров типа define-ов и настроек компилятора. Так что одного скриншота будет мало. =)
ОтветитьУдалитьДа даже если взять готовый, небольшой, проект от 2009 студии его размер увеличиваеться в среднем на 500кб.
ОтветитьУдалитьЕщё бы движок регулярных выражений встроили, было бы круто...
ОтветитьУдалить>>> размерпустой формы сильно подрос по сравнению с 2009
ОтветитьУдалитьТ.е. поддержка touch (или чего там должно быть) реально появилась? :D
По-моему, размер - это последнее, что волнует.
>>> Ещё бы движок регулярных выражений встроили
ОтветитьУдалитьЛучше бы JCL, заголовочники и JWSCL вошли бы ;)
Студия стала явно стабильнее, за три дня по 6-8 часов, последняя бета ни разу не вылетела.
ОтветитьУдалитьВ тему: как заставить Delphi 2010 выглядеть как Delphi 7.
ОтветитьУдалитьвот немного про новый rtti:
ОтветитьУдалитьhttp://it-republik.de/konferenzen/delphi_live/material/delphilive_kelly_rtti.pdf
Сколько осталось времени???
ОтветитьУдалитьЗалез в исходники страницы, а там
12:00AM 25.08.2009 - CurrentTime
А какой часовой пояс???
Или они не в курсе что существуют другие часовые пояса?
:)
Лично я подожду пока с восторгами... Практика показывает, что bugland не зря за 4 месяца до соотв. года выдают релиз.
ОтветитьУдалитьМне кажется, что вирус поражающий Delphi 4..7 появился подозрительно вовремя...
А восторгов пока и нет. Есть просто перечисление новых фич, о которых пишут бета-тестеры. И есть официальные завяления. Что на деле получится - будет видно после выхода.
ОтветитьУдалитьДостоверно известно, что те кто подумывают о переходе с D5-D7 на новую версию, но так и не решились перейти на D2009, получат новый повод поколебаться. :D
Странно что автор статьи не упомянул ещё о двух, по-моему, очень полезных модулях: Diagnostics и Timespan.
ОтветитьУдалитьВовсе нет. Автор статьи не имеет доступа к D2010 и пока не встречал описаний этих модулей. Может поделитесь ссылочкой, Дмитрий? :)
ОтветитьУдалитьДа я тоже описаний не встречал :)
ОтветитьУдалитьПохожих реализаций есть множество.
Если коротко, то в Diagnostics - запись TStopwatch с таким интерфейсом:
class function Create: TStopwatch; static;
class function GetTimeStamp: Int64; static;
procedure Reset;
procedure Start;
class function StartNew: TStopwatch; static;
procedure Stop;
property Elapsed: TTimeSpan read GetElapsed;
property ElapsedMilliseconds: Int64 read GetElapsedMilliseconds;
property ElapsedTicks: Int64 read GetElapsedTicks;
property IsRunning: Boolean read FRunning;
public class var Frequency: Int64;
public class var IsHighResolution: Boolean;
А аналог TTimeSpan есть в моей любимой библиотеке DelphiHelpLib http://code.google.com/p/delphilhlplib
Алексей, извините !
ОтветитьУдалитьПод "автором статьи" я имел в виду Криса Бенсена, который в своём блоге написал про новые юниты.
Dmitry Atamanov, спасибо за экскурс.
ОтветитьУдалитьЕсть мысль вставить линк на такой же пост по D2009 (ты вроде делал?) + из того поста линк сюда.
ОтветитьУдалитьНу или тэгом объединить.
...и согласовать с этим ;)
ОтветитьУдалить2 GunSmoker:
ОтветитьУдалить1) не делал. но за идею с линками на свои посты спасибо.
2) аццкий труд. согласую, если к тому дню, когда я разгребусь с текучкой, никто не переведёт этот документ. ;)
...кажется я с этим спутал...
ОтветитьУдалить"какой теперь аргумент придумают любители D7"
ОтветитьУдалитьГлавная проблема в UTF по-умолчанию. Зачем навязывать то что многим не надо. Лишние заморочки с поддержкой и адаптацией приложений из D7.