Pull to refresh

Причины выбора Django для разработки сайта

Reading time 2 min
Views 27K
Меня часто спрашивают, почему именно Django стоит использовать для написания сайтов? Почему не ASP.NET, Ruby on Rails, Grails и т.п.? Ниже я кратко опишу свое мнение, и причины, его сформировавшие. Но хочу сразу сказать, что это не сравнительный анализ фреймворков, и я не ставил перед собой цель что-то кому-то доказывать. Это просто перечисление преимуществ и мои мысли о них.

  • Использование Python в качестве языка программирования. Может это не самый идеальный и быстрый язык программирования, однако он достаточно прост с синтаксической точки зрения, что автоматом дает низкий порог вхождения. Ну и в довесок мы имеем всю его мощь метапрограммирования, обширную библиотеку классов, хорошую документацию и достаточно компактный и интуитивно понятный синтаксис.
  • Великолепная документация. Более качественной документации я не встречал в своей работе — множество примеров, объяснений, и самое главное — открытый исходный код, который очень хорошо написан.
  • Встроенный ORM (Object-relational mapper). Конечно, есть более гибкие и мощные библиотеки, обеспечивающие проецирование реляционных данных в объекты, но свои задачи Django ORM решает. Самое главное, что в нем мне нравится — в абсолютном большинстве случаев совершенно не требуется использование SQL-синтаксиса в выражениях, что автоматом снижает риск появления SQL-injection уязвимости.
  • Автоматически генерируемая админка. Это одна из уникальных фич Django, у которой практически нет аналогов. Помимо того, что данная функциональность позволяет значительно сократить время на написание нужного админского интерфейса, она еще и дает возможность клиентам сразу начать работать с сайтом еще на начальных этапах его разработки! Фактически, достаточно набросать нужные модели, и можно сразу показывать сайт клиенту, и уже интерактивно с ним обсуждать бизнес-логику, не отвлекаясь на дизайн.
  • Поддержка MTV (Model-Template-View). Данный паттерн проектирования очень близок к классическому MVC, и самое главное, что он позволяет — это хорошо отделять бизнес-логику от дизайна. Причем, несмотря на то, что многие возмущаются небогатством функциональных возможностей шаблонов Django, я наоборот считаю этот «недостаток» плюсом — программист имеет меньше соблазна залепить всю логику в шаблоны, чтобы потом разбираться со спагетти-проектом.
  • Высокая скорость работы. Несмотря на то, что Python не блещет скоростью, в целом Django работает достаточно быстро. Он может выдерживать высокую нагрузку, плюс имеет встроенные возможности кэширования и распределения нагрузки. Причем для того, чтобы писать на нем очень мощные сайты, не нужно иметь особо высокую квалификацию, не нужно быть гуру, и штудировать кучу форумов и других ресурсов. В довесок хочу привести ссылку на мою статью Django speed, stability and security.

Ну и собственно, вы сами можете составить представление об этом замечательном фреймворке, потратив всего пару часов на туториал.
Tags:
Hubs:
+48
Comments 293
Comments Comments 293

Articles