Что я должен знать при переходе с asp.net на python для веб-разработки? - PullRequest
3 голосов
/ 08 марта 2009

Я думаю о преобразовании приложения из Asp.net в python. Я хотел бы знать: какие ключевые сравнения следует учитывать при переносе приложения asp.net в python (вставка фреймворка)?

Есть ли у python пользовательские элементы управления? Главные страницы?

Ответы [ 3 ]

8 голосов
/ 08 марта 2009

Во-первых, Python - это язык, а ASP.NET - это веб-фреймворк. Фактически, вы можете кодировать приложения ASP.NET, используя IronPython .

Если вы хотите оставить ASP.NET позади и использовать «стек» Python, то вы можете выбрать одну из нескольких различных сред веб-приложений, включая Django и Zope .

Zope, например, предлагает подключаемую архитектуру, где вы можете "добавлять" такие вещи, как вики, блоги и так далее. В нем также есть шаблоны страниц, которые в некоторой степени похожи на главную страницу ASP.NET.

4 голосов
/ 08 марта 2009

Вторую заметку Out Into Space о том, что python - это язык по сравнению с веб-фреймворком; Это важное наблюдение, которое лежит в основе всего, что вы испытаете при переходе с ASP.NET на Python.

В аналогичной заметке вы также обнаружите, что различия в стиле языка и сообществе разработчиков между C # / VB.NET и Python влияют на базовый подход к разработке веб-фреймворков. Это будет то же самое, если вы переходите с веб-фреймворков, написанных на java, php, ruby, perl или любом другом языке.

Старая поговорка «когда у тебя молоток, все выглядит как гвоздь» действительно проявляется в базовом дизайне фреймворков :-) Из-за этого, однако, ты обнаружишь себя с несколькими изменениями парадигмы, которые нужно сделать, когда ты замените этот молоток на отвертку.

Например, веб-фреймворки Python гораздо меньше полагаются на декларативную конфигурацию, чем ASP.NET. Например, в Django есть только один конфигурационный файл, который содержит всего пару десятков строк (как только вы удалите комментарии :-)). Точно так же конфигурация URL и жизненный цикл страницы довольно компактны по сравнению с ASP.NET, но в то же время они так же эффективны. Существует более «соглашение» о конфигурации (хотя и гораздо меньше, чем у Rails) и интенсивное использование факта, что модули в Python являются объектами верхнего уровня в языке ... не все должно быть классом. Это сокращает объем используемого кода и обеспечивает высокую читаемость потока приложения.

Как уже упоминалось в Into Space, шаблоны страниц zope "чем-то" похожи на главную страницу ASP.NET, но не совсем. Django также предлагает шаблоны страниц, которые наследуются друг от друга, и они работают очень хорошо, но не в том случае, если вы пытаетесь использовать их как шаблон ASP.NET.

Существует также традиция пользовательских элементов управления в веб-инфраструктурах Python, таких как .NET. Механизм конфигурирования, косвенность процесса запроса / ответа, сложность обработчика и размер библиотеки кода просто не являются частью ощущения, которое разработчики python имеют для своего набора инструментов.

Мы все утверждаем, что вы можете создать одно и то же веб-приложение, возможно, с меньшим количеством кода и более легко отлаживаемым / поддерживаемым с помощью pythonic-tools :-) Главное преимущество в том, что вы также получаете возможность использовать язык Python, и python-фреймворк, который делает разработчиков Python счастливыми, чтобы идти утром на работу. YMMV, конечно.

Все, что можно сказать, вы обнаружите, что можете делать все, что всегда делали, просто по-другому. Независимо от того, радуют ли вас расхождения или нет, вы определите, является ли веб-среда Python подходящим инструментом для вас в долгосрочной перспективе.

0 голосов
/ 12 марта 2009

Большинство фреймворков для python имеют механизм шаблонов, который обеспечивает аналогичную функциональность главных страниц ASP.NET и пользовательских элементов управления. :)

Спасибо за ответы Out of Space и Джаррет Харди

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...