LINUX.ORG.RU

Вышел web.py 0.3

 , ,


0

0

6 декабря вышла новая версия 0.3 легкого веб-фреймворка web.py, а уже 10 декабря версия 0.31. Список изменений:

  • print заменен на return, что привело к несовместимости с версией 0.22
  • application framework изменен на новый.
  • модульная система работы с базами данных (несовместимая со старой)
  • новый отладочный режим
  • улучшена поддержка unicode
  • переписан код для работы с шаблонами
  • поддержка сессий
  • поддержка openid
  • совместимость с python 2.6
  • и другие изменения, о которых можно узнать по ссылке к новости.

web.py написан на языке Python и используется рядом крупных компаний, в числе которых watchdog.net, yandex.ru и многие другие, о которых можно прочитать на сайте http://webpy.org. К достоинствам данного фреймворка можно отнести простоту обучения, гибкость и удобную систему привязки URL к обработчикам.

>>> Подробности

★★

Проверено: Shaman007 ()

[Насиловать труп] Re: Вышел web.py 0.3

Из лёгких веб-фреймворков лучше всех Werkzeug. Только никто не может осилить название, вот и не пользуются. Это не шутка.

ero-sennin ★★
()

> print заменен на return, что привело к несовместимости с версией 0.22

Я один не понимаю - как нужно было писать, чтобы print и return можно
было заменить?

GlorySmith
()
Ответ на: комментарий от anonymous

webpy тоже ничего. с вебом не работаю, но несколько простых страничек на нем делал - очень удобно! веркцойг посмотрю, спасибо

val-amart ★★★★★
()
Ответ на: комментарий от GlorySmith

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

val-amart ★★★★★
()

Я не очень много им пользуюсь, но дома на NSLU2 крутится несколько полезных вещей. Для этого web.py рулит.

rymis ★★
() автор топика

а я вот пока и Pylons считаю достаточно "лёгким" :) Пробовать что то ещё пока не тянет....

stalkerg ★★★★★
()
Ответ на: комментарий от stalkerg

Пилоны подавали большие надежды, но это было с год назад... С тех пор проект особо не сдвинулся с тогдашнего состояния. Да и с документацией у него туго.

Мой выбор сегодня: sqlalchemy, jinja2, babel и werkzeug.

anonymous
()

прочитал как веб.ру вместо веб.пи, наверно нада лечиццо

Капча "Родили"(roodily) помойму полностью описывает состоянине нынешнего софтпрома:)

Khades ★★
()
Ответ на: комментарий от thevery

>>несовместимая со старой

>питонщики в своём стиле, ага))

Скорее это явисты в своем.

tailgunner ★★★★★
()
Ответ на: комментарий от val-amart

Я как бы догадался...:))
Я написал это к тому, что если ты вызываешь какой-то объект, то
ничего никуда он печатать не должен. Он может только возвратить
тебе какие-то данные. Иначе теряется вся логика ООП.
Т.е. писать с использованием print идиотизм с самого начала...:))
Рад, что разработчики вовремя одумались...:)

GlorySmith
()

Nanoc наше фсио!

anonymous
()

документация на сайте:

>> Поддержка URL


>> Самая важная часть \\\\любова//// файла это структура его URL.


и так далее...

vovans ★★★★★
()
Ответ на: комментарий от thevery

Никто не заставляет переходить на версию 0.3, но в любом случае переход будет достаточно простым. А то что в проекте появляются новые идеи - это очень хорошо.

rymis ★★
() автор топика
Ответ на: комментарий от GlorySmith

Печатать экономичнее по памяти, по всей вероятности именно это было главным аргументом в пользу такого подхода. Сейчас передумали, но оба подхода имеют право на жизнь, цель не ООП, а простой, понятный API.

rymis ★★
() автор топика
Ответ на: комментарий от vovans

и ещё постоянные "Преведы" в документации порядком раздражают. Как-будто на каком-то удафф-коме находишься.

vovans ★★★★★
()
Ответ на: комментарий от vovans

>и ещё постоянные "Преведы" в документации порядком раздражают. Как-будто на каком-то удафф-коме находишься

читай на английском или кто-то мешает?

dimon555 ★★★★★
()

Неделю назад начал писать небольшой проект. Из питоновских фреймворков выбрал Django. Не понимаю я, что значит эта "лёгкость". Лёгкость написания? Так в джанге она присутствует, даже более чем. Лёгкость в смысле нетребовательность к ресурсам? Так джанга и так быстро обрабатывает request и отдаёт response. Подозреваю, что "лёгкость" - это ограниченность по функционалу и отсутствие многих фич, которые идут из коробки. Вот в этом я согласен - тут джанга совсем не "лёгкая". Пишу на ней уже два года и до сих пор открываю для себя совершенно новые вещи.

anonymous
()
Ответ на: комментарий от dimon555

в общем-то, после прочтения всяких медведов и клёвых адресов я и открыл английский вариант текста. Лучше никакого перевода, чем такой.

vovans ★★★★★
()
Ответ на: комментарий от anonymous

Разработчики джанги - велосипедисты грандиозные.

У нее нет ни одной внешней зависимости. Это и хорошо и плохо.

anonymous
()
Ответ на: комментарий от anonymous

А что в этом плохого? Они же не переписывают заново готовые библиотеки, а просто адаптируют их как теги/фильтри/мидлвари. Это охрененно для разработки реальных проектов - залил джангу, залил проект и всё работает. С версии 1.0 она вообще сказкой кажется. Жаль не всегда получается писать именно на ней, не от меня зависит.

anonymous
()
Ответ на: комментарий от anonymous

Нихрена они не адаптируют, они пишут свое. Девелоперы джанги кричат во всю глотку про KISS и DRY, а на деле джанга сама этим принципам следует далеко не во всем.

> Это охрененно для разработки реальных проектов - залил джангу, залил проект и всё работает.

Как вариант - установил яйцо с проектом с пом. easy_install, он стянул нужные зависимости. Все довольны, все смеются.

> С версии 1.0 она вообще сказкой кажется.

А вот это говорит о том, что опыта реальной работы с ней мало. Ну или просто кроме нее ничего не видел. Я тебе с позиции своего годового опыта работы с ней заявляю - у нее множество недостатков. И главный - она поедает неокрепший моск молодых девелоперов :(

anonymous
()
Ответ на: комментарий от anonymous

> Нихрена они не адаптируют, они пишут свое.

False

> Как вариант - установил яйцо с проектом с пом. easy_install, он стянул нужные зависимости. Все довольны, все смеются.

Иногда такое приходиться в проекте использовать, что яйца не катят.

> А вот это говорит о том, что опыта реальной работы с ней мало. Ну или просто кроме нее ничего не видел. Я тебе с позиции своего годового опыта работы с ней заявляю - у нее множество недостатков. И главный - она поедает неокрепший моск молодых девелоперов :(

Бред сивой кобылы. Есть у неё недостатки, это не секрет. Но по сравнению с другими фреймворками она - просто образец. Кстати, проблемы с джангой возникают в основном у людей, которые пользуются ею недолго и просто не знают, как делается правильно. Со временем начинаешь проектировать приложение таким образом, что бока не вылазят.

anonymous
()

>>> К достоинствам данного фреймворка можно отнести простоту обучения, гибкость и удобную систему привязки URL к обработчикам.

Уважаемый Румус!

А чему может научится этот (хун-)Вэбпай? У его, что есть искусственный интеллект?

anonymous
()
Ответ на: комментарий от anonymous

>>>> К достоинствам данного фреймворка можно отнести простоту обучения, гибкость и удобную систему привязки URL к обработчикам.

>Уважаемый Румус!

>А чему может научится этот (хун-)Вэбпай? У его, что есть искусственный интеллект?

Хорошо они урлы только к "обработчикам", а не к "разработчикам" привязали, а то заболело бы у этих бедняг.

anonymous
()

Следил я за этим web.py, большенство коммитов это пилёж очередного супер темплейт движка. Нафиг оно надо?:)

redbaron ★★
()

> print заменен на return, что привело к несовместимости с версией 0.22

Интересно, к какой версии они догадаются использовать yield?

ero-sennin ★★
()
Ответ на: комментарий от anonymous

"Нелёгкость" джанги происходит прежде всего от сильной завязанности её компонентов друг на друга. Формы и админка сильно связаны с джанговским ОРМом, многие компоненты несут с собой свои шаблоны, поэтому сторонний ОРМ и сторонний шаблонизатор в джанговском проекте использовать мало кто отваживается. Короче, пока хватает искоробочного функционала, жить с джангой легко и приятно, но как только захочется странного - всё, приехали, надо либо её патчить, либо выдумывать дикие хаки. А если ещё и админкой джанговской не пользуешься, то вообще недоумение: зачем переделывать этот комбайн на гоночный автомобиль, если можно взять готовый автомобиль. Тут и начинаешь задумываться о Werkzeug и подобных штуках.

Ну и да, шаблоны джанговские пора убить насмерть, из всех компонентов они самые кривые, тормозные и неудобные. А рядом с аналогами их даже ставить стыдно.

ero-sennin ★★
()
Ответ на: комментарий от anonymous

> проблемы с джангой возникают в основном у людей, которые пользуются ею недолго и просто не знают, как делается правильно. Со временем начинаешь проектировать приложение таким образом, что бока не вылазят

Бугога. Это именно то закостенение мозга, о котором я говорил.

А я, например, хочу сам решать, какую декомпозицию применять для проекта. Я считаю, что мне лучше знать, что в моем проекте должно быть модулем, а что пакетом. И я ненавижу, когда меня заставляют делать так, как хотят разработчики фреймворка.

Я знаю не по наслышке о best practices в джанго. И я не против самого по себе их наличия. Но когда приходится сделать нечто, отличающееся от my_cool_app.views.hello_world - начинаются проблемы. И с моделями, и с формами, и с шаблонами, и с системой настроек... Решаются эти проблемы как правило зарыванием в исходники джанги, ибо документация описывает только публичный API, а не внутренний дизайн.

капча shamers какбе говорит, что разработчики джанги смущены.

anonymous
()
Ответ на: комментарий от anonymous

Никто не мешает поддерживать и yield, и return одновременно, как в CherryPy.

Тем более, что с return все начут делать так:

class hello:        
    def GET(self, name):
        response = []
        response.append(чего-то там)
        response.append(ещё чего-то)
        for line in in [тут много всего]:
            response.append(line)
        return ''.join(result)

Уж лучше yield, чем такое.

Хотя с шаблонизатором это особого значения не имеет, наверно.

ero-sennin ★★
()
Ответ на: комментарий от ero-sennin

Я сейчас работаю с джангой без джанговского ОРМ, сессий и админки. Суюрприз?
По поводу шаблонов - срочно умертви себя. Шаблоны в джанге одни из самых быстрых, а по удобству я им равных не видел.

anonymous
()
Ответ на: комментарий от ero-sennin

А в чем проблема с таким кодом?

anonymous
()
Ответ на: комментарий от anonymous

> Я сейчас работаю с джангой без джанговского ОРМ, сессий и админки. Суюрприз?

А чему ж ты тогда радуешься? Чем без орм, сессий и админки она хороша вообще?

> По поводу шаблонов - срочно умертви себя. Шаблоны в джанге одни из самых быстрых, а по удобству я им равных не видел.

Для тех, кто слаще морковки не пробовал... Некоторые вон орут, что виндовс хр - лучшая ОС, придуманная человечеством...

anonymous
()
Ответ на: комментарий от anonymous

> И я ненавижу, когда меня заставляют делать так, как хотят разработчики фреймворка.

Дорогой мой начинающий разработчик! Советую ознакомиться с идеологией такого понятия как "фреймворк". Эта штука изначально подразумевает тот факт, что ты будешь под него подстраиваться, а не наоборот. Это везде так - в .NET, в Qt, в Symphony - в любом объёмном фреймворке независимо от его назначения. Теперь, когда ты ознакомился с этой великой тайной, можешь со спокойной душой лабать дальше.

anonymous
()
Ответ на: комментарий от anonymous

> А чему ж ты тогда радуешься? Чем без орм, сессий и админки она хороша вообще?

Почему без? Я использую сторонние компоненты. Они вполне себе прилично вписались. Хотя конечно с монолитной джангой работать намного приятней.

> Для тех, кто слаще морковки не пробовал... Некоторые вон орут, что виндовс хр - лучшая ОС, придуманная человечеством...

Ну поведай же мне пример охренительных шаблонов, которые по параметрам скорость/удобство делали бы джанговские.

anonymous
()
Ответ на: комментарий от val-amart

> ты невкурсе просто. в вебпай ты создаешь обьекты, реализующие отдельные странички. методы пост и гет должны делать ретурн тех данных, что будут отправлены в браузер. в ветке 0.2.х нужно было делать принт, и они поступали в браузер к в обычном сги

А как быть с большими или долгонакапливаемыми данными???

gods-little-toy ★★★
()
Ответ на: комментарий от anonymous

О великий гуру! Когда ты поймешь, что гибкость мышления - жизненно необходимое для инженера-программиста качество, я с удовольствием поучусь у тебя чему-нибудь.

anonymous
()
Ответ на: комментарий от anonymous

> Ну поведай же мне пример охренительных шаблонов, которые по параметрам скорость/удобство делали бы джанговские.

Блин, ну тебе не стыдно? jinja2, например.

anonymous
()
Ответ на: комментарий от anonymous

Дурачёк ты. Гибкость мышления проявляется на этапе выбора инструмента. Хочешь MVC (MTV) - бери этот паттерн и лабай, вне зависимости от того, будет это фреймворк или набор библиотек. Ты всё равно будешь следовать этому паттерну и это не есть ограничение.

А не хочешь - тогда какого хрена ты вообще в эту сторону смотришь?

anonymous
()
Ответ на: комментарий от anonymous

Сам ты дурачок.

Я тебе привожу конкретный пример - невозможность декомпозиции моделей приложения (в рамках терминологии джанго) из модуля в пакет. Это как-то обосновано идеологией MVC? Это типа DRY и KISS? Это, блин, исключительно фича языка, причем одна из наиболее базовых. Ради чего я должен сознательно от нее отказываться?

Это только первое, что на ум приходит.

anonymous
()
Ответ на: комментарий от anonymous

> Ну поведай же мне пример охренительных шаблонов, которые по параметрам скорость/удобство делали бы джанговские.

ебанаврот, ты эту херню которая не умеет рекурсию и функции, а также крайне тормозная в пример ставишь?

Joe_Bishop
()
Ответ на: комментарий от anonymous

> Может ты сначала результаты тестирования предоставишь, а потом будешь меня стыдить?

Насколько я знаю, jinja существенно быстрее, а ещё у них лольная реализация рекурсии - через for x in something recursive ... loop ...

Joe_Bishop
()
Ответ на: комментарий от anonymous

> Ради чего я должен сознательно от нее отказываться?

Ради вагона джанговских удобств. Если ты этими удобствами не пользуешься - возвращайся к этапу выбора инструмента. Что тут непонятного?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.