Мир Delphi
Borland
Inprise Borland Codegear Embarcadero в этом году анонсировали свои планы по развитию Delphi. В числе планов была упомянута взбудоражившая блогосферу кроссплатформенность.
В этом году вышла первая версия Delphi разработанная в Embarcadero – Delphi 2010. Эта версия Delphi характеризовалась большим количеством исправлений ошибок, некоторые из которых тянулись ещё со времён Delphi 7. Но стабильность – не единственный плюс этой версии, посмотрите также и на внушительный список нововведений в Delphi 2010.
В этом году Embarcadero продемонстрировали, что в отличие от Borland-a, они готовы к диалогу с Delphi-сообществом. В этом году Embarcadero провело несколько опросов дающих пользователям возможность оценить нововведения в последних версиях IDE, ожидаемые новинки, так и поддержку, и схемы лицензирования.
В этом году у Delphi появился свой форум на UserVoice. Quality Central мне кажется слишком запутанной, а форумы UserVoice – простыми и понятными. Поэтому я считаю, что баги стоит регистрировать в QC, а запрашивать новые фичи на UserVoice.
Также в этом году, были изменены условия обновления продуктов. И если раньше, приобрести новую версию Delphi по цене апгрейда (полцены от полной стоимости продукта), мог владелец любой версии Delphi, то теперь срок апгрейда ограничен только последними тремя версиями Delphi. Вероятно, кто-то в Embarcadero посмотрел на внушительное число пользователей, использующих Delphi версии 6 и 7, посчитал объёмы недополученных прибылей и сделал выводы. Так что те, кто используют версии Delphi младше 2007 и не успел купить обновления до конца этого года – будут вынуждены покупать следующую версию по цене новой лицензии.
В этом году у Delphi-программистов появился “свой вирус (Induc)”, нацеленный именно на Delphi-разработчиков.
Delphi сообщество
Русскоязычная блогосфера
В этом году в русскоязычной блогосфере появилось несколько новых блогов о Delphi. Из особенно интересных я хочу отметить блог Александра Божко: Delphi2010.ru и коллективный блог WebDelphi (сейчас у блога 2 автора: Vlad и SeregaAltmer).
Также я очень рад, что Александр Алексеев продолжил ведение своих замечательных блогов: gunsmoker и переводы от gunsmoker. Статьи такого уровня нечасто встретишь в свободном доступе.
Спасибо вам, ребята за то что вы делаете!
Также, в этом году, благодаря Александру Божко у Delphi-сообщества появился аггрегатор новостей DelphiFeeds.ru. Фактически это даёт возможность подписаться на всего на одну ленту и получать уведомления о новых материалах из 25 русскоязычных блогов и сайтов, посвящённых Delphi. Я очень надеюсь, что этот не обрастёт рекламой и не лишит посещаемости и подписчиков оригинальные блоги авторов, создающих контент. Хотя в той или иной степени, это всё-таки случится, поэтому у меня просьба к читателям – будьте более активны предоставляя авторам блогов обратную связь в виде комментариев. Это действительно важно.
И ещё, мне кажется, что в этом году Delphi-сообщество стало более сплочённым. Надеюсь, что это только начало. =)
Интересные открытые Delphi проекты 2009 года
Некоторые известные Delphi-проекты с открытым кодом в этом году переехали на Google Code, в том числе и такие старички как Virtual TreeView и продукты команды CnPack.
Если поискать в Google Code проекты с тэгом Delphi, то можно найти кое-что интересное. Например:
- Delphi Spring Framework
- Delphi On Rails – фрэймворк для создания приложений и веб-серверов основанных на MVC и REST.
- Extpascal - Ext JS wrapper for Object Pascal. Демки. (этот проект появился ещё в 2008 году, но я о нём узнал только в этом году).
Также, хочу упомянуть ещё один, на мой взгляд, очень интересный проект: Raudus – фрэймворк для создания богатых интернет-приложений (RIA). Raudus использует библиотеку ExtJS. Подход к созданию приложений – такой же как для настольных приложений. (цитата с офф-сайта). На сайте можно посмотреть примеры работы.
А также, хочу упомянуть одно большое изменение в JVCL. В этом году команда Jedi, перестала явно разделять обычные контролы и Db-aware-контролы. В последних версиях JVCL можно видеть, что многие JvКонтролы обзавелись свойством DataConnector, содержащим поля DataSource и DataField.
Рабочее
В этом году мне довелось заниматься следующими делами:
- Научиться компилировать Firebird UDF-ки на С для Linux и Windows.
- Составить план по интеграции нашего продукта с открытым сервером по синхронизации данных Funambol. План так и не был реализован.
- Написать программку для многопоточного тестирования результатов выполнения запросов в Firebird. После того, как я оттестировал с её помощью скомпилированную UDF-ку, эта программка более не используется. В следующем году, я всё-таки приведу её в порядок и выложу в свободный доступ.
- Потратить почти месяц на изучение Wix, - инструмента для создания Windows Installer инсталляций. Результатом этой работы явились 5 скриптов создающих инсталляции для наших продуктов. Злая ирония в том, что после того как я сделал инсталляции, оттестировал на чистых машинах и настроил сборку на Hudson-e – этой штукой пользовались только 1 раз.
- Убедил нашего админа попробовать в деле сервер виртуализации, в результате чего у нас появился настроенный сервер Citrix XenSource, который успешно использовался при тестировании инсталляций и для тестирования работы наших программ под пользователем с ограниченными правами. К концу года админ сумел убедить начальство выделить деньги на перевод зоопарка наших серверов (около 15 машин устаревшей конфигурации) на один мощный сервак построенный на Citrix XenServer-e. Citrix именно в этом году сделали свой XenServer бесплатным.
- Перевёл второй из моих постоянных проектов с BDE на FibPlus. Первый был переведён ещё в прошлом году и переход занял почти 4 месяца (включая тестирование и исправление ошибок). Перевод второго проекта прошёл раза в три быстрее.
- Написал небольшую утилиту позволяющую автоматизировать процесс обновления одинаковых баз данных. Об этом я не писал, но эта небольшая программка одна из тех приятных мелочей – позволяющих существенно сэкономить время на рутинных операциях.
- Очень плотно занимался созданием и развитием общей библиотеки для наших рабочих проектов. Создание и развитие заключалось в поиске кода дублирующегося хотя бы в двух наших проектов, разрывания зависимостей с родительским проектом, и создания интерфейсов, позволяющих использовать его в остальных проектах. Пока что, эта библиотека активно используется в трёх проектах из пяти. Но в следующем году у нас грядёт переход с Delphi 6 на Delphi 2010 – и я планирую внедрить её и в оставшиеся 2 проекта, чтобы не переводить на юникод один и тот же код в разных проектах.
- Окончательно освоился в Redmine. Регистрирую там все задачи, в каждом коммите в SVN, указываю соответствующую задачу. Начал писать документацию о внутренней библиотеке.
- Практика проведения еженедельных совещаний продержалась всего месяц. Причина в том, что у меня случился аврал в моих проектах, а инициативу проведения совещаний больше никто из программистов не подхватил. Из этого я сделал вывод, что явной необходимости в формальных совещаниях у нас в отделе нет.
- Опробовал в деле Test Driven Development. Пока что это только первые несмелые шаги – я пишу тесты только для тех классов, в которых нахожу ошибки, или не до конца понимаю, но даже это уже хорошо. Основным стимулом для этого послужила книга Майкла К. Физерса – Эффективная работа с унаследованным кодом. Это одна из тех редких книг, которые учат не тому, как сделать что-то, а тому как думать. Я называю такие книги, книгами ставящими мозги на место. Настоятельно рекомендую её прочитать.
- Последние месяцы я внедрял поддержку скриптов и дизайнера форм в одном из своих проектов.
Личное
- В конце января TDelphi-блог переехал с Vingrad-blogs на blogspot.com.
- Купил домены www.tdelphiblog.com и www.lazyproject.info.
- Сделал несколько переводов материалов по женерикам в Delphi.
- Выпустил финальную версию Lazy Delphi Builder (1.2.8.140). В этой версии реализовано почти всё что я хотел реализовать в бесплатной версии (возможность использовать относительные пути) и даже больше (возможность переопределять переменные окружения).
- Начал наполнять контентом сайт для Lazy Delphi Builder.
- Побывал в Штутгарте.
- Начал учить немецкий язык.
- Сдал экзамен на получение гражданства Латвии.
- Закончил последний курс в университете.
- Основательно подтянул свой английский, – очень помогли переводы. Теперь большинство фильмов смотрю без перевода (но с английскими субтитрами).
- Немного позанимался сальсой и спортом.
- В этом году я попробовал поработать в NetBeans (работал с Ruby On Rails). Мне понравилось.
Цели на следующий год
- В следующем году мне предстоит переводить свои проекты на работе с Delphi 6 на Delphi 2010. Буду стараться обобщать полученный опыт в блоге.
- Хочу завести блог на английском.
- Выйти на shareware-рынок.
Новогодний подарок
Доступен перевод материалов по дженерикам в Delphi 2009 в виде одной PDF-ки. За вёрстку спасибо Андрею Тишкину. Скачать можно здесь, либо на домашней странице Sébastien Doeraene (поиск по фразе «PDF form»).
C Новым Годом!
Версия для мобильного

5 человек заметили этот пост: