Шакірова З
Всім розробникам знайоме відчуття, що їм катастрофічно бракує часу. Клієнтам важливо, щоб сайт був не лише якісним та продуктивним, а й швидко написаний.
Оптимізувати процес написання сайтів, збільшити їхню продуктивність, скоротити час, що витрачається на типові завдання, стає можливим завдяки різноманітним фреймворкам. Останнім часом великою популярністю користуються такі веб-фреймворки, як Ruby on Rails та Django.
Обидві мови є повноцінними, багаторівневими фреймворками останнього покоління з відкритим вихідним кодом, що базуються на архітектурі Модель-Представлення-Контролер (Model-View-Controller, MVC). Особливістю MVC є поділ даних програми, інтерфейсу користувача і керуючої логіки на три окремих компоненти: модель, уявлення і контролер. Сховищами даних можуть бути різноманітні СУБД: MySQL, PostgreSQL, SQLite, Oracle, SQL Server. Програмісти віддають перевагу таким веб-серверам, як Apache або nginx. Обидві мови використовуються як для написання стартапів, так і для створення різноманітних бізнес-програм для великого бізнесу.
Я, будучи програмістом, віддала перевагу фреймворку Django. І тому свою статтю я присвячую саме йому.
Фреймворк використовує мову програмування Python. Але при переході на програму Django не потрібно глибоке знання мови. Для вивчення існує чудова документація як англійською, так і українською мовами.
Django побудований на архітектурі MVC, але називають його MTV-фреймворком, де M – Model (модель – рівень доступу до даних), T – Template (шаблон – рівень відображення), View (подання – рівень бізнес-логіки), який є своєрідним мостом від моделей до шаблонів.
Модель реалізується вфайлі models.py. Вона є описом даних у базі і є еквівалентом SQL-коду CREATE TABLE. Django автоматично генерує поле ID для кожної таблиці. Так само, як і під час роботи з будь-якою базою даних, можна створити відносини між таблицями.
Шаблон використовується для відображення сторінок. Тут можна зустріти безліч шаблонних тегів, які спрощують побудову логічних конструкцій, наприклад, або різноманітні фільтри.
View.py служить для реалізації уявлень, які є різноманітними функціями.
У файлі Urls.py записується список усіх URL-адрес сайту, які прив'язуються до обробних функцій.
При створенні програм використовуються динамічні url, які створюються за допомогою регулярних виразів. Такі як (r'^ mysite/news/d+/$', news_id).
Завдяки Django розробник може створювати насичені динамічні програми за короткий проміжок часу, не відволікаючись на написання одноманітного коду, що повторюється. Фреймворк чудово підходить для створення динамічних сторінок.
Одним з головних переваг Django є слабка пов'язаність його компонентів. Наприклад, розробник може змінити URL-адресу сторінки, навіть не редагуючи html-код. Верстальник, дизайнер та програміст можуть працювати незалежно один від одного і вносити поправки, не втручаючись у чужий код.
Усі модулі можна використовувати окремо від усієї системи, передавати із проекту до проекту, підключати готові рішення. Існує безліч готових модулів для додавання до проектів.
Розробники на Django дотримуються принципу DRY (Don't repeat yourself). Програмісти намагаються не повторювати вже використаний код, тому кількість рядків миттєво зменшується.
Процес написання сайтів спрощується завдякивикористання такого потужного інструменту, як успадкування шаблонів. Таке рішення є правильнішим, ніж просте включення коду за допомогою тега . Сенс успадкування полягає у розробці скелетного батьківського та дочірніх шаблонів. Головна сторінка містить загальні розділи і в ній описуються блоки, що перевизначаються в успадкованих шаблонах. Перевизначення стає можливим при додаванні до дочірніх сторінок тега , де index.html - головна сторінка.
Також величезним плюсом цього фреймворку є його стандартна структура. Код систем, написаних на Джанго, підпорядковується певному зведенню правил. Додати нового програміста в проект не завдасть великих складнощів. Дотримуючись певної логіки, йому буде неважко знайти шматок коду, відповідальний за певний функціонал на сайті.
Django надає потужний вбудований інструмент адміністрування. Адмінка Django призначена не для звичайних відвідувачів сайту, а для технічних фахівців для керування даними на базі створених моделей. Файл додавання моделей має назву admin.py. Будь-яка сутність, описана в базі даних, може бути редагована, додана, видалена. Можна легко налаштувати зовнішній вигляд адміністративного інтерфейсу сторінок з помилками (404, 500).
Головним болем багатьох програмістів є забезпечення безпеки їхнього продукту. Django полегшує вирішення цього завдання. Багато вбудованих механізмів не дозволяють застосовувати небезпечні рішення. Django за замовчуванням екранує всі значення перед додаванням до бази, а перед відображенням екранує html-код. За бажанням розробник може вимкнути екранування.
Для великих сайтів дуже важливою є економія ресурсів. Django має вбудовану систему кешування, яка дозволяє зберігати динамічні сторінки так, щорозробникам не потрібно створювати їх для кожного запиту. Є можливість кешувати весь сайт або тільки шматки, що важко обчислюються, або результат роботи подання.
За допомогою Django написано такі популярні сайти, як Instagram, Washington Times, Painterest, Яндекс.Афіша та інші.
Я перерахувала не всі переваги Django, а лише основні. Я вважаю, що перехід до цього фреймворку – правильне рішення. Програміст зможе збільшити продуктивність, безпеку, елегантність сайту за більш стислий термін, ніж при використанні іншої мови веб-програмування.
Бібліографічний список
- Головатий А., Каплан-Мосс Дж. - Детальний посібник (2-е видання) - 2010.