суббота, 5 марта 2016 г.

Собственные "велосипеды" или чужие "самокаты"

Привет друзья!


Пожалуй, наиболее болезненной темой современных IT технологий становится вопрос - стоит ли заниматься созданием собственных механизмов для мобильных, десктопных и веб-приложений или использовать уже существующие решения.


Если отвечать кратко, то можно обойтись двумя словами «все индивидуально».


Затрагивать тему библиотек, отдельных скриптов и платформ пока не будем. Сделаем первый подход к этой теме со стороны неискушенных в программировании людей.


А для наглядности представим группу орнитологов из местного городского клуба. Они хороши в своем деле, накопили достаточно информации и готовы поделиться со всем миром наработками. Какие варианты у них есть:

  • завести группу в соц. сетях;
  • воспользоваться готовой платформой для блогов;
  • создать сайт с помощью конструктора;
  • воспользоваться системой управления контентом (CMS);
  • написать все самостоятельно (как порой говорят - изобрести «велосипед»).


Первые три они смогут сделать и сами, а вот для последних двух придется обратиться к более квалифицированным товарищам в разработке веб-приложений.

Да, теоретически это так, но давайте копнем несколько глубже. Даже для соц. сетей потребуется обработка материала для публикаций, а также ведение самой группы, размещение актуальной информации и сбор обратной связи. Это минимальный набор и без элементарных знаний графических редакторов тут никак.

С блогами к вышеописанному добавится адаптация шаблона.

Для конструкторов будут нужны минимальные знания и навыки веб-технологий (javascript, css, html).

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

И наконец, при написании всего самостоятельно проявятся все аспеты веб-разработки. А их не мало.

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


Немного подробнее про "велосипед". Вещь чрезвычайно полезная, но вот если мне понадобится велосипед, то нужно ли мне его изобретать? Конечно же нет! Что вообще за вопрос. Всем понятно, что если хочешь велосипед, то купи и пользуйся, никто велосипеды не изобретает, разве только сами производители велосипедов. Хм, постойте-ка, т.е. получается кто-то их все-таки изобретает? Конечно же, иначе не было бы такого их разнообразия в конструкциях и внешнем виде.


Зная все это, наши бедные орнитологи могут вообще отказаться от своей затеи. Но этого делать не стоит по двум причинам. Во-первых, что смог один человек, всегда сможет и другой. А во-вторых, есть много людей, для который IT является работой или увлечением (или и тем и другим). 

Первый вариант хорош только в том случае, если один из орнитологов решит навсегда сменить свое увлечение птицами на программирование. Увы, другого пути нет. Это не относится к первым двум уровням пирамиды, но если идти дальше, то придется от чего-то отказаться.

Так как же быть, что выбрать? По какому пути идти?

Для ответа нужно определиться с основными критериями: 
  • Решаемые задачи.
  • Время жизни проекта.
  • Имеющиеся ресурсы.

И пожалуй, главный из них – это времени жизни проекта. Практика показывает, что какими бы типовыми ни были начальные задачи, в процессе они будут меняться. Ресурсы также понятие пространное, да, без финансирования и опытных специалистов не будет ничего. Но если проект нужен не только разработчикам и он будет существовать достаточно долго, то средства появятся.

Поэтому проще ориентироваться на время жизни проекта. Чем дольше он живет, тем ниже по пирамиде мы спускаемся. И тут есть два варианта, назовем их – эволюционный и планируемый. Эволюционный подразумевает постепенное прохождение от верха пирамиды к её низу. На сегодняшний день есть немало примеров, когда полноценные ресурсы появлялись из простых групп в соц. сетях. Планируемый вариант создания проекта доступен не всем и предполагает, что есть много ресурсов, сильная команда. Они способны рассчитать заранее выгоду и риски.

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