В этой и ряде других статей мы поговорим о том, что такое среда приложения (среда программного обеспечения). По ходу статьи мы также затронем вопросы, касающиеся программного обеспечения для разработки сайтов - пакетов *AMP , таких, как XAMPP , узнаем, почему они представляют собой плохой выбор; рассмотрим темы прои...

Среда окружения PHP приложения

В этой и ряде других статей мы поговорим о том, что такое среда приложения (среда программного обеспечения). По ходу статьи мы также затронем вопросы, касающиеся программного обеспечения для разработки сайтов - пакетов *AMP , таких, как XAMPP, узнаем, почему они представляют собой плохой выбор; рассмотрим темы производительности и отладки приложения.

Виды сред приложения

Среда приложения (application environment) - это термин, используемый для описания среды, в которой может находиться разрабатываемое приложение на разных этапах своего жизненного цикла: эксплуатационная среда (production environment), среда разработки (development environment) и промежуточная среда (staging environment). Слово «окружающая среда» относится к оборудованию и программному обеспечению, благодаря которому работает приложение; то есть все, что используется для работы программы, начиная от процессора и материнской платы ПК до разнообразных библиотек.

Эксплуатационная среда (Production environment)

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

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

Среда разработки (Development environment)

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

В среде разработки у вас есть различные инструменты в распоряжении - от мощного редактора кода (IDE) до модулей тестирования библиотек и инструментов соответствия стандартам, компиляторов и сборщиков и т. д. - все, что вам нужно для достижения цели – разработки отличного сайта (приложения).

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

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

Таким образом, все эти дополнения и надстройки существуют только во время разработки. При переходе из среды разработки в эксплуатационную среду (процесс развертывания) все дополнительные надстройки удаляются. Т.е. в процессе развертывания происходит процесс компиляции/построения. Различные файлы CSS и JavaScript объединяются и сокращаются, чтобы уменьшить итоговый размер веб-сайта, и сделать его быстрее; модульные тесты игнорируются и остаются в среде разработки; происходят различные другие оптимизации - все с намерением сделать конечный продукт максимально привлекательным и удобным, когда он будет представлен на суд общественности.