Світ сучасної розробки переповнений мовами програмування — з перевагами та недоліками. У цій статті поговоримо про дві серверні мови: php проти python. Обидві підходять для Back-end і Full-stack веб-розробки.
👉 Веб-розробка — це не тільки сайти. Ще онлайн-сервіси для музики, ТБ, інтернет-магазинів. І навіть онлайн-ігри.
PHP для веб-розробки
Мову використовують із 1995 року. Тоді у розробників був обмежений вибір інструментів для сайтів. Не було такої мови, де можна самостійно прописати вміст і керувати діями користувачів на сайті. PHP вирішив проблему.
PHP (англ. Hypertext Preprocessor) спочатку створювався для веб-додатків, але еволюціонував у мову загального призначення.
👉 Сленгова назва — ПХП.
Особливості мови
Мова програмування тісно працює з розміткою HTML. Шлях скриптів вбудовується в документ. Подивіться на приклад — де і як реалізована форма.
Атрибут action="handler.php" вказує: у розмітку сайту вставляємо скрипт із файлу, зазначеного в атрибуті action.
А тепер подивіться на скрипт із нашого файлу handler.php на прикладі продуктової крамниці:
Вгорі написано те, що потрапить на сайт: фрукти, овочі, ягоди. Це змінні. Щоб додати в скрипт, потрібно прописати значок $.
У першому рядку echo відповідає за виведення скрипта на сайт. Що написано далі — залежить від завдання скрипта.
У PHP хороший інтерпретатор — якщо скрипт написаний з головними правилами кодування мови, інтерпретатор зчитує і подає на сайт. Тому PHP змушує працювати навіть погано оптимізований код. Новачок зможе написати першу працюючу програму за кілька днів. А основи мови вивчить за перші тижні практики.
Де використовується
PHP — це серверна мова програмування. Тобто, працює тільки з сервером: не впливає на дизайн сайту, стилі або розмітку HTML (крім того, що вбудовується в документ). Програми на PHP отримують дані від користувачів сайту, обробляють, взаємодіють із базами даних, повертають на сайт оброблену інформацію.
З PHP можна збирати сторінки сайту по блоках. Уявімо будь-який сайт. Він складається з верхньої і нижньої панелей навігації - header і footer, а також основної частини — весь контент: блоки, картки тощо.
Уявімо, що на сайті панелі навігації однакові — як у більшості в Інтернеті. З PHP можна написати скрипт-модуль, який виведе блок на сайт. У тіло сторінки ми не будемо писати довгий код для header, а вставимо модуль PHP. З Php вистачить посилання. А виведення модуля напишемо окремим скриптом. Один на всі сторінки.
На PHP написані популярні CMS Wordpress, Joomla — це системи управління контентом: можна створювати сайт з нуля: вигадувати Back-end і Front-end, зберігання даних на сервері. А можна прописати ті самі частини в конструкторі, на готових блоках. Для цього й існує CMS.
Якщо розміщувати сайт на хостингу, то він уже буде з підтримкою мови PHP. Для підтримки інших потрібно підключати розширення.
❌Проблеми PHP залишилися у 2000-х
У мови було кілька недоліків, від чого в деяких статтях пишуть: мову не використовують і вважають безперспективною.
👉 Низький поріг входу. Поганого коду у 2000-х було дуже багато. Тому було важко підтримувати сайт, зчитувати код самостійно або передавати іншому програмісту. А інтерпретатор не давав побачити помилок: код працює — отже, все нормально.
Так було раніше. Зараз розробники PHP випускають оновлення. Остання версія 8.1.1, а всі старі перестають підтримувати.
👉 Змішаний код. Працювати всередині HTML-документа можна було лише на невеликих проектах. Наприклад, якщо додавати одну форму зворотного зв'язку. А якщо таких форм на документ 10 або 20? І на 20 сторінках? Знайти все у великому HTML-документі стає важко.
Зараз користуються фреймворками. Вони роблять частину роботи за програміста: наприклад, дають готові бібліотеки з кодом, який можна підлаштувати під завдання проекту.
Рейтинги PHP
Незважаючи на недоліки та складнощі, мова справляється з розробкою сайтів. Тому не втрачає рейтингів серед програмістів.
За індексом TIOBE PHP посідає 9-те місце за 2022 рік. Прогнозують, що в 2023 році ситуація не зміниться.
👉(Рейтинг TIOBE розраховується за кількістю запитів у пошукових системах) Враховують усі ніші: бекенд, веб-розробка, додатки.
Більш глибоке дослідження проводять на GitHub. Щороку перевіряють популярність серед розробників на платформі Git.
Наразі мова на 6-му місці, сильно не втративши в рейтингу. (Джерело: Звіт Гітхаб за 2022 рік).
Ким можна працювати
PHP-розробка цінується в компаніях, де працюють із сайтами та CMS. Шукайте роботу з Wordpress, Joomla, Drupal та іншими конструкторами.
Можна піти Back-end розробником або Full-stack у компанію з розробки сайтів.
Вам знадобляться знання HTML\CSS, JavaScript. Це мінімум, який вказують у вакансіях. Далі — фреймворки PHP, щоб автоматизувати роботу та випускати код швидше.
Чим займатися:
-
Розробляти плагіни для CMS.
-
Підтримувати сайти на Wordpress, Joomla.
-
Підтримувати сайти власної збірки, якщо використовували PHP.
Скільки платять на українському ринку. Зарплата до рівня Middle — 2-3 тисячі доларів.
З чого почати
У PHP багато ресурсів із застарілою інформацією. Вони не враховують контекст і час розробки. Радимо починати з великих спільнот: PHP The Right Way (з рос. локалізацією), стандартів коду типу PSR. Розробники можуть вчитися, рости, а мова ставатиме потужнішою і зручнішою. А якщо будуть питання — можна поставити в чатах PHP Community.
Або піти на курс «Розробка програмного забезпечення», де навчать працювати як з PHP, так і з загальною методологією. Останнє допоможе переходити на будь-яку із сучасних мов, не втрачаючи часу. Наприклад, перейти із PHP на конкурента — python.
Python для веб-розробки
Мова програмування зараз скрізь. Її люблять і шанують, знімають відео на Youtube, пишуть сайти, чат-ботів, парсери та інший софт. Але чим вона сподобалася користувачам?
Особливості мови
Чистий синтаксис. Перше, що відзначають розробники в Python - акуратність коду. Немає складних функцій, незрозумілих новачкові описів. Щоб написати блок - використовуються відступи і пробіли. Англійської достатньо на рівні алфавіту і простих слів.
Простота коду. Порівняйте довжину коду Пітона і Java. На зображенні приклад — вивантаження тексту з файлу.
Інструменти розробника. Писати програми на чистому коді довго. Щоб спростити завдання, придумали готові шаблони — бібліотеки (фреймворки). У пайтона їх багато і під різні завдання.
👉 Для веб використовують Django і Flask — сайти, додатки (наприклад, Pinterest, YouTube і Instagram написані на Django).
Є ще бібліотеки для робототехніки, машинного навчання, мобільних і браузерних ігор.
Де використовується
Наявність бібліотек і простий синтаксис дає змогу робити на Python будь-що. Можна податися у веб-розробку або писати програми для сервісів. Мова інтегрована з Java, C і C++. Якщо додаток написаний на Пітоні, його не потрібно щоразу переписувати іншою мовою.
Які сервіси та сайти написали з підтримкою Python:
Pinterest — використовує Пітон з моменту старту сервісу. Також Django для фреймворків, щоб розробнику було простіше покращувати додаток.
Netflix — працює на сайті, у застосунку для телевізора або ПК. Сервісу потрібно бути завжди і всюди, щоб пропонувати нове глядачам і не втрачати перегляди. У цьому допомагає Python. Ним пишуть алгоритми рекомендацій і програми для машинного навчання.
Google — додав Python до списку використовуваних мов. Приклад - Google App Engines. Сервіс відповідає за підключення функцій системного адміністратора.
👉 Пишуть і скрипти для ігор. Наприклад, Civilization 4 і останні ігри серії The Sims частково написані на Пітоні.
Рейтинги Python
Популярність мови програмування зростає щороку. За індексом TIOBE — 1-е місце у 2022 році.
За дослідженням GitHub — 2-ге місце на 2022 рік.
Чому так? Мова гнучка, тому затребувана скрізь: нею пишуть скрипти для сайтів, роблять онлайн-додатки. Для порівняння: PHP зараз затребуваний для веб-проектів, на кшталт блогу на CMS або інтернет-магазину.
👉 Але PHP використовує 80% сайтів. Їх збирають на Wordpress, Joomla та інших CMS. Кожен третій сайт — на Wordpress. Їх потрібно підтримувати, додавати скрипти і покращувати код.
Ким можна працювати
Якщо ви знаєте Пайтон і основи веб-розробки (HTML\CSS + JavaScript) — можна влаштуватися веб-розробником у компанію: підтримувати сервери, налаштовувати машинне навчання.
Часто розробники Python гнучкі в завданнях. Вони не зупиняються на вебі, а програмують скрипти додатків, сервіси, ботів. Знати потрібно як мову, так і фреймворки, якщо ви будете в кількох нішах.
Скільки платять на українському ринку. На стажуванні пропонують до 700$. З досвідом роботи в 1-2 роки можна претендувати від 2000$.
З чого почати
На онлайн-курсі «Розробка на Python» можна отримати поглиблені знання та нову професію. Хороший варіант, якщо ще не вибрали нішу розробки. Одним подобається веб, інші йдуть у програмування ботів.
Можна почати з офіційного сайту мови Python з документацією та прикладами коду. Або прочитати книгу Марка Лутца «Вивчаємо Python» — написана просто, якраз для новачків.
Висновок - що для чого підійде
PHP підійде для односторінкових сайтів, інтернет-магазинів, блогів. Простий код, інтерпретатор допомагає новачкові написати перші робочі скрипти. Популярний Wordpress написаний на PHP — із сайтами доведеться працювати ще не один рік, поки конструктор користується попитом.
👉 Якщо вам важлива швидкість розробки та підтримка CMS — вчіть PHP.
У Python простий синтаксис і логіка. Для вивчення вистачить англійської на рівні A2-B1 (використовуються англійські літери, а документацію можна читати з перекладачем). Щоб запустити перший скрипт, доведеться витратити менше часу - код чистий і його простіше писати, ніж PHP або Java.
Python не затребуваний для сайтів на CMS. Його використовують у складніших системах: онлайн-сервісах, на кшталт Netflix або Pinterest.
👉 Якщо потрібно працювати з веб-сервісами або сайтами без підтримки конструкторів — вчіть Python з фреймворками Django і Flask.