среда, 18 августа 2010 г.

Лицензионный софт

Волна лицензионной одержимости докатилась до меня, и окатила полностью, смыв с диска около 10 гигабайт лишних файлов! Все-таки, полезно иногда разбираться у себя на компе. И место освобождается, и порядка становится больше. А порядок, как известно, - отец эффективности.

Ниже краткий обзор о том, как повлиял на меня полный переход на лицензионное и бесплатное ПО дома (на работе, всё-таки, больше возможностей купить что-то нужное).



Visual Studio

Благодаря всему этому происшествию, открыл для себя совершенно бесподобную штуку, которая называется Microsoft Visual Studio Express. Оговорюсь, речь идет о 2008й версии, т.к. в силу ряда причин дома лично для меня предпочтительнее использовать именно её.


Признаюсь честно, раньше никогда не пользовался Express-редакциями. Ставишь сразу что-нибудь типа Ultimate, и само собой кажется, что на Express после этого пересесть совершенно нереально. Однако, оказалось, наоборот. Я мало того что пересел, но теперь еще и слезать не хочу. Объясняю, почему:
  1. Visual Studio Express гораздо быстрее. В разы. И гораздо меньше места занимает на диске. Легкая, быстрая, радует.
  2. Я не заметил особых отличий в том функционале, который я использовал. Напрягают в основном, следующие вещи:


    • отсутствие плагинов (не поставишь, к примеру, SPVisualDev), 
    • отсутствие Setup-проектов, 
    • отсутствие юнит-тестов 
  3. Благодаря установке VS Express, мне удалось многое узнать. Я открыл для себя несколько замечательных инструментов разработки, разобрался немного во внутренностях Visual Studio, и т.п.
  4. Приятное чувство законной разработки (если кто не знал, если вы написали какую-нибудь программу, используя пиратский софт, и потом её начинаете продавать, то потенциально могут быть проблемы).
Как ни странно, все дизайнеры великолепно работают в Express (или как минимум, я не заметил неработающих), причем работают, опять же, на порядок быстрее! Считаю, Microsoft молодцы, такую прекрасную тулзу дают в массы. В небольшой фирме вполне можно обойтись такой версией студии, что уж говорить про домашних пользователей!


Setup-проекты

Благодаря отсутствию Setup-проектов, я начал искать альтернативы. Хотелось обязательно *.msi. Потому что это стандарт, и потому что он обеспечивает, хотя бы потенциально, кучу хороших функций. В момент, когда я начал этим интересоваться, я, кстати, не совсем осознавал, насколько это мощная штука, Microsoft Installer...

Так я набрел на WIX. Windows Installer XML - это на самом деле просто удобочитаемая XML-интерпретация msi-файла. Т.е. вообще любой msi можно декомпилировать в WIX-формат. Потому что это те же яй то же самое, только в профиль. Первым делом я декомпилировал свои старые msi-ки, а немного разобравшись с XML-ем, сумел добавить в них множество крайне полезных фич, как например:
  • Выбор модулей, которые устанавливать. Если что-то не поставил сначала, можно доставить потом. В стандартном Setup-проекте в Visual Studio всё компилируется как один модуль (по терминологии WIX - Feature, возможность), и изменить это никак нельзя. Еще там есть такая интересная технология, Advertising, или по-русски, установка по первому требованию. Наверняка многие видели эту фишку в MS Office. Правда, как её использовать в своих проектах, я не разобрался, но мне она и пока и не нужна...
  • Установка "по умолчанию". Полезная с точки зрения юзабилити фишка. После запуска инсталлятора, предлагается выбрать способ установки: всё по умолчанию, или настроить. Жмешь сразу же Далее - сразу начинается установка. Не то что компоненты, даже каталог установки выбирать не нужно. В стандартном Setup-проекте, опять же, ну никак это не реализовать.
  • Запуск установленной программы после завершения установки. Как ни бился, сколько InstallerClass'ов не создавал - ну не удалось мне сделать такую простую штуку. Программа действительно запускается, но не после того как я жму кнопку Закрыть, а до появления финального окошка.
  • Ссылка на удаление программы в меню Программы. Ну стандартная же потребность, почему её не добавили в Setup-проекты - совершенно непонятно. Реально в WIX эта штука реализуется элементарнейшим образом, одна строка - и готово.
  • Ну и конечно, оформление. Оформление на самом деле можно делать каким угодно, а стандартные окошки студийного Setup-проекта, очень ограниченно и невизуально кастомизируемого, выглядят убого и жалко, по сравнению с возможностями простейшего WIX-редактора, который позволяет эти окошки создавать визуально.
Кстати, WIX написан каким-то майкрософтовцем, и абсолютно бесплатен, и совершенно открыт - исходники лежат на CodePlex'е. Так что, рекомендую.


Юнит-тесты и плагины

Что там еще из ограничений? Юнит-тесты есть сторонние, поэтому я за них не очень волновался. В Express встраиваются. Конечно, к MS-овским уже привычка, но говорят, NUnit даже в чем-то получше. А постоянно рекламируемая фишка code coverage - не более чем фантик. Как показывает практика, требоваться это может 1-2 раза, и не так уж сложно оценить покрытие кода и "на глаз".
Отсутствие плагинов и remote debugging смущает, но и то не слишком. К примеру, кто в теме, знают, что под 2010й SharePoint толковых плагинов еще нет, кроме разве что CKS, который, правда, рядом с SPVisualDev смотрится очень блекло.
Зато собственные средства студии по работе с шарепойтовыми проектами возросли во много раз. А благодаря тому, что небольшой хак позволяет ставить Foundation на рабочую станцию, получаем, что и виртуалки тоже, как бы, не нужны (а если не нужны виртуалки, то и remote debugging тоже идет лесом, и не надо мне про продакшен системы, для них нужны просто грамотные логи).


Total Commander

Думаю, не открою Америки, если дам ссылку на Unreal Commander. При установке соответствующей визуальной темы, он выглядит почти 1 в 1 как Total. Добавлено несколько интересных фишек, как например очереди файлов, и расширенные опции по удалению файлов (можно нулями затирать). Есть несколько багов. Хуже работа с архивами. На FTP автоматически файлы не перезаливаются, иногда глючит вывод на панель найденных файлов. В остальном, очень приличная штука, рекомендую пересаживаться и привыкать. Или купить уже Total, он чуть больше 1000 рублей стоит. Ах да, Far тоже бесплатен для xUSSR. Ну это уже на любителя.


Незаменимые

Как оказалось, заменить MS Project очень тяжело. Есть хороший, интересный проект - Gantt Project, однако он не поддерживает более-менее свежий формат (MS Office 2007 и выше) файлов Project'а. А следовательно, проще уж OpenOffice Calc'ом трудозатраты считать...

Также, незаменимым оказался Sparx Enterprise Architect. И я уверен, своих 4 тысяч рублей (за базовую версию) он стоит.

Не удалось найти замену для Macromedia Flash. Я на старющей пятой версии периодически делал мультики и маленькие игрушки, типа "найди выход из комнаты". Выяснилось, для домашнего использования покупать Adobe Flash Builder дороговато (около 8000 рублей).

В свое время, немало написал на незаменимом Delphi, доисторической 6й версии. Даже, между прочим, один коммерческий продукт...
Сейчас цена на Delphi 2010 (самой простенькой редакции, Professional) составляет около 30000 рублей. Неужели нет подешевле? - спросите Вы. На самом деле, какое-то время была доступна бесплатная версия - Turbo Delphi, но её быстро прикрыли, т.к. энтузиасты нашли способ обойти её ограничения, не нарушив лицензии :). Кроме того, есть еще FreePascal + Lazarus. Попытался я мигрировать свой продукт на эту среду. Нереально... Такое ощущение, что весь этот FreePascal документирован, в лучшем случае, наполовину. А отлажен, в лучшем случае - на треть... Целый час просидел за одним простеньким вспомогательным проектом, не смог мигрировать. А в составе продукта у меня 3 основных проекта, 4 вспомогательных, пакет из 4х контролов, 1 плагин (dll), и еще 4 вспомогательных утилиты (впрочем, без них можно обойтись).

Идем дальше. Когда-то писал программы для КПК Palm, у меня есть пара этих устройств - мы с женой на них книжки почитываем. Для разработки использовал Metrowerks CodeWarrior. Теперь эта среда принадлежит компании Freescale, а выпуск редакции для Palm OS вообще закончен. На сайте написано прямо: не продается и не поддерживается. Аналогов нет вообще. Финита ля!, как говорит один мой коллега...

Заключение

Сейчас домой совершенно необязательно что-то покупать, и пиратский софт, наверное, совсем необязательно сносить, как сделал это я. Попасть под проверку домашнего компа можно только по какой-нибудь нелепой случайности, вероятность которой стремится к нулю.
И всё же, если привыкнуть использовать всё бесплатное дома, то и на работе станет гораздо проще. Опять же, если вы захотите что-нибудь самолично написанное выложить в паблик, есть шанс нажить себе неприятности, если при разработке использовался нелицензионный софт.
А как показывает опыт, заменить на бесплатные аналоги можно почти всё - более того, нередко это даже приносит дополнительные знания. Дак почему бы этого не сделать прямо сейчас?

Комментариев нет:

Отправить комментарий

Внимание! Реклама и прочий спам будут беспощадно удаляться.