Популярные среды разработки и их недостатки | GeekBrains

Напоминание о том, что идеальных продуктов не бывает.

2 минуты

140660

Автор статьи

Илья Бубнов

Автор статьи

Илья Бубнов

https://gbcdn.mrgcdn.ru/uploads/post/872/og_cover_image/a68d3dca88878941b325bf630ec72369

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

Начнём с официальных представителей лидеров мобильного рынка: Windows, Google и Apple.

Visual Studio 2015

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

Недостатки: новичку будет просто невозможно самостоятельно разобраться с Visual Studio без прохождения специальных курсов и чтения литературы. Это продукт скорее для опытных разработчиков, обращающих внимание на качество редактора и функции тестирования.

Android Studio

Описание: относительно молодая и стремительно развивающаяся IDE, ориентированная на разработчиков приложений для Android.

Недостатки: скупые возможности персонализации проявляются в редакторе кода и общих настройках. Мелочь, а неприятно.

XCode

Описание: IDE, ориентированная на создание приложений для OS X и iOS. Для использования языков Objective C и Swift на сегодня это лучшее, а для некоторых задач и вовсе единственное решение.

Недостатки: многие разработчики жалуются на стабильность среды, вынуждающую вносить дополнительные изменения в свои проекты после выхода очередной версии. Кроме того, XCode относительно сложная IDE для самопознания новичком. Именно поэтому рекомендуем вам пройти наш бесплатный интенсив по основам языка Swift. На нем мы рассмотрим тонкости работы с этой IDE.

От официальных представителей перейдём к универсальным кроссплатформенным средам разработки:

Xamarin Studio

Описание: популярный инструмент разработки приложений под Windows, Phone, Android и iOS, использующий по сути только один язык — C#. Помимо непосредственно Xamarin Studio вы также можете пользоваться плагином для Visual Studio.  

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

IntelliJ IDEA

Описание: IDE, разработанная компанией JetBrains, позволяющая создавать программы на множестве популярных языков, среди которых Java, JavaScript, Python, Ruby, Groovy, Scala, PHP, C, C++.

Недостатки: производительность. Томительное ожидание выполнения компиляции, перекомпиляции, тестирования порой действительно раздражает.

Appcelerator Titanium

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

Недостатки: возможности, предоставляемые Appcelerator Titanium имеют и обратную сторону: генерируемые ошибки в коде, искусственные ограничения, недостаточно качественная документация.

Eclipse

Описание: среда разработки, изначально ориентированная на работу с Java, прославилась большим количеством внешних модулей, существенно расширяющих её функциональность (в том числе, это касается количества поддерживаемых языков).

Недостатки: существенная нехватка документации, нет единого сообщества разработчиков.

Netbeans

Описание: мощная IDE для разработки приложений на Java, JavaScript, Python, PHP, C, C++ и даже Ада.

Недостатки: невысокое быстродействие из-за концепции «всё в одном». Некоторые плагины (в том числе для разработки приложений для Android) имеют существенные ограничения функциональности.

PhoneGap

Описание: необычная среда разработки кроссплатформенных приложений, не требующая знания «родных» языков. То есть для того, чтобы создать приложение для Android, знание Java вам не потребуется. Используются JavaScript в связке с HTML5 и CSS3.

Недостатки: ограниченная функциональность вызванная непосредственно основной идеей нецелевой среды разработки.

А какими IDE пользуетесь вы? И какие у них недостатки?

 

ideразработкасреда разработкипрограммированиеweb_developer

Нашли ошибку в тексте? Напишите нам.

10 лучших IDE – База Знаний Timeweb Community

IDE (Integrated Development Environment) – это интегрированная, единая среда разработки, которая используется разработчиками для создания различного программного обеспечения. IDE представляет собой комплекс из нескольких инструментов, а именно: текстового редактора, компилятора либо интерпретатора, средств автоматизации сборки и отладчика. Помимо этого, IDE может содержать инструменты для интеграции с системами управления версиями и другие полезные утилиты. Есть IDE, которые предназначены для работы только с одним языком программирования, однако большинство современных IDE позволяет работать сразу с несколькими.

Сегодня я расскажу вам о 10 лучших средах разработки как в платном, так и в бесплатном сегменте.

А еще мы поговорили с опытными разработчиками о том, какие IDE они считают наилучшими и могли бы порекомендовать новичкам. С их мнениями вы можете ознакомиться в конце статьи. 

Чем IDE отличается от текстового редактора?

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

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

Какая среда разработки подойдет конкретно для вас? В этом вопросе надо основываться на четырех факторах:

  • язык разработки;
  • простота использования;
  • на каких платформах работает;
  • стоимость.

Итак, давайте рассмотрим лучшие среды разработки. 

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Лучшие платные IDE

PhpStorm

Официальный сайт: https://www.jetbrains.com/ru-ru/phpstorm/

Платформы: Windows/Linux/macOS

Поддерживаемые языки: PHP, JavaScript, HTML, CSS, SASS, LESS и т. д.

Стоимость: от 199$ в год (последующие года будут стоить дешевле). 

Умная среда от известной компании JetBrains предназначена для разработки на PHP, JavaScript, HTML и CSS и идеально подходит для работы с различными CMS: Drupal, WordPress, Symfony, Joomla и многими другими. Среда разработки глубоко анализирует структуру кода, помогая избегать ошибок, а также поддерживает базы данных и SQL.

Преимущества

  • Автодополнение кода и качественная отладка.
  • Удобная навигация.
  • Безопасный рефакторинг – применить изменения во всем проекте можно за пару кликов.
  • Функция Live Edit позволяет мгновенно посмотреть все изменения в браузере.
  • Интерфейс будет понятен даже новичкам.

Недостатки

  • Нет бесплатной версии. Но можно скачать триал.  

CLion

Официальный сайт: https://www.jetbrains.com/ru-ru/clion/

Платформы:

Windows/Linux/macOS

Поддерживаемые языки: С++, C, Objective C, Kotlin, Python, Swift, Fortran, JavaScript, CSS и другие.

Стоимость: от 199$ в год (последующие года будут стоить дешевле). 

И снова продукт JetBrains. CLion – идеальное кроссплатформенное решение для тех, кто работает на C и C++ (и не только). Умный редактор, удобный генератор кода, статический и динамический анализ, безопасный рефакторинг… Особенности данной среды разработки можно перечислять бесконечно.

Преимущества

  • Поддержка удаленной разработки по SSH.
  • Просмотр значений переменных прямо в редакторе.
  • Умная помощь при написании кода.
  • Возможность кастомизировать редактор.
  • Быстрый и безопасный рефакторинг.
  • Широкий функционал. IDE можно использовать даже для программирования микроконтроллеров.

Недостатки 

  • Нет бесплатной версии. Но, как и в случае с PhpStorm, можно скачать пробную версию.

Лучшие условно-бесплатные IDE

Microsoft Visual Studio

Официальный сайт: https://visualstudio. microsoft.com/ru/

Платформы:

Windows/macOS (для Linux есть только редактор кода)

Поддерживаемые языки: Ajax, ASP.NET, DHTML, ASP.NET, JavaScript, Visual Basic, Visual C#, Visual C++, Visual F#, XAML и другие.

Стоимость: от 45$ в месяц. Есть бесплатная версия (Community) для частного использования, студентов и создателей опенсорсовых проектов.

Microsoft Visual Studio – это премиум IDE, стоимость которой зависит от редакции и типа подписки. Она позволяет создавать самые разные проекты, начиная с мобильных и веб-приложений и заканчивая видеоиграми. Microsoft Visual Studio включает в себя множество инструментов для тестирования совместимости – вы сможете проверить свое приложение на более чем 300 устройствах и браузерах. Благодаря своей гибкости, эта IDE отлично подойдет как для студентов, так и для профессионалов.

Особенности:

  • Огромная коллекция всевозможных расширений, которая постоянно пополняется.
  • Технология автодополнения IntelliSense.
  • Возможность кастомизировать рабочую панель.
  • Поддержка разделенного экрана (split screen).

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

PyCharm

 

Официальный сайт: https://www.jetbrains.com/pycharm/

Платформы: Windows/Linux/macOS

Поддерживаемые языки: Python, Jython, Cython, IronPython, PyPy, AngularJS, Coffee Script, HTML/CSS, Django/Jinja2 templates, Gql, LESS/SASS/SCSS/HAML, Mako, Puppet, RegExp, Rest, SQL, XML, YAML и т.д.

Стоимость: от 199$ в год. Есть бесплатная версия, но она работает только с Python. 

Это интегрированная среда разработки на языке Python, которая была разработана международной компанией JetBrains (да, и снова эти ребята).

Эта IDE распространяется под несколькими лицензиями, в том числе как Community Edition, где чуть урезан функционал. Сами разработчики характеризуют свой продукт как «самую интеллектуальную Python IDE с полным набором средств для эффективной разработки на языке Python».

Преимущества

  • Поддержка Google App Engine; IronPython, Jython, Cython, PyPy wxPython, PyQt, PyGTK и др.
  • Поддержка Flask-фреймворка и языков Mako и Jinja2.
  • Редактор Javascript, Coffescript, HTML/CSS, SASS, LESS, HAML.
  • Интеграция с системами контроля версий (VCS).
  • UML диаграммы классов, диаграммы моделей Django и Google App Engine.

Недостатки

  • Иногда встречаются баги, которые, как правило, не вызывают сильных неудобств.

IntelliJ IDEA

 

Официальный сайт: https://www.jetbrains.com/ru-ru/idea/

Платформы: Windows/Linux/macOS

Поддерживаемые языки: Java, AngularJS, Scala, Groovy, AspectJ, CoffeeScript, HTML, Kotlin, JavaScript, LESS, Node JS, PHP, Python, Ruby, Sass,TypeScript, SQL и другие.

Стоимость: от 499$ в год. Бесплатная версия работает только с Java и Android.

Еще одна IDE, разработанная компанией Jet Brains. Здесь тоже есть возможность использовать бесплатную версию Community Edition, а у платной версии есть тестовый 30-дневный период. Изначально IntelliJ IDEA создавалась как среда разработки для Java, но сейчас разработчики определяют эту IDE как «самую умную и удобную среду разработки для Java, включающую поддержку всех последних технологий и фреймворков». Используя плагины, эту IDE можно использовать для работы с другими языками.

Преимущества

  • Инструменты для анализа качества кода, удобная навигация, расширенные рефакторинги и форматирование для Java, Groovy, Scala, HTML, CSS, JavaScript, CoffeeScript, ActionScript, LESS, XML и многих других языков.
  • Интеграция с серверами приложений, включая Tomcat, TomEE, GlassFish, JBoss, WebLogic, WebSphere, Geronimo, Resin, Jetty и Virgo.
  • Инструменты для работы с базами данных и SQL файлами.
  • Интеграция с коммерческими системами управления версиями Perforce, Team Foundation Server, ClearCase, Visual SourceSafe.
  • Инструменты для запуска тестов и анализа покрытия кода, включая поддержку всех популярных фреймворков для тестирования.

Недостатки

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

Лучшие бесплатные IDE

Eclipse

Официальный сайт: https://www.eclipse.org/ide/

Платформы: Windows/Linux/macOS

Поддерживаемые языки: C, C++, Java, Perl, PHP, Python, Ruby и другие.

Это бесплатная опенсорсная среда разработки, которая хорошо подойдет как новичкам, так и опытным разработчикам. Помимо инструментов отладки и поддержки Git/CVS, Eclipse поставляется с Java и инструментом для создания плагинов.

Изначально Eclipse использовалась только для Java, но сейчас, благодаря плагинам и расширениям, ее функции значительно расширились. Именно из-за возможности расширить Eclipse своими модулями эта платформа и завоевала свою популярность среди разработчиков. Функционал Eclipse не такой большой, как у IntelliJ IDEA, зато эта среда разработки распространяется с открытым исходным кодом.

Преимущества

  • Возможность программировать на множестве языков.
  • Значительная гибкость среды за счет модульности.
  • Возможность интеграции JUnit.
  • Удаленная отладка (при использовании JVM).

Недостатки

  • Новичкам может быть сложно разобраться в многообразии возможностей. 

NetBeans

Официальный сайт: https://netbeans.org/

Платформы: Windows/Linux/macOS/BSD

Поддерживаемые языки: C, C++, C++ 11, Fortan, HTML 5, Java, PHP и другие.

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

Преимущества

  • Интуитивно понятный интерфейс drag-and-drop.
  • Динамические и статические библиотеки.
  • Возможность удаленной разработки.
  • Совместима с Windows, Linux, macOS и Solaris.
  • Поддержка Qt.
  • Поддерживает различные компиляторы, в том числе CLang/LLVM, Cygwin, GNU, MinGW и Oracle Solaris Studio.

Недостатки

  • NetBeans требуется много памяти, поэтому на некоторых машинах эта среда может подтормаживать.

Xcode

Официальный сайт: https://developer.apple.com/xcode/

Платформы: macOS

Поддерживаемые языки: AppleScript, C, C++, Java, Objective-C, Swift.

Функциональная среда для создания приложений под продукты Apple – iPhone, iPad, Mac, Apple TV и Apple Watch. В IDE могут работать как индивидуальные, так и корпоративные разработчики. Чтобы разместить созданное приложение в App Store, необходимо купить лицензию разработчика.

Преимущества

  • Фирменный компилятор Apple.
  • Создание прототипов без написания кода.
  • Умный анализатор кода.

Недостатки

  • Работает только на Mac.

Code::Blocks 

Официальный сайт: http://www.codeblocks.org

Платформы: Windows/Linux/macOS

Поддерживаемые языки: C, C++, Fortran

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

Преимущества

  • Удобная структура меню.
  • Высокая производительность.
  • Встроенная система быстрой сборки.

Недостатки

  • Не подойдет профессионалам.
  • Много багов.
  • Несколько устаревший интерфейс

Komodo

Официальный сайт: http://www.activestate.com/komodo-ide

Платформы: Windows/Linux/macOS

Поддерживаемые языки: CSS, JavaScript, HTML, NodeJS, Perl, PHP, Python, Ruby и другие.

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

Преимущества

  • Возможности удобной кастомизации.
  • Поддерживает популярные системы контроля версий.
  • Умная подсветка синтаксиса.
  • Неплохой визуальный отладчик.

Недостатки 

  • К бесплатной IDE с такими возможностями и не придерешься.

Какую IDE считают лучшей профессионалы?

 

Для моих задач и стека языков лучше всего подходят IDE от Jetbrains: Phpstorm, Webstorm и Goland (все на базе InteliJ IDEA). В этих IDE есть почти все, что мне необходимо. Начиная с клиента баз данных и заканчивая автоматизацией для тестирования. Но что можно посоветовать новичкам? Хм… Если речь идет о Frontend, то бесплатного VSCode вполне может хватить, он гораздо менее требователен к ресурсам компьютера, чем тот же Webstorm. Для PHP все-таки лучший вариант это PhpStorm. Но все зависит от личных предпочтений. 

– Максим, Senior PHP Developer

Работает на PHP/Go/JavaScript/Typescript, а также SQL и HTML/CSS

Лучшей IDE я считаю PhpStorm, потому что она полностью покрывает весь востребованный функционал и предоставляет «умный» механизм анализа кода.

– Павел, Fullstack-разработчик

Работает на PHP и JavaScript

Мой выбор – IntelliJ IDEA. Отличный поиск по исходникам, автодополнение, подсветка синтаксиса, шаблоны (кода, файлов и даже группы файлов), макросы, множество бесплатных плагинов. Рекомендую ее и новичкам. 

– Олег, старший программист Erlang

Работает на Erlang, SQL, Bash, Awk и Yaml

Что такое среда разработки? Что такое IDE?

Функции интегрированной среды разработки

Основным преимуществом работы с IDE является повышение производительности труда разработчиков. Для этого самые популярные IDE имеют функции, которые могут помочь разработчику различными способами.

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

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

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

 

Ниже приведены некоторые наиболее распространенные функции, доступные в среде IDE.

 

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

Основная цель использования IDE — написание кода, и именно здесь на помощь приходит функция редактора кода.

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

 

Подсветка синтаксиса

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

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

 

Автозавершение кода

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

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

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

 

Компилятор

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

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

 

Отладчик

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

Таким образом, отладчик помогает устранять любые возникающие проблемы более эффективным способом, не выходя из среды IDE.

 

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

Чтобы ускорить создание сборки программного обеспечения, которая включает в себя компиляцию, упаковку и отладку, многие IDE будут иметь инструменты автоматизации сборки для ускорения процесса. Эти инструменты выполняют задачу по-разному (в зависимости от типа используемого вами инструмента), но, как правило, выполняют все задачи, необходимые для того, чтобы код был готов к запуску в вашем приложении.

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

 

Управление версиями

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

 

Языковая поддержка

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

Кроме того, некоторые IDE не предназначены только для одного языка, а созданы для поддержки сред Microsoft или Apple.

Visual Studio — это интегрированная среда разработки, разработанная Microsoft, которая поддерживает 36 различных языков программирования. Сюда входят встроенные языки, такие как C, C++, Visual Basic .NET, C#, JavaScript и HTML. Его также можно расширить с помощью плагинов для поддержки дополнительных языков, таких как Python, Ruby и Node. js.

Это IDE, рекомендуемая для запуска приложений .NET, таких как Umbraco, а также самая популярная IDE на G2.com.

Xcode эквивалентен, если вы разрабатываете приложения для iOS и Mac, поскольку он будет поддерживать языки, необходимые для разработки этих приложений. Кроме того, он также поставляется с удобным симулятором iPhone и iPad, который поможет вам в вашем развитии.

 

Если вы не знаете, какую IDE использовать, существует множество списков, предлагающих различные варианты. Одним из таких списков является этот список в Википедии, в котором перечислены интегрированные среды разработки, перечисленные по поддерживаемым языкам.

Выбор подходящей среды разработки для вас

Назад к результатам блога

10 сентября 2015 г. Закари Флауэр

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

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

Самой популярной структурированной локальной средой разработки, которую я видел, является Vagrant. По своей сути Vagrant — это кроссплатформенный инструмент управления виртуальными машинами, который позволяет настраивать и предоставлять виртуальные машины воспроизводимым образом. Благодаря встроенной поддержке Puppet и Chef Vagrant — отличный способ настроить совершенно новую среду разработки с помощью всего одной команды. Что делает Vagrant таким замечательным, так это то, что вместо того, чтобы передавать образы машин, файлы конфигурации фиксируются непосредственно в системе контроля версий проекта, а базовая машина создается и настраивается на лету, а это означает, что любой разработчик, который может клонировать кодовую базу, также мгновенно учитывая возможность раскрутить виртуальную машину. Поскольку Vagrant работает на виртуальной машине, которая монтирует каталог, в котором он настроен, разработчики также могут использовать любую удобную IDE, что позволяет им тратить меньше времени на изучение новых инструментов и больше времени на работу с продуктом.

Часто разработчикам желательно работать с централизованным сервером (или набором серверов), а не со своими локальными машинами. Удаленные среды разработки представляют собой интересный случай, поскольку они могут предоставить гораздо больше возможностей, чем локальные среды, и свести к минимуму объем настройки, необходимой для новых разработчиков. В зависимости от размера организации эти среды могут быть настроены кем-то из группы разработки или эксплуатации и могут размещаться практически в любом месте. Две наиболее распространенные установки, которые я видел для удаленных сред разработки, — это общие серверы и частные серверы. В среде с общим сервером каждый разработчик использует одну и ту же машину со своими собственными учетными записями и поддоменами. Это хорошее решение для организаций с ограниченными ресурсами, которые самостоятельно размещают свои серверы, поскольку может оказаться невозможным иметь выделенный частный сервер для каждого разработчика.

Частные серверы, если они доступны, являются идеальным решением для удаленных сред разработки, поскольку они могут обеспечить 100-процентное соответствие с производственными средами и, как и Vagrant, могут быть запущены одним нажатием кнопки. Однако самая большая проблема с частными серверами заключается в том, что для их использования требуется подключение к Интернету. В локальной среде разработчики теоретически могут работать вне сети, но в удаленной среде для выполнения работы всегда требуется высокоскоростное подключение к Интернету. Другая, более мелкая проблема заключается в том, что удаленный доступ не всегда хорошо работает с каждой IDE. Многие из них не предоставляют отличных функций удаленного доступа, если они вообще их предоставляют, что требует от разработчиков либо использования новой IDE, либо создания хакерских решений для использования IDE, к которой они привыкли.

В идеальном мире, в котором разработчики имеют доступ к достаточно мощным машинам, я бы рекомендовал Vagrant в 100% случаев. Поскольку это кроссплатформенный продукт, организации могут использовать независимый от ОС подход к персональным компьютерам, а автоматическая и простая установка позволяет ускорить адаптацию разработчиков. Хотя Vagrant может иметь некоторые недостатки в скорости, отсутствие требований к Интернету является огромным бонусом, удаляя «мой интернет не работает» из списка вещей, которые могут пойти не так в проекте.

Полная видимость для DevSecOps

Сокращение времени простоя и переход от реактивного к упреждающему мониторингу.

Начать бесплатную пробную версию

Sumo Logic — облачная аналитика SaaS

— Создавайте, запускайте и защищайте современные приложения и облачные инфраструктуры.

Начать бесплатную пробную версию

Закари Флауэр (@zachflower) — участник Fixate IO и ведущий разработчик Emerson Stone, агентства дизайна и брендинга в Боулдере. Он стремится к простоте и удобству использования и стремится создавать продукты с учетом как конечных пользователей, так и бизнес-целей. От разработки проектов для АНБ до создания функций для таких компаний, как Name.com и Buffer, Зак всегда решительно выступал против ненужного изобретения велосипеда, часто выступая за использование хорошо зарекомендовавших себя сторонних и открытых сервисов и решений для улучшения. эффективность и надежность девелоперского проекта.