Сторонние компоненты — деньги на ветер или экономия средств?

Developer Soft corporate blog
Многие их тех, кто использует .NET, Delphi и другие средства разработки, рано или поздно сталкивались с выбором: разработать что-то недостающее самому, или приобрести готовое? И со спокойной душой отправлялись писать свои собственные компоненты, неприятно поразившись стоимостью существующих. А так ли велика их цена на самом деле? Вот небольшая история, которая заставила меня взглянуть на стоимость компонентов другими глазами.

Однажды один мой товарищ, занимающийся разработкой программ для небольшого предприятия, задал мне такой вопрос: «Как думаешь, сколько времени потребуется, чтобы написать грид с сортировкой, группировкой и возможностью редактирования записей?»

На тот момент я уже несколько лет работал в DevExpress и объём работ более-менее представлял, да и нетрудно было оторваться от кресла и дойти до авторов XtraGrid, чтобы у них выяснить временнУю оценку.

Сошлись на том, что если писать с нуля, то что-то начнёт работать только месяца через 3 — да и то, получившийся контрол ещё долго придётся дотачивать напильником и править в нём баги. Эту информацию я и сообщил своему товарищу. Затем спросил, а есть ли у него желание в очередной раз изобретать велосипед и не проще ли купить готовый грид, наш XtraGrid, например, или любой другой, устраивающий по функциональности. Его ответ меня несколько удивил: «Купить это конечно хорошо, но как я объясню начальству, что следует купить готовый продукт, а не написать свой самостоятельно?»

«А действительно, почему?» — подумал я. Полминуты размышлений привели меня к ответу, что это просто-напросто выгоднее. Уточнив размер зарплаты товарища, я выложил свою аргументацию. А она была очень проста.
Пусть размер оплаты труда программиста составляет $1000 в месяц. При этом он затратит 2-3 человеко-месяца на самостоятельную разработку контрола. Итого $2000-$3000 затрат только на зарплату. Плюс дальнейшее развитие контрола и исправление в нём ошибок тоже займут какое-то время. Кроме того, заказчик получит результат не раньше, чем через указанные 2-3 месяца.

А можно использовать $1000 чтобы приобрести уже готовые компоненты и затратить пару недель на их изучение и внедрение в программу. Итого получается $1500 и результат за 2 недели. Выгодно? На мой взгляд более чем.

Конечно, в каждом конкретном случае оценки времени, а следовательно и выгода, будут разными.

В использовании сторонних компонентов есть и некоторый риск, например, что задачу не удастся решить с их помощью, или найдутся баги в компонентах, которые производитель не спешит исправлять. Поэтому прежде чем покупать, всегда имеет смысл опробовать компоненты, благо все их производители предоставляют достаточный пробный период использования и/или «money back». Скачиваете компоненты и делаете за пару дней на них пробное решение. Если всё хорошо, то вполне вероятно, что ваш выбор удачен.

Если вы опасаетесь, что производитель будет слишком тянуть с исправлением ошибок или добавлением новых возможностей и вас не пугает внесение изменений в чужой код, то можно рассмотреть вариант покупки компонентов с исходным кодом. Это получается несколько дороже, но у вас появляется больше пространства для манёвра.

Взгляните на документацию, которая идёт с компонентами. Мы все не любим читать документацию, но тем не менее в ней чаще всего можно найти ответы на большое количество вопросов. Хорошая документация содержит не только краткое описание свойств и методов компонентов, но и обзорные документы, описывающие архитектуру компонентов, рекомендуемые подходы к их использованию (best practices). Большое количество примеров кода в документации, как простейших, так и более сложных — тоже несомненный плюс.

Также имеет смысл обратить внимание на качество службы поддержки производителя компонентов. Хорошая служба поддержки и отреагирует на ваш вопрос оперативно, и решение даст правильное. В случаях, где нет простого и прямого решения, предложат вам приложение-пример, где реализована ваша задача или похожая на неё. А уж если и это не помогло — всячески постараются найти обходной путь, чтобы решить вашу задачу.

Так что оценивайте трудозатраты, скачивайте разные компоненты, сравнивайте и решайте.

Удачного вам выбора!
Tags:компонентыcontrolcomponents
Hubs: Developer Soft corporate blog
+27
18.1k 7
Comments 46

Top of the last 24 hours

Information

Founded
1998
Location
Россия
Website
www.developersoft.ru
Employees
201–500 employees
Registered