Green-sell.info

Новые технологии
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Среды разработки linux

Интегрированные среды разработки

О.И.Цилюрик

Настоящая статья является дополнением к книге «Инструменты Linux для Windows-программистов». Все примеры к тексту вы можете скачать в виде общего архива.

Интегрированные средства (среды) разработки (IDE) не являются критически необходимым компонентом программной разработки. В традициях UNIX вполне достаточным для ведения программной разработки считается использование текстового редактора, обладающего дополнительными развитыми свойствами, такими как цветовая разметка текста, функции контекстного поиска и замены. Удовлетворяющих таким требованиям редакторов в Linux великое множество, начиная с традиционных vim и Emacs , и до простого редактирования в mc по F4. Опыт использования показывает, что этих средств вполне достаточно вплоть до средних размеров проектов.

Но использование IDE часто позволяет более производительно вести отработку программного кода, оперативнее выполнять в связке цикл: редактирование кода — сборка проекта — отладка. Значительно возрастает роль IDE в разработке GUI приложений, потому как большинство IDE предполагают в своём составе визуальные построители графических экранов.

Под Linux доступно весьма много разных IDE, различной степени интегрированности. Их уже настолько много, что становится бессмысленным описывать все, или значительную их часть в деталях: использование тех или иных IDE становится, в значительной мере, вопросом субъективных предпочтений и привычек. Можно перечислить только несколько из 1 , числа наиболее широко используемых IDE (и показан их внешний вид, чтобы их «различать в лицо»):

    Kdevelop ( http://kdevelop.org/ ) — среда разработки проекта KDE, активно развивается с 1998 г. Kdevelop помимо проектов на языке C, позволяет вести проекты практически на всех используемых в Linux языках: C++, Perl, Python, PHP, Java, Fuby, Ada, Bash, Pascal, Fortran. Эта среда позволяет интегрировать (технология KParts) различные текстовые редакторы, но основным редактором является Kate.

Kdevelop плотно интегрирован с Linux (в отличие от большинства других IDE он не является много-платформенным). Среда умеет генерировать начальные скелеты приложений. Отличительной особенностью Kdevelop (большим плюсом в некоторых случаях) является то, что среди таких шаблонов есть и проект модуля ядра (драйвера) Linux:

Шаблоны проектов Kdevelop (архив Kdevelop.tgz) достаточно громоздкие. Но это свойственно всем IDE. Вот как выглядит простейший проект, построенный для Cmake , после очистки от построенных исполнимых файлов:

    Eclipse IDE (Eclipse Integrated Development Environment, http://www.eclipse.org/ ) — одна из наиболее известных на сегодня сред, активно развивается с 2000г., сначала как проприетарный проект IBM, который затем был превращён в открытый проект. Отличительной особенностью является возможность динамических расширений (которые может подготовить и рядовой пользователь), за счёт этого наработаны плагины для поддержки десятков языков программирования, среди которых: Java, C/C++, PHP, Python и многих других, число которых постоянно прирастает из-за лёгкости работы с плагинами.

Эта среда разработки представлена практически для всех операционных систем, за счёт того, что сама она полностью выполнена на Java. Но Eclipse IDE является мульти-платформенной средой не только в смысле множества операционных систем, где она может выполняться, но и множества аппаратных платформ, отличных от x86, для которых может вестись кросс-разработка: ARM, MIPS, PPS . и даже микроконтроллеры, например, AVR. Помимо средств разработки, в Eclipse IDE включаются в виде плагинов программные эмуляторы других аппаратных платформ (например, Android ARM) для целей отладки. На основе Eclipse IDE сторонними разработчиками создано много других IDE, специализированных под конкретные применения, и это создаёт сложности в выборе конкретной модификации IDE.

Eclipse IDE представлен в репозитариях практически любого дистрибутива Linux, откуда может быть установлен. Но проект развивается очень динамично, поэтому, возможно, есть смысл устанавливать наиболее свежую реализацию с сайта проекта.

На рисунке показан возможный вид в Eclipse IDE минимального проекта, отрабатываемого под архитектуру ARM7:

factorial: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped

    Oracle Solaris Studio ( http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html — бывший проект Sun Solaris Studio), один из старейших проектов, изначально ориентирован на операционную систему Solaris, но там же есть альтернативная реализация для Linux. Компилятор в составе Solaris Studio ( сс ) обладает особыми оптимизирующими свойствами и нередко генерирует более эффективный и быстродействующий код, чем gcc . Но среда может быть настроена и на использование компилятора gcc . Ориентирован на языки программирования: C, C++ и Fortran, с дополнительными плагинами от сторонних производителей (устанавливаются непосредственно из Solaris Studio): Java, PHP, Python, Ruby, Ada (но это может потребовать дополнительной установки Oracle JDK).


Solaris Studio основан на NetBeans IDE, выполнен на Java (как и большинство средств OS Solaris). Имеет очень богатые настройки (архив SolarisStudio.tgz ), в том числе и в части используемых компиляторов:

Solaris Studio не представлен в репозитариях дистрибутивов Linux, и должен устанавливаться из инсталляционных файлов с сайта Oracle (указан выше). Установка бинарная .

IntelliJ IDEA ( http://www.jetbrains.com/idea/ ), проект, активно развиваемый с 2000 г., ориентированный на язык Java, но имеющий развитые инструменты разработки и отладки под Android (имеет эффективный эмулятор Android, основанный на виртуальной машине QEMU). Развиваются две реализации IDE: свободная (общедоступная) и профессиональная (проприетарная).

Вот как выглядит в IntelliJ IDEA проект для Android (архив IDEA.tgz ) и эмулятор Android в котором это приложение отлаживается:

При запуске IDEA из терминала вы можете увидеть предупреждение:

OpenJDK Runtime Environment (IcedTea6 1.8.3) (fedora-43.1.8.3.fc12-i386)

OpenJDK Server VM (build 14.0-b16, mixed mode)

WARNING: You are launching IDE using OpenJDK Java runtime

NOTE: If you have both Sun JDK and OpenJDK installed

please validate either IDEA_JDK or JDK_HOME environment variable points to valid Sun JDK installation

  1. Но это предупреждение, в равной мере, относится ко всем IDE, реализованным на Java (а все наиболее развитые IDE реализованы именно на Java: Eclipse IDE, Solaris Studio, . ) — все они предпочитают (работают эффективнее) использование оригинального Sun JDK , а не OpenJDK. Sun JDK можно свободно загрузить с сайта Oracle и установить в своей системе (пожалуй, это следует сделать, если вы планируете активно использовать IDE построенные на Java).
  2. Code::Blocks IDE ( http://www.codeblocks.org/ ) — свободная много-платформенная среда разработки, сама система написана на С++, с использованием переносимой графической библиотеки wxWidgets ( http://www.wxwidgets.org/ ). Поддерживает языки программирования С и С++, но для разнообразных операционных систем (Windows, Linux, Mac OS X), среду можно собрать практически под любую UNIX систему, например FreeBSD. Обеспечивает кросс-разработку под ряд используемых процессорных платформ (ARM, AVR). Среда создаёт шаблоны приложений и поддерживает разработку для многих графических платформ (GTK+, Qt, wxWidgets, GLUT и другие), поэтому может оказаться особенно удобной для проектирования GUI приложений.

Эта среда предполагает использование (на выбор) различных компиляторов С/С++ из числа установленных в системе:

Кроме того, Code::Blocks предлагает очень расширенный набор шаблонов для создаваемых приложений (различные платформы, различные графические библиотеки):

Проекты, созданные Code::Blocks, очень компактны, что приятно отличает её от многих других IDE (здесь показан объём вместе с собранным бинарным приложением):

Geany ( http://www.geany.org/ ) — популярная среди многих разработчиков, простая в обращении, много-платформенная среда разработки. По существу, Geany не является IDE, а есть развитый инструмент редактирования кодов с цветовой разметкой, встроенным вызовом gcc, make, . Благодаря такой специфике Geany используется для при разработке программ более чем на 40 языках программирования, среди которых: C/C++, Java, JavaScript, Tcl, PHP, Python, XML/HTML и другие.

Geany работает не с какими-либо специфическими проектами, а с файлами программного кода, собираемыми традиционным make . На рисунке показан вид в Geany обсуждавшегося ранее приложения создания библиотек, ниже виден запущенный в окне терминала Geany менеджер mc (отсутствие специфических для IDE «наворотов» и определяет гибкость и универсализм Geany):

Glade ( http://glade.gnome.org/ ) — Glade не является IDE в том смысле, как описанные ранее. Это свободная система визуального создания графических интерфейсов (GUI), которая может создавать шаблон практически под любую графическую библиотеку (сам Glade написан на основе GTK+). Создадим шаблон приложения (архив Glade.tgz ):


Дальше нам остаётся написать сценарий сборки (Makefile) для сгенерированного шаблона приложения, в случае использования wxWidgets это будет что-то типа:

CCOPT = `wx-config —cxxflags`

LDOPT = `wx-config —libs`

1 Не по принципу «эти лучше других», а только потому, что эти попросту «под руку попали».

10 лучших сред разработки (IDE) для Linux

Программирование (а точнее кодинг) — это, по сути, постоянный набор текста, поэтому очень важно найти хороший редактор, обеспечивающий комфортные условия для написания кода. Многие начинают с простых текстовых, но потом переходят на IDE (интегрированная среда разработки), поскольку IDE делает создание кода более удобным и быстрым с помощью автоматического дополнения, всплывающих подсказок, информации о возможных ошибках и средств отладки. Сегодня рассмотрим топ-10 сред разработки для Linux.

Для тех, кто не в курсе Linux — это open-source операционная система, которая используется по всему миру на компьютерах, серверах, в игровой сфере и т.д. Ее очень любят за безопасность, стабильность, конфиденциальность, продвинутый контроль + здесь подавляющая часть приложений бесплатны. Она предоставляет программистам некоторые преимущества — тот, кто умеет программировать в Linux, сможет без проблем построить карьеру в области системного администрирования и получить хорошую должность на рынке (такие знания будут отличным плюсом в резюме).

Хотя, если говорить о программировании в целом, то не особо важно какой ОС вы пользуетесь — многие из представленных ниже сред разработки под Linux отлично подходят и для Win/Mac. Сейчас даже можно найти разные компиляторы в сети, например запустить то же python онлайн для решения каких-то задач. Хотя локально работать все же быстрее и удобнее.

Выбор того или иного варианта зависит от ваших предпочтений. В списке находятся не все доступные программные продукты и он не является каким-то рейтингом — воспринимайте статью как перечень одних из лучших IDE для Linux, с которыми следует ознакомиться в первую очередь.

1. Eclipse

Бесплатный редактор с открытым кодом, созданный для тяжелой разработки на Java. Может работать с языками программирования: Ruby, Java, C, Perl, Python, PHP, C++ и другие.

  • Поддержка большого количества языков программирования.
  • Много плагинов для расширения возможностей.
  • Инструменты для Java EE проектов.
  • Инструменты для разработки на Java.
  • Среда разработки плагинов.
  • Интеграция с Junit.
  • Поддержка системы Git.

2. Bluefish

Это бесплатный и открытый проект, который ориентирован как на Web-разработчиков, так и на обычных программистов. Может работать с: ASP .NET, HTML5, C++, C, CSS, JS, Pearl, Ruby, Java, PHP, SQL, XML.

  • Быстрый и чистый.
  • Легкий.
  • Поддерживает многопоточность.
  • Неограниченное выполнение команд отменить/повторить.
  • Много разнообразных инструментов.
  • Авто-восстановление после крашей.
  • Мощный инструмент поиска и замены.

3. NetBeans

Бесплатная и открытая IDE от Sun Microsystems. Поддерживает такие ЯП как: Java, Python, C++, C, Ruby, PHP, JavaScript.

  • Удобный интерфейс.
  • Кросс-платформенная.
  • Динамические и статические библиотеки.
  • Мульти-сессионный интегрированный отладчик GNU.
  • Рефакторинг в редакторе, Обработчик классов и навигатор.
  • Поддержка инструментов Qt.
  • Универсальные команды Run и Debug.

4. Zend Studio

PHP программисты используют Zend для быстрого написания кода, легкого решения проблем и свободного интегрирования в облако. Zend Studio, PHP Unit и Composer образуют одно целое и становятся мощным инструментом для мобильных и PHP разработчиков.

Работает с такими языками как: HTML, PHP, JavaScript.:

  • Поддержка большинства баз данных.
  • Обнаружение ошибок в реальном времени.
  • Рефакторинг кода.
  • Параметры управления исходным кодом.
  • Локальная и серверная отладка.

5. Komodo IDE

Эта IDE под Linux, созданная в Mozilla, заслужила множество наград. Поддерживает языки программирования: Python, PHP, HTML, Perl, RHTML, C, CSS, C++, JS, Ruby, Django. Основные фишки:

  • Кросс-платформенная.
  • Профилирование кода для PHP и Python.
  • Графическая отладка.
  • Расширенные функции редактирования с многооконным и разделенным видом.
  • Множество дополнений.
  • Много настроек для кастомизации.
  • Отладка и развертывание в Stackato PaaS.

Цена: обычная и образовательная лицензии — бесплатны, а персональная и предпринимательская версии — по 89 и 295 долларов соответственно.

6. Anjuta

Универсальная IDE, которая включает в себя ряд расширенных возможностей, таких как мастер приложений, редактор исходного кода, управление проектами и версиями, профилировщик, отладчик, дизайнер графического интерфейса и другие инструменты. Anjuta предоставляет простой графический интерфейс и достаточные мощности для систематической разработки. Поддержка языков: C и C++.

  • Простой пользовательский интерфейс.
  • Мастер проектов и готовые шаблоны.
  • Интегрированный Glade.
  • Интегрированный DevHelp.

7. MonoDevelop

Эта IDE создана для C#, но также поддерживает другие языки и позволяет разработчикам быстро писать десктопные и ASP.NET Web приложения для Linux. Это кросс-платформенный продукт, который делает простым процесс извлечения .NET приложений, созданных в Visual Studio, в Linux без потери исходного кода.

Может работать с языками: VB, C, C++, Python, C#, Java.

  • Изменяемое рабочее пространство, которое соответствует виду вашего рабочего процесса.
  • Встроенный отладчик.
  • Визуальный дизайнер.
  • Развертывание и тестирование.
  • Объектно-ориентированный API.
  • Инструменты для увеличения возможностей.

8. CodeLite

Бесплатный проект с открытым исходным кодом для разработки на C++ и C под разные платформы. Полезные фишки:

  • Встроенная поддержка GDB, GCC, clang, VC++.
  • Плагины GIT.
  • Подсветка синтаксиса для различных языков.
  • 2 механизма, завершающих код, которые работают одновременно.
  • Просмотр локальных потоков процессора, просмотр дерева и памяти.

9. Kdevelop

Полноценная и расширяемая IDE для C, C++, PHP и Ruby. Основные преимущества:

  • Кросс-платформенная.
  • Используется для KDE/QT разработки.

10. Geany

Хотя Geany имеет базовые возможности IDE, он является текстовым редактором, который работает на GTK2 библиотеке. Он был спроектирован так, чтобы стать маленькой и быстрой IDE. Поддерживаемые языки: HTML, PHP, Java, C, Perl, Pascal, Python.

  • Автоматическое закрытие тегов XML и HTML.
  • Развитая система навигации по коду.
  • Работает на нескольких платформах.
  • Позволяет создавать пользовательские плагины.
  • Свертывание кода и подсветка синтаксиса.
  • Простое управление проектом.

Как уже сказал выше, были рассмотрены далеко не все среды разработки для Linux, есть и другие хорошие решения: IDE от JetBrains, Code::Blocks и Qt Creator. Расскажите в комментариях ниже о тех приложениях, что вы используете у себя.

Моя среда разработки в Linux 2018

В этой статье я немного пройдусь по установке и приложениям моего ноутбука на базе Linux. На написание материала меня вдохновил этот пост, но только для Linux.

Я решил не перечислять все приложения на компьютере, а ограничиться лишь теми, которые важны при разработке.

Базовая комплектация

В данный момент компьютер работает на базе LinuxMint 18.3, однако я всерьез подумываю перейти на Ubuntu 18.04 сразу после их релиза. Никаких особых нареканий по части Mint у меня нет, но хотелось бы попробовать заменить Unity на Gnome 3 I и посмотреть, что это за штука.

Инструментарий

  • Boostnote — основное средство создания заметок. Использую его по большей части для хранения сниппетов кода и тематического материала по разработке. Распространяется свободно, кроссплатформенность присутствует, отлично работает в оффлайне. Мне хотелось упростить синхронизацию между несколькими устройствами — раз заметки хранятся в формате CSON, то синхронизацию я делаю через приватный Git- репозиторий.
  • Simplenote — это мой «черновой блокнот» для коротких записей и мыслей. В основном, пользуюсь им с мобильного.
  • Cerebro — кроссплатформенный установщик с открытым кодом, похож на Spotlight и Alfred для Mac. Поддержка так себе, многое еще нужно поработать, но работает на удивление хорошо. Плагинов меньше, чем в Alfred, но нужные мне опции я могу написать сам.

Интернет

  • Google Chrome — Браузер по умолчанию.
  • Firefox — Второй по значимости браузер.
  • Min — Это минималистический браузер. В Linux отсутствуют аналоги Fenetre для Mac. Пользуюсь им, когда нужно почитать документацию, посмотреть какой-то урок или видео в параллельном режиме или Картинка-в-картинке.
  • Dropbox — для обмена файлами.
  • Mailspring — мой почтовый клиент.
  • Corebird — десктопный Twitter клиент.
  • Ramme — десктопный Instagram клиент.
  • Caprine — десктопный клиент мессенджера Facebook.
  • WhatsappDesktop — десктопный WhatsApp клиент, есть встроенные уведомления и интеграция в системный трей.
  • Slack — для чата и общения в сообществах.
  • Wireshark — для анализа сети. Удобно при разработке — видно все взаимодействия между разными приложениями.

Графика и мультимедиа

  • Pinta — еще одна бесплатная программа с открытым кодом, подходит для рисования и редактирования изображений. Мне нравится именно этот графический редактор. Несмотря на то, что самым популярным редактором изображений на Linux считается Gimp, мне кажется, что Pinta намного проще и в чем-то даже похож на Photoshop.
  • XnConvert — мощная и бесплатная кроссплатформенная пакетная обработка изображений. Сочетает в себе порядка 80 действий.
  • Draw.io — мое самое любимое приложение для создания всевозможных диаграмм — от блок-схем до циклограмм и даже каркасных представлений. 100%бесплатно, можно интегрировать с Google Drive.
  • Shutter — для создания скриншотов с добавлением комментариев, стрелок, боксов и т.д. Из полезного — эффект размытия в частях изображения.
  • ffmulticonverter — конвертирует изображения и видео в различные форматы.
  • Peek — позволяет записывать видео с экрана и сохранять в GIFформате. Крайне полезно для создания демо-гифок, например, для добавления их в readme файлы проекта.
  • pick — селектор цвета
  • Trimage — инструмент для сжатия изображения.

Видео и звук

  • VLC — мой любимый медиаплеер. В версии 3 добавлена поддержка Chromecast, что делает приложение еще полезней.
  • Kdenlive — редактирование видео.
  • Kazam — запись скринкастов
  • Spotify — для прослушивания любимой музыки.

Системные утилиты

  • Bleachbit — утилита для очистки системы.
  • Stacer — оптимизатор системы и мониторинг для Linux.
  • Caffeine — чтобы компьютер не засыпал.
  • Pullover — показывает Pushover-уведомления на рабочем столе
  • CopyQ — для управления буфером обмена.

Редакторы

  • Jetbrains (PHPstorm, WebStorm) — мой выбор для IDE.
  • Visualstudiocode — Все в одном текстовом редакторе
  • vim (редактирование файлов в режиме командной строки).

Настройка терминала

  • Tilix — мой любимый эмулятор терминала.
  • Zshshell — отличная альтернатива Bash
  • zplug — для управления zsh плагинами.
  • zsh-completions — дополнительные определения для завершения Zsh.

Утилиты командной строки

  • tldr — это альтернатива man, но только с самым необходимым. Отличный способ быстро найти любой синтаксис команд. yadm — менеджер Dotfiles.
  • fasd — повышает быстродействие командной строки. В нем реализован быстрый доступ к файлам и директориям командной оболочки POSIX. Создатели приложения явно вдохновлялись autojump, z и v. Fasd ведет журнал просмотра файлов и открытых директорий, так что их можно быстро найти в командной строке.
  • fzf — FuzzyFinder для командной строки
  • thesilversearcher — поисковик кода. Похож на ack, только быстрее.
  • lf — диспетчер файлов командной строки.
  • pandoc — конвертирует разные типы файлов из командной строки.
  • pwgen — генератор пароля
  • lnav — расширенное средство просмотра лог-файлов для малых ИС.
  • trash-cli — удаляет файлы, записывая исходный путь, дату удаления и разрешения.
  • opn-cli — открывает всякое разное: сайты, файлы, исполняемые модули. Кроссплатформенность присутствует.
  • ascicinema — записывает и расшаривает терминальные сеансы.
  • hostess — идемпотентная утилита для управления /etc/hostsфайлами.
  • get-port-cli — показывает доступный порт.
  • public-ip-cli — выделяет внешний IP-адрес.
  • internal-ip-cli — выделяет внутренний IP-адрес
  • speedtest-cli — интерфейс командной строки для тестирования скорости интернет-соединения на speedtest.net
  • fkill-cli — нереально круто убивает лишние процессы. Кроссплатформенная.
  • doctoc — генерирует содержание для файлов разметки внутри локального Git-репозитория. Ссылки совместимы с анкорами github и других сайтов.

Среда разработки

В разработке я активно пользуюсь Docker, хотя на хосте и установлены другие популярные среды выполнения кода: go, php, node (с nvm) иruby (с rvm).

  • Docker
  • Docker-compose — определяет и запускает многоконтейнерные приложения сDocker.
  • Minikube — локально запускает Kubernetes.
  • Telepresence — локальная разработка на фоне удаленного кластера Kubernetes или OpenShift.
  • ctop — top-интерфейс для метрик контейнеров.
  • Vagrant — упрощение процесса разработки. Сейчас я не особо пользуюсь Vagrant, только для работы над инфраструктурой проектов (например, проверка вращения нового кластера или тестирование плейбука на Ansible).
  • Dnsdock — управление dns в Docker-контейнерах.

Инструменты разработки

  • how2 — переполнение стека из терминала
  • Pet — простой сниппет командной строки. Там я храню часто используемые команды.
  • caniuse-cmd — инструмент командной строки Caniuse
  • hub — это инструмент командной строки, который разворачивает git с большим количеством опций и команд, что сильно упрощает работу с GitHub.
  • conventional-changelog — генерирует changelog из метаданных git.
  • release-it — запуск git-репозиториев и npm пакетов из командной строки.
  • git-open — печатайте git open для открытия страницы GitHub или другого сайта с репозиториями.
  • git-semver — git-плагин для Semantic Versioning.
  • tig — текстовый git-интерфейс.
  • jq — облегченная и удобная командная строка для JSON-процессора.
  • python-gitlab — GitLab клиент/
  • overcommit — инструмент для управления и конфигурирования хуков в Git.
  • tmux и tmuxp — терминальные мультиплексоры.
  • gitbook-cli — интерфейс командной строки GitBook.
  • pageres-cli — делает скриншоты веб-страниц.
  • httpie — современный http клиент командной строки; отличная альтернатива curl с интуитивным интерфейсом, поддержкой JSON, выделением синтаксиса, wget-подобным скачиванием, расширениями и т.д.
  • yeoman — кодогенерация проектов из набора шаблонов.
  • generator-editorconfig — генерирует .editorconfig файлы.
  • license — создает лицензии из командной строки.
  • gi — создает полезные .gitignore файлы для вашего проекта
  • travis.rb — Travis CI клиент (библиотека Ruby и CLI)
  • http-server — простой http-сервер командной строки с нулевой конфигурацией. Очень мощный инструмент для работы, а еще его легко можно взломать и использовать для тестирования, локальных разработок и обучения.
  • codeclimate-cli — интерфейс командной строки для аналитической платформы Code Climate. Позволяет запускать компоненты Code Climate на локальном компьютере внутри docker-контейнеров.
  • mycli — терминал-клиент для MySQL с автодополнением и подсветкой синтаксиса.
  • json-server — поддельная копия REST API с нулевым кодированием за 30 секунд.
  • localtunnel — открывает публичный доступ к вашим localhost — для легкого тестирования и обмена файлами! Больше не нужно связываться с DNS или развертыванием — ваши изменения смогут протестировать и без них!
  • mailhog — SMTP-тестирование на основе Web и API.
  • artilery — мощный, современный и простой в использовании набор инструментов для тестирования нагрузки. Используйте для передачи масштабируемых приложений, которые остаются работоспособными и отказоустойчивыми при высоких нагрузках.
  • Postman — упрощает API-разработку.
  • Devdocs-Desktop — объединяет документацию по API в быстром, структурированном и адаптированном к поиску интерфейсе. DevDocs.io — это неофициальное десктопное приложение.

Оптимизация разработки

  • doctl — инструмент командной строки для сервисов Digital Ocean.
  • gcloud-sdk — официальный sdk для взаимодействия с инфраструктурой Google Cloud.
  • aws-cli — с этим пакетом вы получите унифицированный интерфейс командной строки для Amazon Web Services.
  • ansible — автоматизирует инфраструктуру.
  • terraform — пишите, планируйте и создавайте инфраструктуру в виде кода.
  • kubectl — интерфейс командной строки для запуска команд в отношении кластеров Kubernetes.
  • kubectx — быстрое переключение между кластерами и пространствами имен в kubectl.
  • kubeval — проверяет конфиг-файлы Kubernetes , поддерживает многие версии Kubernetes.
  • helm — диспетчер пакетов Kubernetes.
  • heroku-cli — интерфейс командной строки Heroku для легкого создания и управления приложениями Heroku напрямую с терминала. Важная составляющая для размещения на Heroku.
  • forge.sh — определяет и развертывает многоконтейнерные приложения на Kubernetes из источника.
  • Firebase tools — инструменты для командной строки Firebase.
  • dpl — читается как ди-пи-эль. Это инструмент для непрерывного развертывания.

Заключение

Именно этими программами я пользуюсь на своем компьютере для разработки. Надеюсь, данный список окажется вам полезным.

Linux может стать крайне мощной средой для разработки. Поэтому очень жаль, что многие Mac-приложения (тот же Alfred или Fenetre) не имеют полноценных Linux-альтернатив. Их мне действительно не хватает! Не могу похвастаться опытом работы на Mac, но я прямо-таки чувствую функциональную мощь данных приложений!

Лучшая среда для разработки под Linux

Если бы я писал код под Linux. Лучшая среда для разработки, какая?

В такой постановке вопроса — вижуал студио.

Смотря для чего. Я вот в vim пишу код на QBASIC, и на кнопку прицепил сохранение и выполнение через DOSBox, мне удобно 🙂 Только подсветки не хватает.

Ещё Qt Creator хорошая штука — не верх удобства, как какая-нибудь IDEA для Java, но и не тормозит.

Я код в Qt Creator пишу. Принципиально разницы всё равно нет, если запускать всё равно через консольку. Хотя ладно, меня удерживает неплохая морда к GDB.

QT Creator, конечно же. По крайней мере, для C++ с QT.

Qt Creator, снова и снова не поленюсь писать что это пока что лучшая IDE для Linux

QT Creator
C++ с QT

Вас таки интересует Qt или код под линукс?

Разве ответ не очевиден?

Qtcreator, стильно-модно-молодёжно и куча багов, чтобы скучно не было

Из последнего замеченного:

Но в общем-то хорошая ide для C++

  • Xcode
  • clang —target=$(CURRENT_ARCH)-pc-linux-gnu
  • $(CURRENT_ARCH)-binutils

Если бы я писал код под Linux. Лучшая среда для разработки, какая?

Чо там подсвечивать-то? syn keyword Keyword Sub If While Then End Goto, syn match Comment «’.*$», ну и для литералов простенькое сбацать/выдрать из к-н паскаля.

Да, Quick Time Creator — лудший!

QtCreator просто реактивный по сравнению с жабо-ужасом.

QtCreator и KDevelop.

Kdevelop. Хотя QtC тоже неплох.

Лучшая среда — это пятница!

О, KDevelop ещё жив, я удивлён.

если разработка с Qt, то придётся писать в креаторе. эта хрень без своих утилей крайне неподъёмная.
а так, конечно, креатор гомнецо то ещё. помнится, один раз он у меня сожрал 32 гига памяти просто так, ничего не делая. был открыт проект, он был свёрнут в трей. и через пару дней в трее он сожрал всю оперативу, цуко. после чего был безжалостно снесён с компа и больше ни разу это г я не поставлю.
я лично использую CodeBlocks. маленький, простой, кроссплатформенный, настраивается под любые компиляторы. он тоже не без тараканов, но их хотя бы править легче и они не такие суровые.

+1 за QtCreator. Как по мне, отлично работается и с некутешными проектами. Я, кстати, ни разу в нем на серьезные баги за три года не натыкался.

Обычно все в таких случаях наперебой советуют vim и emacs.

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

Когда я пользовался этим поделием, то интеграция с gdb там была до нельзя убогая. Юзабельная версия для линукса была только в девелоперской ветке, но wxwidgets под линуксом страшен ака ядреная война.
К счастью я вовремя нашел vim.

Если для C++, то конечно же CLion.

продукты jetbrains и/или emacs

+1, я вообще не понимаю о каких багах идет речь, и те что я видел я же отрепортил и их пофиксили

Из найденных мной фиксят только половину, остальные висят.. Кстати, если не в падлу, проголосуйте за баг )

голосую за Atom

насчёт юзабельной ветки в девелопменте — это правда. но это не проблема, ибо собирается он на раз.
мне лично не нужна интеграция. я всё равно на рабочей машине ничего практически не тестирую. софт тестируется либо на серверах, либо на виртуалках и там gdb в чистом виде уже.
я если изредка пишу что-то с юзерским интерфейсом, то юзаю wxWidgets. wxWidgets вполне удобен. он кроссплатформенный и лёгкий. и в нём есть динамическая генерация форм из XML. поэтому я не заморачиваюсь с написанием гуя, я его генерю на ходу просто. это вообще идеальное решение для нелюбителей возиться с мордой.

поэтому я не заморачиваюсь с написанием гуя, я его генерю на ходу просто. это вообще идеальное решение для нелюбителей возиться с мордой

По описанию твой «гуй» похож на пару кнопок и полей для ввода. Как будешь генерить более или менее сложный гуй с табличкой/деревом и всякими валидаторами ввода?

мне лично не нужна интеграция.

Тогда я не могу понять любовь к c::b. Редактора текста, как и в большинстве ide, там нет. Интеграция с gdb вам не нужна. В чем тогда смысл использовать именно его?

QtCreator, CLion для C++. PyCharm для Python. Java — Intelij IDEA. C# — MonoDevelop. для остального есть Atom, Sublime, и прочие Редакторы/IDEшки.

Netbeans работал c++, qt, wxWidgets. А счас — в основном web. Для меня удобный универсальный комбайн. Правда ресурсы и память жрет как невменяемый. Но с покупкой ПК помощней проблема отсутствует.

ну, надо сказать, что редактор c::b меня вполне устраивает. плюс там довольно удобная периферия. мелкие тузлы, которые иногда нужны.
для небольших проектов, которые я могу собрать из IDE, там есть настройки для прикручивания любых компиляторов. я туда даже NASM прикручивала. плюс он работает под любой системой. можно сделать один файл проекта для нескольких систем и для разных компиляторов. это, пожалуй, самая удобная фича. думаю, кросскомпиляция в нём тоже не проблема, хотя для кросскомпиляции я по привычке пишу makefile’ы.

в wxWidgets есть и таблички, и деревья, и валидация. это полновесная библиотека для создания гуя. просто мне большинство таких вещей практически не нужно. мои задачи чаще всего связаны с тестированием железа, а там чем проще интерфейс — тем лучше. плюс у меня было много однотипных задач типа сделать софт для очередного тестбеда. тестов было дофига. но, в принципе, все тестовые стенды были более-менее предсказуемы, ничего принципиально нового в механике и электронике не бывает. есть, скажем, класс девайсов шаговый двигатель, есть аналоги с ШИМом, есть сервоприводы. но всё это в принципе отличается только параметрами. поэтому я просто написала маленький скриптовый язык, который позволял работать с подобными примитивами, типичными для такой разработки. модули для классов девайсов можно было писать как плагины и подгружать на ходу. а гуй под каждый новый стенд генерился через XML. было удобно: от меня минимум усилий, и даже механики научились самостоятельно писать скрипты и запускать разные двигатели и сервоприводы.

а так, конечно, креатор гомнецо то ещё

Пишешь код в midnight commander editor?

один раз он у меня сожрал 32 гига памяти просто та

А я один раз инопланетян видел, они меня еще похитили и какие-то нехорошие вещи со мной делали.

На винфак, aber schnell!

Вполне устраивает — это весьма субъективное определение. Мое субъективное мнение, что редактора кода там нет. Все остальное есть в вим и емакс.

а тут есть опрос субъективных мнений. или что-то не так?
я лично терпеть не могу ни вим ни емакс, как редакторы. это тоже личное мнение. да и кроссплатформенных проектов с настройками под разные компиляторы там нет даже близко. так что для меня c::b удобнее в тыщу раз.

ну, не в mc. у него ж просто дефолтный системный редактор подтягивается. я его всегда ставлю в nano. и да, конкретно в nano мне приходилось очень много кода писать. ничо так, вполне удобно, если есть либы для подсветки кода. иногда на машинах никакого гуя нет, так что nano просто великолепное средство для редактирования.
про инопланетян ничего сказать не могу.
не перевозбуждайся насчёт трея. в любой системе панелька для сворачивания окон есть и мне пох, как вы, гуеплёты, её называете. а что касается никсов, то у меня всяко поболее опыта, ещё с 90-х годов, детка. так что вали-ка сам на винфак, если ты такой спец по винфакам.

Визуальные среды программирования для Linux

Многие начинающие кодеры бояться
программирования в Linux — нет виндовой простоты
и наглядности. Однако и для Linux существует
множество визуальных средств
программирования, и это не только клон Delphi.
Конечно, они не могут стать полноценной
заменой той же Visual Studio, однако вполне
помогают ускорить процесс разработки
программ.

NetBeans

Одна из лучших IDE сред. Предназначена для
работы с Java, с ее помощью можно
разрабатывать не только кросс-платформенные
Java программы, но и web-приложения, web-сервисы и
клиентов для них, J2ME программы и т.п. Может
работать в Windows, Linux, MacOS. IDE можно расширять
различными плагинами и аддонами, кои можно
найти на сайте. При этом — все бесплатно, то
есть на хаялву! В общем — бесспорный номер
один.

QT / KDevelop Designer

Еще одна мощная среда разработки на
платформе KDE и Gnome. Кросс-платформенные C++
приложения выходят только в путь. Для
некоммерческих программ Qt можно
использовать бесплатно, существует
практически для всех дистрибутивов.

Gambas

Клон Visual Basic, причем не только в оформлении,
но и в конструкциях языка . Идеальное
средство для VB программистов, желающих
перейти на Linux. Простой и удобный интерфейс.
Доступ ко всем главным базам данным — MySQL,
PostgreSQL и т.д. Работает практически на всех
дистрибутивах.

Nvu

WYSIWYG редактор для создания web-страниц. Во
многом напоминает редактор Macromedia или все
тот же FrontPage. Поддерживает автоматическую
работу с сайтом по FTP.

Eric

Python и Ruby IDE среда, делающая
программирование на языке довольно простым
и увлекательным. Написанная собственно на
Python.

Eclipse

Eclipse — вообще не IDE, а целая платформа для
различных приложений. В стандартную
поставку входят дополнительные плагины для
поддержки языка Java (JDT) и разработки
плагинов для Eclipse (PDE — Plugin Development Environment). Для
работы с другими языками должны быть
установлены специальные плагины — в Eclipse
можно работать практически на любом
доступном языке программирования. Еще одно
преимущество тоже относится к
расширяемости: гигантское количество
утилит (особенно для Java) теперь
поставляется и в виде плагинов для Eclipse,
например, Ant, JavaDoc, JUnit, JDepend, Check Style, Subversion.
Значит, нам не придется отказываться от
своей системы контроля версий, от своей
программы проверки качества кода и т.п.
Третье преимущество — то, что Eclipse является
кросс-платформенной средой, то есть
существуют версии для различных
операционных систем (чего не может
позволить себе та же Visual Studio).

Более подробно о среде ты можешь
прочитать в нашем Спеце: http://www.xakep.ru//magazine/xs/065/048/1.asp

JDeveloper

Платформа от Oracle — не с открытым кодом,
однако все равно бесплатная. Как ясно из
названия используется все та же кросс-платформенная
Java. Использует для работы Sun JDK, так что сама
Oracle никаких претензий к создаваемым
программам по идее иметь не будет.

Planner

Ну и наконец визуальная среда управления
проектами для Gnome Desktop. Не менее полезная
программа для программистов чем IDE.

Читать еще:  Установка net на linux
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×