Бизнес и PHP
Среди множества стратегических решений, которые необходимо принять бизнесу, одним из которых мы, разработчики, занимаемся, является выбор технологического стека — инструментов и технологий, используемых для разработки программного обеспечения. При выборе серверного языка PHP представляет свой список сильных и слабых сторон; в этой статье они рассматриваются с точки зрения бизнеса.
Во многих случаях наличие технических талантов является одним из основных факторов при выборе языков программирования для интерфейса и бэкэнда — ситуация, особенно характерная для компаний, которые не нанимают удаленных работников. Запускается кампания по подбору персонала или проводится анализ рынка, и компания получает представление о том, какие языки и фреймворки популярны в их городе, и соответственно нанимает сотрудников. Часто это диктуется языками, преподаваемыми в местных школах и колледжах.
Эта динамика создает петлю обратной связи. Все больше компаний, нанимающих на работу на данном языке, означает, что колледжи стараются выпускать выпускников, владеющих этими языками. Наличие талантов на этих языках означает, что компании нанимают их и так далее. Группы пользователей создаются для этих языков, и новички слышат о данном языке от своих сверстников, поэтому они делают аналогичный выбор.
В результате мы часто видим региональную концентрацию языков программирования. Для компании имеет смысл нанимать сотрудников на основе самого большого пула талантов, потому что они могут предложить более низкую заработную плату за более высокий уровень квалификации. Однако, когда региональные навыки не являются решающим фактором или при найме удаленных работников компания может уделять больше внимания их выбору.
При рассмотрении PHP как внутреннего языка существует длинный список плюсов и минусов, которые необходимо учитывать при принятии решения. Я расскажу о многих из них как с технологической, так и с бизнес-точек зрения. Я рассмотрю многие из этих факторов с технологической и бизнес-точек зрения.
Технические достоинства
Многие из нас обращаются к PHP из-за его повсеместного распространения в готовых серверных средах. Для стартапа без команды devops тот факт, что надежная среда PHP и MySQL доступна во многих службах VPS (управляемых или нет) и на шаред хостинге, является заманчивым фактором. Обычно они уже защищены, оптимизированы, автоматически создаются резервные копии и управляются. В первые дни запуска нового проекта или SAAS небольшая команда может уверенно запускать даже умеренно сложные проекты менее чем за пару часов, не беспокоясь о расширениях, обновлениях или защите среды.
Доступность
PHP работает на Linux, Mac и Windows и включает в себя более двадцати расширений баз данных, специфичных для конкретного поставщика. Он легко вписывается в любой серверный стек и хорошо работает наряду с другими языками. Благодаря репозиторию Ондржея Сури для Ubuntu и Debian и репозиторию Реми Колле для CentOS и Red Hat, большинству команд не нужно создавать PHP с нуля и устанавливать последние версии за пару шагов. Разработчики, работающие на местном уровне, имеют несколько вариантов настройки локальной среды разработки благодаря высококачественным инструментам сообщества.
Диапазон от WAMP/MAMP до Homestead, до докеров с помощью таких инструментов, как Devilbox. Учебных пособий для них или для их установки непосредственно в вашей системе предостаточно. Эти преимущества наиболее применимы к компаниям с небольшими командами или начинающим разработчикам, которым, возможно, еще не удобно настраивать серверы и среды. Компании, у которых нет специальной команды devops, могут извлечь выгоду из универсальной доступности PHP, простой конфигурации и инструментов, поддерживаемых сообществом.
Приложения и фреймворки
Компании, специализирующиеся на создании веб-сайтов чаще, чем пользовательских веб-приложений, могут найти простые и гибкие решения во множестве CMS, платформ электронной коммерции и веб-сайтов, доступных на PHP. WordPress, Joomla и Drupal являются одними из старейших и наиболее популярных. Мой собственный опыт показывает, что я могу создать индивидуальный полнофункциональный веб-сайт WordPress и запустить его с нуля для клиента малого бизнеса в течение дня.
Многие небольшие магазины маркетинга и веб-дизайна используют эти бесплатные приложения с открытым исходным кодом в качестве основы своего бизнеса. Компании, которые больше ориентируются на индивидуальную веб-разработку, могут использовать надежные и многофункциональные платформы приложений, такие как популярные Symfony, Laravel и SlimPHP. PHP является зрелым и хорошо подходит для предоставления API для различных интерфейсных клиентов или собственных приложений для использования.
Представление
PHP быстр и масштабируем. С учетом некоторых соображений во время разработки PHP можно легко масштабировать по горизонтали за балансировщиком нагрузки. Надеюсь, мне не нужно приводить множество примеров лучших веб-сайтов с большим трафиком в Интернете, которые работают на PHP или его производных.
Интересно отметить, что в тестах скорости PHP не самый быстрый в каждом тесте, но в большинстве из них. Когда он не самый быстрый, он дает возможность другим лучшим языкам побегать за свои деньги. Скорость PHP резко возросла более чем вдвое с ветки версии 5 до последней версии 7.3, а в некоторых случаях даже утроилась. Многие фреймворки и CMSE также выиграли от этого повышения. В каждой версии, выпущенной в ветке PHP 7, наблюдается повышение скорости, а такие функции, как предварительная загрузка (доступна в версии 7.4) и JIT, предназначенные для версии 8, обещают еще большую скорость.
Тимбилдинг
Собрать команду с нужными навыками и опытом, а затем предоставить им ресурсы и среду, необходимые для создания отличного программного обеспечения, - это целая тема сама по себе. Есть несколько показателей, которые приходят на ум, когда мы рассматриваем возможность найма команды разработчиков PHP.
Количество доступных талантов трудно измерить, но мы можем сделать несколько выводов, основываясь на соответствующей информации. Когда дело доходит до вакансий, доступных на PHP, мы можем предположить, что чем больше вакансий, тем больше спрос на таланты. Действительно, анализ данных с крупных сайтов вакансий показывает, что сравнение числа вакансий что PHP по-прежнему пользуется большим спросом. Рабочие места способствуют росту соответствующего кадрового резерва. Это особенно верно для языков, которые существуют достаточно долго, чтобы они не страдали от резкого недостатка возможностей, характерных для новых языков или фреймворков.
Создание команды также означает поддержку этих разработчиков и создание среды, в которой они могут преуспеть. PHP - очень гибкий язык, позволяющий вашей команде использовать широкий спектр стилей кодирования, парадигм и фреймворков. Они могут работать с PHP так, как это лучше всего подходит им и вашему типу проектов. С другой стороны, однако, PHP нельзя использовать для внешнего интерфейса, такого как JavaScript, или для создания собственных или настольных приложений. Это, конечно, не подходит для каждой бизнес-модели; однако PHP особенно хорошо подходит для предоставления API или общего хранилища контента для использования этими интерфейсными приложениями.
Популярность и репутация
Популярность является важным фактором при поиске квалифицированных разработчиков. Разработчики должны не только хорошо владеть PHP, но и хотеть работать с этим языком. Поскольку PHP является одним из старейших языков серверной веб-разработки и почти десять лет переживает застой в ветке v5, было бы глупо прятать голову в песок, если бы мы не признали, что у PHP есть проблемы с репутацией. Устаревшая информация о самом языке продолжает циркулировать и неоднократно всплывать в статьях, трубящих о смерти PHP или пытающихся продвинуть другие языки. Новых разработчиков часто привлекают новые возможности бэкэнда, такие как Node.js или спонсируемые корпорацией языки, такие как .NET. Эта тенденция, безусловно, может стать проблемой для преодоления.
Однако проблемы с репутацией могут быть компенсированы несколькими положительными моментами. С его возрастом PHP имеет длинный хвост талантливых разработчиков, которые работают с языком в течение длительного времени. Существует множество мероприятий и сообществ, посвященных PHP, о которых я расскажу более подробно позже в статье. Если вы цените зрелых разработчиков с опытом, в PHP есть множество талантливых специалистов с большим опытом.
Стратегически вы можете даже найти опытных специалистов с более разумной зарплатой, если не будете пытаться нанять самых популярных новых технологов. К счастью, за последние несколько лет появилось новое направление для PHP, которое постепенно избавляется от старого багажа PHP. Быстрый график выпуска для ветки v7 представил популярные новые функции и устранил старые проблемы безопасности, которые когда-то вызывали законную критику PHP. Современные фреймворки, такие как Laravel, обновления Symfony, такие как Flex, и даже постоянные улучшения WordPress вызывают новый интерес к PHP и возвращают старых разработчиков в лоно. Долгосрочные перспективы для PHP хорошие.
Поддержка и материалы
Наем команды разработчиков и получение максимальной отдачи от инвестиций означает обеспечение доступа вашей команды к множеству ресурсов, которые помогут в их ежедневном развитии. Языки с отличными онлайн-ресурсами (особенно если они бесплатные) являются одними из самых простых в работе.
Быстрый поиск в Google показывает 18 миллиардов результатов для "PHP". Намного больше, чем для других внутренних языков. Хотя многие отличные опросы, такие как индекс Tiobe или отчет GitHub Octoverse, показывают небольшое снижение популярности PHP за последние годы, это неудивительно, учитывая, что PHP настолько развит и больше не является почти монополистом на разработку бэкэнда. Ветвь PHP v7 положила начало возобновлению обсуждения и написанию статей о PHP. Еще одним положительным моментом является то, что сам язык с открытым исходным кодом и долгой историей обмена знаниями между разработчиками означает, что большинство ресурсов, которые могут понадобиться вашим сотрудникам, бесплатны.
Одним из недостатков многочисленного онлайн-контента о PHP является то, что большая часть контента очень устарела. Нередко встречаются ошибки, вызванные копированием разработчиками старых фрагментов кода, которые включают уязвимости в системе безопасности, такие как внедрение SQL, или используют функции, которые устарели или удалены из языка. Хороший диалог с новыми членами команды, поощрение обмена привилегированными ресурсами между вашими разработчиками, определение политик, из которых команда может использовать код, и экспертные обзоры кода могут помочь смягчить эту проблему.
Сообщество и конференции
Страница конференций на PHP.net на веб-сайте перечислены десятки конференций по всему миру. Вы можете найти их в самых разных странах, в широком диапазоне цен на билеты и охватывающих темы, которые варьируются от PHP в целом до конкретных фреймворков и приложений. Некоторые организации, такие как Nomad PHP, разработчики Day Camp 4 и Laracon Online, стремятся сделать конференции и мероприятия доступными для всех онлайн по низкой цене.
Компании, которые хотят наилучшим образом поддержать своих разработчиков, должны предусмотреть какой-либо вид непрерывного образования для своих сотрудников. Конференции - отличный способ сделать это. Выбор языка, на котором можно выбирать из множества подобных типов событий, делает эту цель гораздо более выполнимой. Некоторые компании экономят затраты, каждый год отправляя на конференцию другую небольшую группу разработчиков и прося их поделиться тем, что они узнали, с остальными сотрудниками, когда они вернутся. Разработчики ценят работу в компании, которая поощряет их желание совершенствовать свои навыки, а PHP облегчает это.
Локальные группы пользователей - еще один ценный ресурс, который может принести огромную пользу вашей команде разработчиков. В группе пользователей разработчики могут осваивать новые навыки, решать проблемы, общаться с единомышленниками и даже продвигать вакансии вашей компании другим квалифицированным программистам.
Экосистема пакетов (package)
Одно из самых разумных решений, которое может принять компания в отношении разработки программного обеспечения, - использовать код, написанный другими, чтобы избежать изобретения колеса. Нет смысла заставлять разработчиков создавать компоненты, которые не имеют никакого отношения к вашему основному бизнесу. На самом деле, использование пакетов сторонних производителей, которые являются хорошо проверенными, зрелыми и популярными, означает, что ваша команда, вероятно, в любом случае не смогла бы выполнить лучшую работу без значительных затрат времени и денег. Экосистема пакетов для PHP - это богатый мир множества вариантов и ценных ресурсов, созданных увлеченными разработчиками. Packagist, каталог пакетов, официально опубликованный для составителя менеджера пакетов PHP, в настоящее время содержит 253 тысячи пакетов, которые вы можете установить в проект с помощью одной команды. Поиск на GitHub показывает более миллиона репозиториев с PHP.
Новый PHP-проект может быть построен на платформе, которая выполняет большую часть начальной загрузки и тяжелой работы приложения. Фреймворки спасают разработчиков, решая проблемы с помощью существующих решений и лучших практик и избегая попадания в распространенные ловушки безопасности. PHP не стесняется в выборе высококачественных фреймворков.
Следует отметить, что большинство популярных фреймворков для PHP удовлетворяют определенным потребностям, а не являются почти идентичными вариантами. Независимо от того, нужно ли вам что-то, ориентированное на быструю разработку и красивый код, такой как Laravel, или что-то стабильное и расширяемое, такое как Symfony, или что-то легкое и простое, такое как SlimPHP, у вашей команды есть отличные, зрелые варианты на выбор. Долгая история PHP означает, что многие фреймворки появлялись и исчезали, и за эти годы лучшие из них поднялись на вершину.
Финансовые затраты
Сколько стоит разработка и публикация приложений на PHP? Ответ может удивить людей, работающих в отраслях и на языках, которые предъявляют требования к коммерческим лицензиям, магазинам приложений для коммерческого распространения или дорогим IDE. Например, публикация игры для Xbox One от Microsoft сопровождается сборами за страховку, лицензию и рейтинги в тысячах долларов. Для стартапа, планирующего новый проект, затраты могут быть важным фактором. К счастью, PHP - один из самых дешевых языков для разработки. Плата за использование самого языка не взимается. Существует несколько бесплатных редакторов кода, которые поддерживают подсветку синтаксиса и IntelliSense для PHP. А запуск PHP-проекта онлайн стоит так же дешево, как домен за 10 долларов в год и VPS за 5 долларов в месяц, если у вас есть навыки администрирования сервера.
Хотя PHP можно использовать бесплатно, многие компании хотят, чтобы кто-то позвонил, если им понадобится помощь. Основная команда разработчиков PHP в основном состоит из добровольцев. Там нет юридического лица, отвечающего за PHP. Это хорошая вещь, гарантирующая, что PHP не подчиняется прихотям организации, ориентированной на получение прибыли. Однако это создает некоторую неопределенность, когда люди, усердно работающие над новыми выпусками PHP, являются добровольцами, и неясно, насколько это может быть жизнеспособно в долгосрочной перспективе. В одном мы можем быть уверены: над PHP работает много людей из разных слоев общества, и многие другие готовы взять на себя эту роль, если это необходимо; PHP не полагается на одного-единственного человека. Компании, желающие вложить деньги в кого-то, чтобы гарантировать поддержку и стабильность, могут обратиться к таким компаниям, как Zend. Хотя они больше не контролируют сам язык, они по-прежнему предлагают коммерческую поддержку, мониторинг, серверы и многое другое.
Что может быть более важным для получения прибыли, чем способность привлекать клиентов? Некоторые компании, которые позиционируют себя как студии разработки, могут столкнуться с проблемами, связанными со стигматизацией, которую все еще несет PHP. Некоторым клиентам нравится диктовать язык, используемый для их проекта. Я уверен, что я не первый владелец бизнеса, который встречается с потенциальным технически подкованным клиентом и получает скептический ответ, объясняя, что я использую PHP. Однако сосредоточение внимания на том, что может сделать бизнес, а не на том, как он это сделает, может значительно помочь избежать этих проблем. Ничто не доказывает эффективность PHP лучше, чем запуск потрясающего нового проекта для клиента, благодаря множеству преимуществ, описанных в этой статье.
Долгосрочные перспективы
Каждый новый бизнес планирует существовать в течение длительного времени. Выбор инструментов и языков с отличной долгосрочной перспективой очень важен. As развивается на языке, который может свести к минимуму гниение кода с течением времени. Хотя я бы не осмелился утверждать, что PHP является самым лучшим в этом отношении, мы определенно можем считать, что это не вызывает беспокойства. Разработка ядра PHP в настоящее время идет успешно; последние релизы выходят быстро. Основная команда учитывает обратную совместимость, и обновление до новых версий часто бывает простым и никогда не приводит к полной смене парадигмы, как это произошло, когда AngularJS был заменен Angular 2.
Высококачественные пакеты PHP, как правило, довольно стабильны. До сих пор PHP избегал проблемы раздувания node_modules, вызывающей мемы, в JavaScript, что может привести к повреждению кода и проблемам безопасности в зависимостях. PHP также продолжает пользоваться льготным режимом со стороны многих серверных стеков и управляемых провайдеров VPS. Будущее PHP определяется голосованием членов основной команды и сообщества. Учитывая все эти соображения, а также большое, увлеченное сообщество и долгожданные функции, появившиеся в версии 8, будущее действительно выглядит светлым.
Вывод
Выбор языка программирования, на котором будет строиться будущее вашей компании, может стать источником стресса для менеджеров и стартапов. Часто возникает соблазн погнаться за новыми блестящими технологиями, о которых все говорят. В то время как шумиха и новизна имеют свое очарование, разумно глубже изучить это решение. PHP - отличный выбор для компаний, специализирующихся на разработке бэкэнда. Он зрелый, стабильный, популярный, недорогой, с обширным сообществом и богатством талантов и ресурсов. Если вы в последний раз рассматривали PHP пять или более лет назад, взгляните на него еще раз; вы не будете разочарованы.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.