Linux для web-разработчиков

Наша студия специализируется на комплексном интернет-маркетинге. Такой вид услуг подразумевает высокое качество работ. Проще говоря мы не работаем по схеме - создали и забыли. Мы ведем проекты на протяжении долгого времени (от нескольких месяцев до нескольких лет). В этой связи мы стараемся максимально стандартизировать все этапы работы, также как и среду работы. Благодаря этому качество исполнения у нас держится на достаточно высоком уровне.

В данной статье будет описываться пример перехода одной из студий на Линукс, а конкретно на дистрибутив Linux mint.

Для начала нужно описать причины, которые побудили компанию пойти на такой шаг.

Причина №1 - Проблемы закупки лицензионного ПО.

Конечно же ОС - Использовать нелицензионные копии ОС Windows в наше время достаточно опасно, в любой момент в дверь может постучаться отдел К.

В студиях полного цикла, где работают сотрудники разных профилей используется целый спектр специализированного программного обеспечения. Это и Фотошоп для дизайнера и Phpstorm для программистов. В ряде некоторых случаев можно воспользоваться бесплатными аналогами, но тут возникает вопрос удобства и привычки, который в достаточной мере влияет на производительность сотрудников и даже качества исполнения в конечном итоге.

Причина №2 - Идея максимально приблизить среду разработки к реальной.

Не секрет, что большинство серверов, на которых располагаются сайты используют ОС семейства UNIX. И для нормальной (читай комфортной и удобной) работы с серверами мы посадили наших web-девелоперов на Linux. Работая постоянно с терминалом с подмонтированными серверами сотрудники здорово повышают свой личный "скилл".

Кроме подмонтирования серверов в терминале мы так же подключили их напрямую в проводник. То есть, чтобы войти на сервер и провести простые и более операции с файлами (копирование, создание, удаление и т.д.) всего лишь можно воспользоваться стандартным проводником (NEMO). Никаких сторонних программ. Подробнее об этом чуть ниже.

Итак. Перечислим часто используемые инструменты web-разработчика.

  • редактор кода
  • графический редактор
  • средство для пакетного редактирования фотографий
  • файловый менеджер (с возможностью подключения к серверам)

Редактор кода

Sublime Text 3

Большинство сотрудников нашей компании использует отличный редактор Sublime Text 3. Он удобен и гибок в настройке. Используют его как контент-менеджеры, так и программисты. Огромное количество плагинов и возможность работы со сниппетами склоняет чашу весов в пользу Sublime Text 3.

Работа с Sublime Text 3 в Windows и Linux не отличается. Разве что пути до файлов настроек разные ;-)

PHPstorm

PHPstorm - тяжеловес среди редакторов кода и несомненно лидер. В пользу него можно сказать многое. Это и возможность добавления сниппетов через GUI, да и вообще, для того чтобы настроить его под себя не нужно лезть в файлы настроек. Несомненным плюсом данной софтины является возможность работы с версионностью. Этакий аналог GIT. Программа сканирует файлы на сервере на предмет изменений и вовремя оповещает о таковых пользователя. Единственным минусом, который мы обнаружили во время тестирования программы на Linux оказалась ужасно долгая синхронизация.

Кроме Sublime Text 3 и PHPstorm были протестированы и другие решения, такие как Microsoft Visual Studio и Komodo, но в силу определенных обстоятельств в финал вышли только две программы.

Графический редактор

Использовать GIMP наш дизайнер бы наотрез отказался посади мы его на Linux, так как GIMP не умеет или вернее не корректно работает со слоями. Но так как дизайнер сидит за Mac, то кучи криков и возражений избежать удалось.

Что касается контент-менеджеров, то тут GIMP может полноценно заменить его аналоги на Windows. И даже больше, иногда контент-менеджерам приходится работать со слоями, и это им вполне удается, благо масштабы не те.

Учитывая что GIMP полностью позволяет выполнять поставленные задачи другие редакторы не тестились.

Средство для пакетного редактирования фотографий

Это особенно актуально для контент-менеджеров, которым очень часто нужно отресайзить кучу картинок, обрезать их под единый размер. На Windows для этих целей использовалась программа Infan View и она полностью удовлетворяла все потребности. В качестве альтернативы на Linux мы выбрали консольную утилиту ImageMagick. Да, программа консольная, но учитывая, что мы работаем на Linux, было бы, мягко говоря, не хорошо использовать только графическое ядро. Утилита обладает огромным функционалом, позволяющим производить практически любые действия над большим количеством фотографий.

Файловый менеджер

Вот тут мы и пришли к самому интересному. На Windows мы все использовали программу Winscp, на Linux полноценного аналога данной программы нет. Поэтому было принято решение использовать подмонтирование серверов как внешних дисков и последующая работа с ними через проводник Nemo. С точки зрения удобства работы данный способ очень хорош, но есть один большой минус. Это права. Создавая файл/папку на сервере мы создаём её от пользователя ROOT. Это плохо в первую очередь с точки зрения безопасности, во-вторых в последующим у тех, кто работал с созданными файлами или папками из под Windows возникали проблемы с их удалением/редактированием.

Данную проблему пока не удалось решить полностью. В качестве временного решения используем консольные команды меняющие права на папки и файлы с которыми мы работаем. Но и тут есть своя специфика. Данные команды нужно использовать крайне осторожно. Были случаи, когда по незнанию/рассеянности одной командой менялись права на весь сервер, что в свою очередь приводило к сбоям в работе.

Подытожим

Linux - это отличная операционная система, в которой однозначно можно работать web-разработчику. Большинство проблем, возникающих в процессе работы являются следствием незнания системы и "привычки", оставшийся после Windows.

Комментарии (1)


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