От автора: если бы не было фреймворков, большинство сайтов не были бы созданы или до сих пор создавались бы. Эти наборы инструментов позволяют делать приложения быстрее и качественнее. С другой стороны, фреймворк может таить в себе определенную опасность, о чем тоже поговорим сегодня. Django разработка веб приложений на Python — одна из тем, которая интересует веб-программистов больше всего, ведь это самая частая комбинация фрейма и языка программирования. Если хотите создавать по-настоящему серьезные продукты — без этих знаний никак.
Python — отличный выбор веб-разработчика
Одним из наиболее распространённых языков программирования для веб-разработки является Python, который в просторечии обрел название «Питон». Его нельзя назвать чистым веб-языком, как, скажем, PHP. Это универсальный и высокоуровневый PL, на котором можно создать все: от калькулятора до больших монолитных приложений. Его применение в веб обусловлено тем, что с его помощью создавать нетрудно и быстро. Ну, а если сравнивать с PHP, то синтаксис в нем более простой, с упором на широкую функциональность.
Одной из сильных сторон «Питона» для веб-разработки является наличие высокофункциональных библиотек. Здесь средства для работы с интернетом, XML-файлами и прочим. Ну, а инструменты для взаимодействия с различными операционными системами позволяют писать приложение под любую современную «ось». Также у Python есть средства для того, чтобы написанный вами код заработал быстрее даже без использования сторонних оптимизаторов. Два модуля — «profile» и «timeit» — дают возможность для расчета времени работы программы, чтобы впоследствии создать вариант, который будет выполняться быстрее всего.
По мощности язык часто сравнивают с Java, Perl и Ruby. Как и Python, эти языки подходят для объектно-ориентированного программирования и используются в веб-разработке. Так же, как и на JavaScript, на Питоне можно создавать пользовательские сценарии. Язык столь функционален, что некоторые апологеты создают веб-приложения исключительно на Python. Он широко используется в веб-разработке компанией Google и Facebook. К примеру, веб-версия Instagram создана полностью на «Питоне», в то время как для мобильных приложений он подходит не очень хорошо. Для Python характерно использование больших ресурсов и сравнительно медленное выполнение кода. Для ускорения языка предпринят ряд решений, большинство из них — успешные. Одним из них является использование фреймворка.
Прогрессивные работают через фреймворк
Когда вы работаете с языком программирования на уровне «Hello, World!», сложно представить, что такое фрейм, и для чего он нужен. Что ж, пора познакомиться с этим явлением, так как дальнейшее развитие вряд ли возможно без этих помощников программиста.
Фреймворки — это наборы для работы с программным кодом. Они одинаково популярны как в веб-разработке, так и в создании программного обеспечения. Это своеобразный каркас, который ставит в определенные рамки. Не то чтобы они существенно снижают гибкость кодинга — скорее, помогают меньше ошибаться.
Основными преимуществами использования фреймворков программисты называют:
оптимизацию труда. Как только вы освоили фреймворк (а это непросто: нужно понять, как мыслил программист, который создавал «каркас»), все становится проще. С виду сложные, программы создаются быстро. Но до этого мастерства быстрого кодинга в веб-разработке нужно идти годами;
сухость и чистота. Звучит не очень, но именно так характеризуют код, написанный с применением фреймворка. Он не содержит «двойных истин» и не требует последующей переработки.
Но и здесь не обошлось без трудностей. Первая в том, что, работая долгое время с конкретным фреймворком — допустим, с Django (о нем ниже) — вы затачиваете мышление под фрейм. Как только вы придете в компанию, которая реализует Python через Flask, придется переучиваться, причем не день и не два. Но, в целом, это не критично. Более весовым аргументом является безопасность. Если злоумышленник знает, какой фрейм вы использовали, то, по сути, понимает, как построено приложение, и может нанести ущерб.
Джанго — против «мокрого» кода
Одним из наиболее распространённых фреймворков для Python в плане веб-разработки является Django. Тот «Питон», который применяют компании Google и Facebook, тоже реализован на Django, как и большинство других веб-проектов.
Django хорош для веб-программирования тем, что следует принципу DRY. Это означает написание кода, который не повторяет сам себя. Если вы учились программированию, то понимаете, о чем идет речь. Один и тот же процесс можно описать по принципу DRY (don’t repeat yourself) и WET (we enjoy typing). Для быстродействия и удобочитаемости намного лучше писать короткий код, который не будет повторяться. К тому же, редактировать функции программы впоследствии будет легче. Именно потому Django является выбором №1 для веб-разработки.