Шакирова З
Всички разработчици познават чувството, че им липсва време. За клиентите е важно сайтът да е не само качествен и продуктивен, но и бързо написан.
Оптимизирането на процеса на писане на уебсайтове, увеличаването на тяхната производителност, намаляването на времето, прекарано в типичните задачи, става възможно благодарение на различни рамки. Напоследък такива уеб рамки като Ruby on Rails и Django са много популярни.
И двата езика са пълноценни, с отворен код, многослойни рамки от последно поколение, които са базирани на архитектурата Model-View-Controller (MVC). Характеристика на MVC е разделянето на данните за приложението, потребителския интерфейс и контролната логика на три отделни компонента: модел, изглед и контролер. Хранилищата за данни могат да бъдат различни СУБД: MySQL, PostgreSQL, SQLite, Oracle, SQL Server. Програмистите предпочитат уеб сървъри като Apache или nginx. И двата езика се използват както за писане на стартиращи фирми, така и за създаване на различни бизнес приложения за големи фирми.
Тъй като съм програмист, предпочетох Django framework. Ето защо посвещавам статията си на него.
Рамката използва езика за програмиране Python. Но когато преминава към Django, програмистът не се нуждае от задълбочени познания на езика. Има отлична документация за обучение, както на английски, така и на български език.
Django е изграден върху MVC архитектурата, но я наричат MTV framework, където M е Model (model - слой за достъп до данни), T - Template (template - дисплей слой), View (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 (не се повтаряйте). Програмистите се опитват да не повтарят вече използвания код, така че броят на редовете моментално намалява.
Процесът на писане на уебсайтове е опростен благодарение наизползвайки такъв мощен инструмент като наследяването на шаблони. Това решение е по-правилно от простото включване на кода с помощта на етикета. Смисълът на наследяването е да се разработят скелетни родителски и дъщерни шаблони. Главната страница съдържа общи раздели и описва блокове, които са заменени в наследените шаблони. Замяната става възможна при добавяне на маркера към дъщерни страници, където index.html е главната страница.
Също така огромен плюс на тази рамка е нейната стандартна структура. Кодът на системите, написан на Django, се подчинява на определен набор от правила. Добавянето на нов програмист към проекта няма да създаде много трудности. Следвайки определена логика, няма да му е трудно да намери част от кода, отговарящ за определена функционалност на сайта.
Django ни предоставя мощен вграден инструмент за администриране. Административният панел на Django не е предназначен за обикновени посетители на сайта, а за технически специалисти, които да управляват данни въз основа на създадените модели. Файлът за добавяне на модели се нарича admin.py. Всеки обект, описан в базата данни, може да бъде редактиран, добавен, премахнат. Можете лесно да персонализирате външния вид на административния интерфейс, страниците за грешки (404, 500).
Главоболието на много програмисти е да осигурят сигурността на своя продукт. Django прави тази задача лесна. Много вградени механизми предотвратяват прилагането на несигурни решения. Django по подразбиране избягва всички стойности, преди да ги добави към базата данни, и избягва html кода, преди да ги покаже. Ако желаете, разработчикът може да деактивира екранирането.
За големи сайтове спестяването на ресурси е много важно. Django има вградена система за кеширане, която ви позволява да запазвате динамични страници, така черазработчиците не трябва да ги създават за всяка заявка. Възможно е да се кешира целия сайт, или само трудни за изчисляване части, или резултатът от изгледа.
Популярни сайтове като Instagram, Washington Times, Painterest, Yandex.Afisha и други са написани с помощта на Django.
Не съм изброил всички предимства на Django, а само основните. Вярвам, че преминаването към тази рамка е правилното решение. Програмистът ще може да повиши производителността, сигурността, елегантността на сайта за по-кратко време от използването на друг език за уеб програмиране.
Библиографски списък
- Головати А., Каплан-Мос Дж. - Изчерпателно ръководство (2-ро издание) - 2010 г.