Страницы

воскресенье, 23 августа 2009 г.

Объявлен срок выхода Delphi 2010. Обзор нововведений.

25 августа 2009 года.

Пост обновлен: 2009/08/27

Кто читает Delphi Feeds те, вероятно уже в курсе новостей. Для остальных (такие есть?:) ) вкратце опишу здесь.

У Delphi 2010 появилась своя страничка на сайте Embarcadero: http://www.embarcadero.com/rad-studio-2010/

Там будут появляться небольшие видео, демонстрирующие новые возможности IDE. Первое доступно уже сейчас.

Там же висит таймер который отсчитывает время оставшееся до выхода студии. 19 августа таймер с сайта пропал.

После анонса даты выхода, блоггеры разразились обзорами новых возможностей IDE. Вот основные (известные на данный момент по первому видео и публикациям в Delphi Feeds)

  1. Самое важное – исправлено огромное количество багов (даже те, которые не были зарегистрированы в Quality Central). Т.е. эта версия IDE обещает быть самой стабильной (поживём - увидим).
  2. Изменились иконки.
    Иконки Rad Studio 2010
  3. Компиляция в фоне. Т.е. можно запустить компиляцию в отдельном потоке, и продолжать работать в IDE. Например, расставлять точки остановки (breakpoints)
  4. Улучшена работа с потоками:
    • Появилась возможность давать потокам имена.
    • Улучшена отладка потоков. При установке брейкпойнта (это как-то ближе чем точка остановки(: ), в отладчике можно видеть, какой из потоков сейчас активен. Также можно выборочно замораживать потоки, и устанавливать активный.
    • thread-specific breakpoints.
  5. Подсветка поиска и Search bar. Наконец-то найденный текст будет подсвечиваться в редакторе.
  6. Появилась возможность переключать палитру компонентов в старый привычный режим, в виде полоски с табами. Возможность фильтрации сохранена. Кстати, код для этой штуки был написан Andreas-ом Hausladen-ом.
  7. IDE Insight. Потрясающая штука, позволяющая найти и выполнить любую команду IDE просто начав набирать её по буквам. Работает как для команд, так и для компонентов, а также для темплейтов кода. Кстати, её можно использовать для поиска компонентов на форме. По действию похожа на SearchBar в Vista Start Menu.
  8. Code Formatter. Настраиваемый форматировщик кода.
  9. Визуализаторы отладочной информации – одно из расширений ToolsApi, позволяющее отображать данные во время отладки в более удобном виде (например, можно просматривать содержимое TStrings в виде текста).
  10. Меню Reopen сделано настраиваемым.
  11. Добавлена возможность создавать Actions в Object Inspector.
  12. Мелочи вроде возможности сортировать файлы в Project manager-е, возможности перетаскивать точки остановки мышкой.
  13. Улучшения в ToolsApi (кстати там есть функции для интеграции с VCS).
  14. Наконец обновили окно Use Units. Теперь там есть фильтрация и возможность указать куда добавлять unit (в interface или implementation).
  15. Рефакторинг и Code Insight теперь работают с генериками.
  16. Поддержка mouse gestures и (multi-)touch интерфейсов. Доступен компонент – экранная клавиатура. Ещё. Ещё. Ещё, на русском.
  17. Возможность помечать внешние функции (из DLL-ок) как delayed, благодаря чему они будут загружаться только в момент вызова.
  18. Поддержка WIC (Windows Image Component), что позволит использовать в Delphi массу форматов изображений, в том числе и .raw. Некоторые даже готовы назвать это историческим событием.
  19. Классы для работы с файлами и директориями.
  20. Delphi 2010 будет иметь сертификат по совместимости с Windows 7.
  21. Новые юниты:
    1. Wincodec.pas содержит TWICImage. Поддержка Tiff, CR2 и NEF.
    2. Cor.pas – поддержка .NET Assemblies из нативного кода.
    3. Direct3D.pas, D3DX9.pas, D2D1.pas – заголовочные файлы для DirectX.
    4. Direct2D.pas содержит TDirect2DCanvas. Работа с Direct2D канвой знакомыми методами TCanvas.
    5. Manipulations.pas – инерционные манипуляции. Для реализации вращения и бросания вещей на экране. (звучит как физический движок)
    6. Gestures.pas, GestureMgr.pas, GestureCtrls.pas
      Поддержка жестов.
    7. Keyboard.pas, KeyboardTypes.pas содержит класс TTouchKeyboard.
      IOUtils.pas – серьёзное пополнение RTL в виде классов TDirectory, TPath, и TFile.
  22. Новый набор иконок, поставляющийся вместе с IDE.
  23. Расширенное RTTI: атрибуты. Пример использования атрибутов для реализации объектно-реляционной проекции.
  24. Обработка интерактивных жестов.
  25. Dbx драйвер для Firebird с поддержкой юникода. Поддержка Firebird в Data Explorer. Доступны исходники всех Dbx-драйверов. Доступен исходник midas.dll (на C). Источники: Большой обзор. Видео демонстрирующее работу с Firebird Dbx драйвером, и новые фичи Datasnap 2010.
  26. Ещё новшества касающиеся DataSnap.
  27. “Import WSDL” Wizard с поддержкой SOAP 1.2 и кучей дополнительных опций.
  28. Существенно улучшена справка. (оставьте надежду, MsHelp2 никуда не делся). Улучшения коснулись полноты материала. Будет больше code samples (например, будет 533, хотя неизвестно сколько их было раньше). Справка дополнена советами по переводу ANSI кода на Unicode.
  29. Появилась возможность приводить интерфейсы к классовому типу с помощью as.
  30. Ещё немного о SOAP 1.2.
  31. Поддержка HTTP в Datasnap 2010 с помощью ISAPI.dll. (большой пост с иллюстрациями)
  32. Обратные вызовы (callback) в Datasnap 2010.
  33. JSON типы в Datasnap 2010
  34. Ещё об атрибутах в Delphi 2010. Пример использования атрибутов для валидации данных.

По ссылкам можно посмотреть скриншоты и почитать подробное описание на английском.

Из того, что обещалось на Delphi Live пока слышно, что будет dbExpress драйвер для Firebird, будет поддержка touchscreen-ов и mouse gestures в VCL, но ничего не слышно про интеграцию с SVN (а было бы чертвоски здорово иметь что-то подобное тому, как это сделано в NetBeans).

  • Купить Delphi 2010


  • Купить RAD Studio 2010


  • Купить Embarcadero All-Access

    Nick Hodges сообщил, что поддержка SVN не будет являться частью Delphi 2010, но будет реализована в виде субпроекта после выхода Delphi 2010.

    Видео, демонстрирующее работу IDE Insight, Code Formatter, панели компонентов, фоновой компиляции и кое-чего ещё.

    Смотрите также

    Посты по теме

  • 36 комментариев:

    1. >>> Появилась возможность переключать палитру компонентов в старый привычный режим, в виде полоски с табами
      Интересно будет посмотреть, какой теперь аргумент придумают любители D7... ах да, у нас же ещё форма вместе с кодом плавает... хм, писал ли кто-нибудь из них в Quality Central?

      ОтветитьУдалить
    2. >>> Появилась возможность давать потокам имена
      Эй! Это баянище :) Появилось давным-давно. Проверь у себя - создай новый поток wizard-ом.

      ОтветитьУдалить
    3. Еще появятся новые классы для работы с RTTI. Возможно и сама RTTI будет расширена.
      Так же появится Direct2DCanvas (но только под W7 или вистой, точно не знаю).

      ОтветитьУдалить
    4. + встроенный форматер кода.

      ОтветитьУдалить
    5. ах да, у нас же ещё форма вместе с кодом плавает... хм, писал ли кто-нибудь из них в Quality Central?

      Зайди в Tools - Options - Environment Options -VCL Disigner и сними галочку с Embedded Disigner. Перегазгрузить IDE.

      ОтветитьУдалить
    6. >>> Зайди в Tools - Options - Environment Options -VCL Disigner и сними галочку с Embedded Disigner. Перегазгрузить IDE

      Только это не мне надо говорить, а товарищам лагеря "D7 - форева" :D

      ОтветитьУдалить
    7. Да, кстати, RTTI. На нём по ходу и построен Ide Insight.
      Новый Canvas очень интригует. Будет жаль если под Windows XP не будет работать.

      ОтветитьУдалить
    8. размерпустой формы сильно подрос по сравнению с 2009, тперь 802 кило.

      ОтветитьУдалить
    9. > размерпустой формы сильно подрос по сравнению с 2009, тперь 802 кило.
      Что это значит? Размер в памяти? Размер пустого приложения?

      ОтветитьУдалить
    10. Размер на диске 802 кб против 490 кб в 2009

      ОтветитьУдалить
    11. Размер пустой формы имеется ввиду File->New->VCL Forms Application
      Компилируем.

      ОтветитьУдалить
    12. ре:размерпустой формы сильно подрос по сравнению с 2009, тперь 802 кило.

      Откуда взята эта инфа, где ссылка?

      ОтветитьУдалить
    13. Могу скриншот сделать, сойдет?

      ОтветитьУдалить
    14. Alexo, тут такое дело, что просто так в лоб сравнивать нельзя. Нужно учитывать кучу параметров типа define-ов и настроек компилятора. Так что одного скриншота будет мало. =)

      ОтветитьУдалить
    15. Да даже если взять готовый, небольшой, проект от 2009 студии его размер увеличиваеться в среднем на 500кб.

      ОтветитьУдалить
    16. Ещё бы движок регулярных выражений встроили, было бы круто...

      ОтветитьУдалить
    17. >>> размерпустой формы сильно подрос по сравнению с 2009
      Т.е. поддержка touch (или чего там должно быть) реально появилась? :D

      По-моему, размер - это последнее, что волнует.

      ОтветитьУдалить
    18. >>> Ещё бы движок регулярных выражений встроили
      Лучше бы JCL, заголовочники и JWSCL вошли бы ;)

      ОтветитьУдалить
    19. Студия стала явно стабильнее, за три дня по 6-8 часов, последняя бета ни разу не вылетела.

      ОтветитьУдалить
    20. вот немного про новый rtti:
      http://it-republik.de/konferenzen/delphi_live/material/delphilive_kelly_rtti.pdf

      ОтветитьУдалить
    21. Сколько осталось времени???
      Залез в исходники страницы, а там
      12:00AM 25.08.2009 - CurrentTime
      А какой часовой пояс???
      Или они не в курсе что существуют другие часовые пояса?
      :)

      ОтветитьУдалить
    22. Лично я подожду пока с восторгами... Практика показывает, что bugland не зря за 4 месяца до соотв. года выдают релиз.

      Мне кажется, что вирус поражающий Delphi 4..7 появился подозрительно вовремя...

      ОтветитьУдалить
    23. А восторгов пока и нет. Есть просто перечисление новых фич, о которых пишут бета-тестеры. И есть официальные завяления. Что на деле получится - будет видно после выхода.
      Достоверно известно, что те кто подумывают о переходе с D5-D7 на новую версию, но так и не решились перейти на D2009, получат новый повод поколебаться. :D

      ОтветитьУдалить
    24. Странно что автор статьи не упомянул ещё о двух, по-моему, очень полезных модулях: Diagnostics и Timespan.

      ОтветитьУдалить
    25. Вовсе нет. Автор статьи не имеет доступа к D2010 и пока не встречал описаний этих модулей. Может поделитесь ссылочкой, Дмитрий? :)

      ОтветитьУдалить
    26. Да я тоже описаний не встречал :)
      Похожих реализаций есть множество.
      Если коротко, то в 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

      ОтветитьУдалить
    27. Алексей, извините !
      Под "автором статьи" я имел в виду Криса Бенсена, который в своём блоге написал про новые юниты.

      ОтветитьУдалить
    28. Есть мысль вставить линк на такой же пост по D2009 (ты вроде делал?) + из того поста линк сюда.

      Ну или тэгом объединить.

      ОтветитьУдалить
    29. 2 GunSmoker:
      1) не делал. но за идею с линками на свои посты спасибо.
      2) аццкий труд. согласую, если к тому дню, когда я разгребусь с текучкой, никто не переведёт этот документ. ;)

      ОтветитьУдалить
    30. "какой теперь аргумент придумают любители D7"
      Главная проблема в UTF по-умолчанию. Зачем навязывать то что многим не надо. Лишние заморочки с поддержкой и адаптацией приложений из D7.

      ОтветитьУдалить