Программы для программирования для linux
Доброго времени суток, господа девелоперы! В этой статье я расскажу, как сделать разработку под Linux действительно комфортной и удобной, чтобы она приносила только боль удовольствие.
Чего мы добиваемся:
Просматриваем страницу в браузере и правим в текстовом редакторе HTML и CSS/SASS. Код извлекаем напрямую из PSD, попутно корректируя до PixelPerfect прямо в браузере. При сохранении SASS автоматически преобразуется в CSS и загружается на сервер. Необходимые картинки из PSD шаблона вырезаем в два клика, после чего они так-же автоматически загружаются на сервер. Как этого добиться менее чем за пол часа? Я расскажу вам!
Сразу хочу предупредить вас, если ваш опыт работы более нескольких лет и вы являетесь достаточно опытным front-end'ером, то ничего нового вы в этой статье не найдете. Она предназначена для людей, которые относительно недавно присоединились к GNU/Linux сообществу или только решили к нему примкнуть.
Краткое содержание
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
— Linus Torvalds
Выбираем браузер
Для удобной разработки нам нужен браузер, обладающий большинством встроенных полезных инструментов, чтобы как можно меньше заморачиваться с дополнительными настройками после установки.
Для этих целей отлично подойдет Firefox Developer Edition, который, как утверждают его разработчики собран «для тех, кто строит Интернет»Почему именно он, а не полюбившийся всем Google Chrome, например? А вот почему:
Плюсы
Полностью бесплатен
Мы же стремимся к свободе программного обеспечения, верно? Да и зачем переплачивать за некоторые вещи, если мы имеем достойную бесплатную альтернативу?!
Встроенные инструменты разработчика
По нажатию волшебной кнопки F12, браузер трансформируется переходит в режим разработки, в котором доступно редактирование CSS-стилей страницы, изменение HTML и отладка JavaScript прямо на странице, режим адаптивного дизайна, а так же мониторинг скорости загрузки страницы.
Подробнее вы можете почитать на официальной странице.
Мультипроцессорность без шаманства
Расширения для Firefox
Pixel Perfect
Безусловно, Pixel Perfect верстка стала стандартом, а этот плагин позволяет накладывать макеты сайта оверлеем, что существенно облегчает разработку.
Advanced Cookie Manager
User-Agent Switcher
Отличное решение для изменения User-Agent, как понятно из названия. Нажали кнопку, выбрали браузер, операционную систему и устройство. Готово! Вы восхитительны.
User-Agent Switcher
Аддон от автора предыдущего расширения. Позволяет добавлять кастомные User-Agent'ы, что тоже, собственно, видно из названия
Вот, собственно, и разобрались с основными расширениями для браузера и можем смело переходить к выбору и настройке нашего текстового редактора.
Выбираем текстовый редактор
Безусловно, существует огромное количество различных текстовых редакторов и сред разработки, но я хотел бы выделить существенного лидера среди всех них — это Sublime Text 3. Его базовый функционал мало чем отличается от остальных, но после установки Package Control (пакетного менеджера для Sublime) — его функционал увеличивается в разы.
дальнейшие расширения будут установлены именно при помощи Package Control, а инструкцию по его установке вы можете найти тут.
Расширения для Sublime Text 3
Emmet и Emmet Css Snippets
На первом месте, конечно же Emmet, знакомый многим. Плагин, позволяющий ускорить написание HTML-кода в считанные разы. Подробнее о нем вы можете почитать тут, а Emmet Css Snippets позволяют творить такую же магию и с вашими CSS файлами.
Color Highlighter
Поддержка Sass синтаксиса для Sublime. Если вы еще не используете препроцессоры — рекомендую начать. А работу именно с Sass мы рассмотрим ниже.
Оптимизация системы
Вот мы и плавно подошли к самому интересному, оптимизации системы и установке дополнительных приложений.
Браузер есть, текстовый редактор тоже готов к работе. Что остается? Просмотр PSD файлов и нарезка изображений. Под Linux. Серьезно?
Этот процесс может проходить с удовольствием, и в этом нам поможет замечательная программа Avocode, которая будто бы создана специально для нас. И пусть вас не смущает её цена за подписку, ее триал для одного email длится две недели, а нам никто не мешает иметь БОЛЬШОЕ количество e-mail адресов.
Программа позволяет просматривать PSD файлы, извлекать CSS-свойства объектов подобно Adobe Extract, но гораздо удобнее, а так же сохранять необходимые слои прямо в отдельный файл.
Как же нам автоматизировать преобразование SASS в CSS и склейку спрайтов из изображений? В этом поможет Node.js и Gulp.
Про функционал этих замечательных приложений вы можете почитать на официальных сайтах, а я расскажу вам, как все это дело настроить.
Устанавливаем NVM — это менеджер версий Node.js, который устанавливается при помощи обычного bash-скрипта. Открываем эмулятор терминала и прописываем следующее:
Либо при помощи Wget:
Перезапускаем окно терминала и проверяем установку при помощи:
Если все установилось верно, вы увидите надпись «nvm» в консоли. Теперь мы готовы к установке Node.js и Gulp. Устанавливаем Node.js при помощи терминала:
Дожидаемся конца установки и ставим Gulp, последовательно выполняя следующие команды:
После чего переходим в папку проекта и прописываем:
Осталось только настроить Gulp-файл для корректной работы всего, что мы установили выше. Создаем документ gulpfile.js и кладем в корень проекта. Прикрепляю свое содержание gulpfile.js ниже:
Не буду подробно вдаваться в значение каждой строки, но могу описать работу с Gulp другой статье, если увижу, что вам это будет интересно.
Оптимизация системы
Небольшие советы по оптимизации вашей работы:
- Все программы, установленные выше, и, в частности, Firefox требуют большого объема оперативной памяти, с чем нам поможет справится zRam или zSwap.
- Удобную работу с терминалом обеспечит Guake
- Вместо Sublime и Avocode можно использовать Adobe Brackets с его встроенным Extract, но, говоря честно, поддержка шрифтов в Debian и Ubuntu оставляет желать лучшего.
- Выбор между SFTP и VinylFTP предоставляю вам, я же использую оба инструмента по мере надобности
Результат
В результате мы имеем полностью оптимизированную систему, в которой большинство рутинных действий происходит автоматически, не отвлекая нас от восхитительного процесса созидания чего-то нового и интересного.
Без надёжных инструментов разработки вы не сможете воспользоваться лучшими преимуществами Linux. К счастью, Linux и открытое инструментальное программное обеспечение легко доступно. Однако, если вы новый пользователь, вы можете не знать, какие утилиты лучше выбрать, так что вот 10 выдающихся инструментов, которые помогут поднять вашу разработку на другой уровень.
1. Bluefish
Bluefish — одна из популярнейших интегрированных сред разработки, доступных для работы в вебе. Bluefish может обрабатывать языки программирования и языки разметки, но фокусируется на создании динамических и интерактивных веб-сайтов. Как и многие приложения для Linux, Bluefish быстр и лёгок — он использует примерно 30‒40 процентов ресурсов, потребляемых аналогичными приложениями.
Bluefish может открывать несколько документов одновременно: до 3 500 документов, если необходимо. Он включает в себя поддержку проекта, удалённую поддержку файлов, поиск и замену (включая регулярные выражения), неограниченную отмену/принятие сделанных изменений, настраиваемую подсветку синтаксиса для многих языков, сглаживание текста в окнах, а также поддержку различных кодировок.
Одной из лучших особенностей Bluefish является Quickbar — пользовательская панель, которая позволяет вам добавлять кнопки путём кликания по правой клавише мыши и выбора пункта «Добавить в Quickbar» (Add To Quickbar). Вы можете добавлять в Quickbar любую HTML-кнопку.
В Bluefish есть ряд простых инструментов, которые помогут вам добавить различные элементы в ваш код. Нужен auto-submit select box в DHTML? Легко. Выберите «Auto-submit Select Box» из выпадающего списка «DHTML» и заполните необходимые пункты для добавления элемента в ваш код. В Bluefish есть мастера для Си, Apache, DHTML, DocBook, HTML, PHP+HTML и SQL. Если вы разрабатываете свои сайты вручную, то без Bluefish вам не обойтись.
2. Anjuta
Anjuta — свободная открытая интегрированная среда разработки для языков Си и C++. Anjuta мощна и проста в установке (например, команда urpmi anjuta в Mandriva Linux). Anjuta предлагает такие функции, как управление проектами, прикладные мастера, интерактивный отладчик и мощный редактор исходного кода — с просмотром кода, его автозаполнением и подсветкой синтаксиса.
Anjuta имеет гибкий интерфейс пользователя, который позволяет вам перемещать (drag-and-drop) инструменты в набор инструментов для организации интерфейса пользователя в вариант, который вам больше нравится. Плюс каждый размещённый пользователем набор инструментов постоянен для проекта, так что вы можете иметь различные наборы инструментов для каждого проекта.
Anjuta также имеет мощную систему плагинов, которая позволяет вам решать для каждого проекта какие плагины активны, а какие — нет. И, как во всех открытых проектах, вы можете сами разработать свои плагины для Anjuta.
Одним из самых мощных инструментов в Anjuta является менеджер проекта. Он не только может открывать почти все проекты, основанные на Automake и Autoconf; он не добавляет никакой информации, связанной с Anjuta, так что ваш проект также может обслуживаться и разрабатываться вне Anjuta.
3. Glade
Glade — это RAD-инструмент, используемый для создания инструментария GTK+ и для среды рабочего стола GNOME. Его интерфейс подобен GIMP и может быть настроен и даже встроен в Anjuta.
Glade включает в себя ряд шаблонов, таких как текстовые блоки, диалоги, чекбоксы и меню, созданных для ускорения разработки интерфейсов. Конструкции интерфейса хранятся в XML, который позволяет им быть легко связанным со внешними инструментами.
Установка Glade проста. Например, в Fedora вы можете запустить команду yum install glade3 . В Glade нет такого мощного менеджера проекта как в Anjuta, но вы можете создавать, редактировать и сохранять проекты с Glade.
4. GCC
GCC — это набор компиляторов для Си, C++, Objective-C, Фортрана, Java и Ады, разработанный в рамках проекта GNU. Это инструмент командной строки, но он очень мощен. Многие интегрированные среды разработки имеют инструменты, которые являются только front-end’ами для GCC. Наиболее часто используются компиляторы для кода на Си и C++.
Как один инструмент компилирует приложения на разных языках? Просто: для Си вы применяете команду gcc, а для C++ вы применяете команду g++ — два компилятора в одном инструментарие. И g++ — компилятор, а не просто препроцессор.
GCC построит объектный код из исходного кода без использования посредника. Этот метод создаёт лучший объектный код и даёт вам больше отладочной информации.
5. Kdevelop
Kdevelop был создан в 1998 году как простая в использовании интегрированная среда разработки для среды рабочего стола KDE. Kdevelop в настоящее время распространяется под лицензией GNU General Public License и свободен для использования.
Он основан на плагинах, так что вы можете добавлять и удалять их для создания точно того, что вы хотите. Kdevelop также включает в себя поддержку профилей, так что различные наборы плагинов могут быть ассоциированы с конкретными проектами.
Kdevelop поддерживает 15 языков программирования, каждый из которых имеет свои языковые особенности. Он также предлагает отладчик, систему управления версиями Subversion, мастера приложений, просмотрщик документации, управление сниппетами, интеграцию Doxygen, инструменты RAD, поддержку Ctags, переформатирование кода, поддержку QuickOpen и панель окон с панелью инструментов.
Одной из лучших особенностей Kdevelop является то, что он снимает множество низкоуровневых задач из рук пользователей. Kdevelop включает в себя менеджер Automake.
6. GDB
GDB не является инструментом для разработчиков, но этот инструмент многие разработчики считают для себя важным. GDB — это отладчик проекта GNU.
- запускать ваше приложение с указанием аргументов, переключателей или вводов, которые будут влиять на его поведение;
- заставлять ваше приложение останавливаться на конкретном поведении;
- проверять что произошло, когда ваше приложение остановилось;
- добавлять изменения в вашу программу, так что вы можете тестировать прямо в полёте.
7. KompoZer
KompoZer — простой в использовании WYSIWYG-инструмент, направленный на нетехнических пользователей, которые хотят создать профессиональный веб-сайт без знания HTML.
KompoZer имеет ряд выдающихся особенностей. Одной из лучших особенностей является возможность открыть веб-сайт из URL, редактировать этот сайт и загрузить отредактированный сайт. Эта особенность упрощает обновление сайтов, лишая необходимости редактировать HTML. Конечно же, вам потребуется разрешение на загрузку сайта. Эта особенность также хороша для использоваия других сайтов в качестве шаблонов.
KompoZer не следует рассматривать только как инструмент для начинающих. Думайте о нём как о бесплатной открытой замене Microsoft FrontPage и Adobe Dreamweaver. И, как его более дорогостоящие альтернативы, в KompoZer можно перемещаться между WYSIWYG и редактированием кода путём кликания по табу.
8. Eclipse
Eclipse — мультиязычная интегрированная среда разработки, написанная на Java, с обширной системой плагинов, позволяющей вам расширить функциональность. Скачиваемый более миллиона раз ежемесячно, Eclipse — одно из сильнейших решений в области разработки программного обеспечения. Это, по сути, стандарт для открытой разработки.
Предположительно, сильнейшим аспектом Eclipse является особенность плагинов. Только для языков в Eclipse создано 58 плагинов. На этих языках не говорят — это языки разработки. Eclipse имеет огромное сообщество и множество организаций, предлагающих обучение интегрированным средам разработки, которое включает в себя даже университет Eclipse.
9. Make
Make — это утилита Linux, которая может автоматически определить, какие части программы нужно перекомпилировать. После того, как Make работает в частях, которые должны быть перекомпилированы, он выдаёт команды, необходимые для завершения действия.
Make часто используется при установке приложений из исходного кода, так что разработчики открытых приложений должны иметь хорошее представление об этом инструмение и о том, как он используется. Если вы планируете разработку приложения, которое можно будет установить из исходного кода, вам нужно знать как создавать Makefile.
Этот Makefile описывает отношения между разными файлами. Если вы знакомы с установкой приложений, вы знаете строковый тип ./configure; make; make install.
10. Quanta Plus
Quanta Plus — другой инструмент HTML для разработки, похожий на KompoZer. Он способен как на WYSIWYG, так и на ручной режим и поддерживает HTML, XHTML, CSS, XML и PHP.
Особенности Quanta Plus заключаются в завершении тегов на лету, управлении проектами, быстром предварительном просмотре, отладчике PHP, поддержке CVS и Subversion. Quanta Plus, в отличие от KompoZer, направлен на более опытного пользователя, который хочет хороший редактор WYSIWYG.
А что используетет вы?
Какие советы и мнения вы можете дать, основываясь на своём опыте, по инструментам, которые мы рассмотрели? Или у вас есть любимая свободная интегрированная среда разработки, которая не включена в этот список?
В этом переводе расскажем про альтернативные редакторы кода, которые ничуть не уступают VS Code, а при грамотном подборе расширений даже превосходят его.
Редактор Visual Studio Code, также известный как VS Code работает на Linux, Windows и macOS. Он занимает промежуточное положение между простым текстовым редактором исходного кода и интегрированной средой разработки (IDE), которая управляет всей вашей кодовой базой. Функциональность VS Code можно расширить с помощью плагинов. Это надёжный редактор кода, который может достойно побороться с проприетарными конкурентами.
Изначально VS Code был создан как open source продукт. Однако его готовые сборки распространяются под проприетарной лицензией Microsoft. Но не всё так плохо.
Использование VS Code как open source
Исходники VS Code доступны на GitHub. Тем не менее, когда вы загружаете готовую сборку, в игру вступает Лицензия Microsoft. И тогда ваш VS Code резко перестаёт быть open source продуктом. Оказывается, в данном случае решает процесс сборки.
На практике различия между VS Code и Code-OSS минимальны. В частности, в VS Code работает телеметрия: то есть, Microsoft собирает данные об использовании продукта. Справедливости ради нужно отметить, что в наши дни существует множество продуктов, которые собирают такие данные.
Если вам нравится VS Code, но вы хотите рассмотреть «true» open source альтернативы, то вам определённо стоит читать дальше.
VSCodium
Самая очевидная альтернатива VS Code — это VS Code без фирменных дополнений Microsoft. Проект VSCodium содержит только свободные компоненты, построенные на основе кодовой базы VS Code. Разработчики VSCodium сделали всё возможное, чтобы мы имели возможность отключить телеметрию. Они подготовили чистую сборку исходного кода VS Code, которую вы можете скачать, не создавая её самостоятельно.
Разработчики напоминают, что VS Code включает в себя некоторые проприетарные инструменты, которые не могут поставляться с открытым исходным кодом. Если они вам нужны, существуют документированные способы решения этих проблем. Но если вам нужна очень специфичная функция из VS Code сборки Microsoft, вы должны убедиться, что она работает в VSCodium.
Кроме того, нужно проверить, что вся телеметрия отключена.
Code-OSS
Если вы не хотите использовать сборку VSCodium, вы можете самостоятельно скомпилировать VS Code из исходного кода и в итоге получить то же самое. Исполняемый файл называется Code-OSS, а не VSCode. Условия лицензирования и способы решения проблем с использованием проприетарных функций — те же, что и у VSCodium.
При первом запуске нужно проверить, что телеметрия отключена.
Atom — это IDE-подобный текстовый редактор с открытым исходным кодом, который Microsoft приобрела вместе с GitHub. Как и VS Code, вы можете расширить редактор Atom с помощью плагинов, добавить темы и собрать свою комбинацию дополнительных инструментов. Это кроссплатформенный продукт, который имеет встроенную интеграцию с GitHub. Короче говоря, Atom — это идеальный вариант, если необходимые вам расширения уже существуют или вы готовы их написать.
Как и VS Code, Atom по умолчанию использует телеметрию. Её можно отключить, и в отличие от VS Code, нет никаких ограничений на расширения, поэтому вам не нужно менять рабочий процесс из-за требований конфиденциальности. Atom, безусловно, полезный инструмент для разработчиков. Более того: он в принципе подходит для всех, кто использует компьютер. Если вы ищете хороший текстовый редактор общего назначения, можете попробовать Atom.
GNOME Builder
Geany
Geany — мощный, надёжный и лёгковесный редактор с полезными функциями, которые помогут вам написать хороший код на Bash, Python, Lua, XML, HTML, LaTeX и так далее. Он поддерживает 50 различных языков программирования и скриптовых языков, а также языки разметки и файлы (таких как .diff и .po). Geany как минимум обеспечивает сопоставление скобок и подсветку синтаксиса, а обычно предлагает гораздо больше.
С помощью плагинов вы можете добавить такие функции, как обозреватель проекта, проводник, отладка, терминал и так далее. Вы можете продолжать расширять его функциональность и в какой-то момент он превратится в настоящую IDE. Если вы не можете запустить VS Code на компьютере из-за ограничений ЦП или ОЗУ, Geany может стать хорошей альтернативой. Он быстро запускается, и потребляет малый объём памяти. Хотя Geany работает медленнее, чем Vim в терминале, он не тормозит даже на Raspberry Pi.
Brackets
Brackets — это текстовый редактор и IDE для веб-разработчиков. Он имеет мощную поддержку HTML, CSS, JavaScript, PHP и даже Python. У Brackets богатая экосистема расширений, поэтому с подходящими плагинами он позволит писать практически на любом современном языке.
Существуют расширения, помогающие анализировать, запускать скрипты и даже компилировать и выполнять код прямо в окне редактора. Brackets имеет традиционный интерфейс, который может понять практический каждый, кто выходил за пределы блокнота. Если вы потратите немного времени на добавление соответствующих расширений и знакомство с ними, Brackets с помощью автозаполнения и линтера поможет избежать глупых ошибок при наборе текста. И если вы пишете код, это ускорит процесс тестирования и отладки.
Если вам нравится быть впереди планеты всей, то стоит попробовать Che. Это облачная IDE, она работает по модели SaaS. Тем не менее, это полноценный open source проект. Если у вас есть экземпляр Kubernetes, можете полностью перенести её к себе.
Che — не просто IDE, которая живёт в облаке. Это IDE, созданная для облачной разработки. Она не пытается что-либо хранить на вашей локальной файловой системе. Если у вас есть Git-сервер, вы можете рассматривать его как файловую систему и работать над проектом непосредственно из его репозитория. Конечно, вы также можете скачать любой проект, над которым работаете, если хотите иметь локальную резервную копию.
Но его главная особенность, которой восхищаются разработчики облачных решений, заключается в том, что Che — это полнофункциональная среда разработки с открытым исходным кодом, ориентированная на Kubernetes. Если вы создаёте приложения, сайты или контейнеры (или их комбинацию) для облака, то вам стоит попробовать Che.
А чем пользуетесь вы?
Вы используете одну из этих альтернатив VS Code? Или может быть, пока ещё думаете о том, чтобы попробовать одну из них? Поделитесь своим опытом в комментариях?
На правах рекламы
Встречайте! Впервые в России — эпичные серверы!
Мощные серверы на базе новейших процессоров AMD EPYC. Частота процессора до 3.4 GHz. Максимальная конфигурация — 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe!
Среды разработки приложений в Linux. Интегрированные среды разработки приложений в Linux. Программы для программирования в Linux. См. также редакторы кода.
KDevelop
KDevelop — кроссплатформенная интегрированная среда разработки (IDE) для C/C++, Python, JavaScript, PHP.
Eric — интегрированная среда разработки для языков программирования Python и Ruby.
Code Blocks
Code Blocks — интегрированная среда разработки (IDE) для C, C++ и Fortran. Code Blocks обладает всеми необходимыми функциями для разработки проектов.
Eclipse
Eclipse — интегрированная среда разработки (IDE). Имеет модульную архитектуру, что дает возможность существенно расширять и изменить функциональность среды под свои нужды.
Aptana Studio
Aptana Studio — бесплатная среда разработки (IDE) web-приложений. Поддерживаются основные языки программирования, подсветка синтаксиса, автодополнение кода, переход по функциям (definitions) и так далее.
Qt Creator
Qt Creator — бесплатная кросс-платформенная среда разработки (IDE), основанная на библиотеке QT и предназначена для редактирования, компиляции и отладки кода.
NetBeans
NetBeans — мощная бесплатная интегрированная среда разработки приложений (IDE). Поддерживает языки программирования Java, PHP, JavaScript, Ajax, Ruby, Ruby on Rails, C/C++ и другие.
Geany
Geany — небольшая быстрая среда для разработки (написания кода) под Linux.
Редакторы исходного кода под Linux. Редакторы с подсветкой синтаксиса. C, C++ редакторы. PHP, Perl, HTML редакторы.
CudaText
CudaText — редактор кода. Поддерживает подсветку синтаксиса, отображение дерева кода и другие необходимые функции.
Notepadqq
Notepadqq — простой редактор кода для программистов, созданный по мотивам Notepad++.
VSCodium
VSCodium — форк программы Visual Studio Code с открытым исходным кодом и без телеметрии.
Visual Studio Code
Visual Studio Code — функциональный редактор кода от компании Microsoft.
Atom — современный, удобный, функциональный редактор кода. Имеет встроенный менеджер пакетов (плагинов) для расширения возможностей.
Brackets
Brackets — бесплатный редактор для web-дизайнеров и разработчиков. Преимущественно предназначен для написания и редактирования HTML, CSS и JavaScript кода.
Textadept
Textadept — текстовый редактор для программистов. Выполнен в минималистичном стиле, позволяет разделять рабочее окно на несколько частей и просматривать один или несколько файлов одновременно. Поддерживается подсветка синтаксиса для большинства языков программирования.
JuffEd
JuffEd — редактор кода для Linux. Умеет подсвечивать код (синтаксис), поддерживает сворачивание блоков кода, подсвечивание парных скобок и многое другое. Редактор похож по функциональности на Notepad++.
NetBeans
NetBeans — мощная бесплатная интегрированная среда разработки приложений (IDE). Поддерживает языки программирования Java, PHP, JavaScript, Ajax, Ruby, Ruby on Rails, C/C++ и другие.
Medit
Medit — текстовый редактор для Linux с подсветкой синтаксиса. Поддерживает основные языки программирования и языки разметки.
Screem
Screem — Site CReating and Editing EnvironMent — текстовый редактор для веб-дизайнеров. Screem предназначен в первую очередь для написания HTML или XML кода.
Bluefish Editor
Bluefish Editor — текстовый редактор кода для веб-дизайнеров и программистов. Поддерживает подсветку синтаксиса для большинства языков программирования.
Читайте также: