Почнемо з того, чим взагалі займається backend-програміст. Він створює скрипти, які виконуються на стороні сервера. Область його роботи - отримання даних від сайту, їх обробка та підготовка до повернення користувачеві. Якщо потрібно, то звернення до бази даних.
Іншими словами, backend-розробка - це отримання інформації, її запис в базу і повернення даних на сайт, де вони будуть представлені користувачеві засобами Frontend.
Як виглядають Frontend і Backend насправді
Що повинен знати і вміти backend-розробник
- Володіти мовою програмування, наприклад PHP.
- Працювати з базою даних, наприклад MySQL.
Цього достатньо для початківця програміста. Надалі підключається робота з чергами через Cron. Він запускає скрипти за розкладом: раз в хвилину, день або місяць. Так як більше 70% сайтів в інтернеті написано на PHP, ми розповімо про інструменти веб-розробки саме на цій мові.
Веб-сервер
Backend-розробник повинен розгорнути на комп'ютері веб-сервер, щоб тестувати свій код. Організація локального сервера можлива в трьох варіантах.
1. Поставити «чисті» PHP, Apache і MySQL самостійно з нуля або застосувати готові пакети - Xampp , Denwer і інші.
Така збірка працює в системі розробника і сприймається програмним оточенням як локальний сервер.
2. Скористатися Vagrant.
Це віртуальна машина з широкими можливостями. Фізично Vagrant знаходиться на комп'ютері, але сприймається не як локальний сервер. Розробник підключається до нього не по localhost, а по іншому IP, який він сам і прописує.
Vagrant не залежить від системи: беремо цю збірку, переносимо на іншу машину, і все працює в тому ж режимі. Це більш гнучке і зручне рішення для організації веб-сервера.
3. Використовувати Docker.
Docker - унікальна і універсальна програма в області віртуалізації. Вона використовує систему образів для зберігання файлів, завдяки чому процеси операційної системи запускаються ізольовано один від одного. Веб-сервер сприймається програмним оточенням як такий, що знаходиться в хмарі, а не на фізичній машині.
Програми для створення коду
Код пишуть де завгодно, навіть в блокноті. Однак для зручності придумані системи, де працює автопідстановка, можна займатися дебагом і використовувати масу інших можливостей. Така програма називається IDE - інтегроване середовище розробки, або редактор коду.
Для роботи з PHP рекомендуємо дві IDE:
1. NetBeans
Основна перевага - це безкоштовна система. Однак NetBeans з'їдає багато пам'яті під час роботи і не такий прогресивний, як редактор нижче.
2. PhpStorm
Дуже зручний інтелектуальний редактор від компанії JetBrains. Володіє відмінною автопідстановкою і просунутою системою семантичного аналізу. Програміст допустив помилку - аналізатор тут же показує, де саме. Незамінний інструмент для веб-розробника на PHP.
Недолік PhpStorm тільки в тому, що він платний: можна оформити підписку за $ 199 на рік. Через 12 місяців остання версія залишається у вас назавжди, але оновити її без оплати нового періоду не вийде.
Робота з базою даних
MyAdmin - стандартне рішення для цих цілей, але не найзручніше. По-перше, він запускається в браузері, і з'єднання іноді переривається через таймаут. По-друге, він частенько видає збої і не може похвалитися гнучкістю.
Радимо два варіанти, що перевершують MyAdmin за характеристиками:
- SQLyog.
- Navicat.
Вони однакові в можливостях і якості, так що при виборі відштовхуйтесь від зручності використання. Хіба що Navicat підтримує більше баз даних, ніж SQLyog, але це важливо не всім.
Тестування API
Будь-який backend-розробник зіткнеться з тестуванням API. Для цього потрібні запити PUT, DELETE, PATCH і POST. Протестувати їх роботу неможливо через командний рядок. Доводиться писати запити в коді PHP і використовувати CURL, що займає багато часу і створює зайві проблеми.
Радимо програму Postman, де тестування максимально комфортне. Просто вбивайте URL і параметри, і відповідь повернеться в трьох форматах: як запит виглядає на сайті, в JSON і в текстовому вигляді. Postman неймовірно зручний і дуже полегшує розробку API.
Програми для версіонізації
Щоб не стикатися з проблемою випадкового видалення шматків коду, програмісти використовують версіонізатори. А ще вони допомагають команді без проблем працювати над одним функціоналом спільно.
Часто вибирають систему контролю версій Git без графічної реалізації. Однак працювати через командний рядок незручно і клопітно, тут занадто багато нюансів і проблем. Наприклад, конфлікти, що виникають при злитті файлів, набагато краще вирішувати в графічному інтерфейсі, ніж в консолі.
Рекомендуємо три системи:
1. GitKraken - платна програма. Призначена для Ubuntu і macOS.
2. Tortoise - варіант для Windows, права рука backend-розробника.
3. Ще одне рішення кроссплатформенного версіонізатора - програма від Atlassian.
Компанія пропонує кілька передових і надійних продуктів для розробки, підтримки, управління кодом і робочими завданнями - не тільки технічними. Саме для роботи з Git є безкоштовний клієнт Sourcetree. Його вибирають, якщо з яких-небудь причин GitKraken і Tortoise не підходять.
Інтерфейс клієнта Sourcetree від Atlassian
Репозиторій для зберігання даних
Опціональний інструмент - хмарний репозиторій. За допомогою нього зберігають дані не у себе на комп'ютері, а в хмарному сервісі. Програміст закоммітив файли через версіонізатор, відправив в хмарне сховище, пересів за інший комп'ютер, скачав і продовжив розробку. Зручно, гнучко і мобільно.
Пропонуємо три кращих сховища на вибір:
- Bitbucket - безкоштовно для команд з п'яти розробників. Для зростаючих і великих компаній є варіанти по 2$ і 5$ в місяць за одного користувача відповідно.
- GitLab - безкоштовно з обмеженими можливостями. Платні тарифи починаються від 4$ за користувача щомісяця.
- GitHub - мабуть, найбільший і відомий сервіс для спільної розробки. Безкоштовний для проектів з відкритим вихідним кодом і пропонує платні тарифи для корпоративних команд.
Висновок
Ми перерахували основні інструменти в стеці технологій для backend-розробки на PHP.
0 комментариев
Добавить комментарий