LINUX.ORG.RU

RoR или Django


0

2

Собственно хочу перейти с PHP на новый язык и одновременно заняться изучением фреймворка.
Кто что посоветует и почему?
Другие языки не рассматриваю.

<камент от капитана>ни RoR, ни Django - не являются языками</камент от капитана>

я бы посоветовал идти в сторону Django, ибо есть всякие Pylons, etc., и, если что-то в одном фреймворке не устроит, можно всегда пересесть на другой, но это, конечно, если нет аллергии на отступы

имхо дополнительный «+» джанге, осилил джангу - считай осилил и Google App Engine, профит ёманарот

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

Коммент от капитана как-то не к месту, а за Ваш коммент спасибо.

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

Коммент от капитана как-то не к месту

так то ж Кэп, он других каментов не даёт

shty ★★★★★ ()

всё это тормозное и прожорливое г. пиши на сях, плюсах, ди или вале

anonymous ()

Хз как RoR а джанга разочаровала своей тормознутостью и костностью(=негибкостью). Но у неё есть админка, да ещё и на ajax :).

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

Аргументов против джанги нет, но по сравнению с Zend/Kohana/Livestreet/CI рельсы как будто для людей сделаны :)

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

джанга разочаровала своей тормознутостью

ну поделитесь историей успеха, а то пацаны не в курсе

джанга разочаровала своей [..] негибкостью

плюс джанги не в гибкости, а в быстронастраиваемости для решения обычных задач, а если нужен суп из бегемота - бери Pylons и вперёд

shty ★★★★★ ()

Мне оба они не понравились. Ну а чисто между ними если выбирать: RoR вроде поинтереснее, вокруг него прикольное комьюнити чудаков. И проекты на рельсах по-серьезнее, чем да джанго. Всякие там твиттеры=х*итеры с гитхабами.

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

эх. портировали бы пайлонс на питон3...

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

Смотрел я этот пилонс, что-то они там перемудрили. Вертзуг мне понравился и flask на его основе.

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

И проекты на рельсах по-серьезнее, чем да джанго.

та Вы чо, нет, правда штоле? :)

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

Смотрел я этот пилонс, что-то они там перемудрили.

надо не смотреть, надо пробовать, тогда придёт понимание

да, пилонс замороченный малец, но за гибкость надо платить

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

эх. портировали бы пайлонс на питон3...

а зачем?

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

Всмысле ЕСТЬ проекты по-серьезнее. По крайней мере можно услышать отзывы от тех, кто хлебнул говнеца. И технология в бою опробована. А на джанго что есть? DISQUS?

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

> ну поделитесь историей успеха, а то пацаны не в курсе

не в курсе тормозов? Легко, встроенный orm выдавал на простейшем сайте 40 запросов в секунду. Если что, сама база выдавала результат мгновенно.

а в быстронастраиваемости для решения обычных задач


Ты про админку? Я её упомянул :). У меня задачи сверхпростые и типовые, я себе сайт делаю. Я на джангу плюнул и щас переделываю на bottle.py. Pylons я не осилил, видно что это именно суп.

А с джангой долго боролся, достала она своими проблемами. В итоге я сел и подумал что мне в ней нравится.
1) orm средненький, но, главное, что тормозной. Убедись сам. Плюс много чего не умеет. Правда, тут я выпутался raw sql.

2) Конфигурация урлов сделана неплохо, но мне и декоратором нравится. Так получается что всё в одном месте а не расбросано по файлам.

3) Админка вещь неплохая для простых вещей, для сложных(типа фотоальбома) заколебёшься с ней бороться.

4) Аутентификация подвела что нельзя толком унаследоваться от User и Group, а профиль(тот что через User.get_profile()) достаётся откровенно сделан через задницу. И мне нужен был профиль у группы, а вот нету в джанге такого. Через monkey patching это и многое другое решается, но это совсем уж через задницу.

5) Пагинатор сакс, движок комментов тоже. И многие другие «батарейки» тоже. Опять таки, эти вещи работают только в очень примитивных типовых случаях.

Вот так вот :).

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

Всмысле ЕСТЬ проекты по-серьезнее.

да серьёзные проекты есть и на похапэ, это не показатель. Вопрос в том чего стоило достижение этой «серьёзности».

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

это не показатель.

Показатель. Всякие богомерзкие фреймворки вроде жанг и рельсов есть выкидыш деятельности сообщества. Чем больше шевеление внутри этого сообщества, тем продукт получается забористее. Крупные проекты вызывают некоторое оживление.

Вопрос в том чего стоило достижение этой «серьёзности».

Наступить на все возможные грабли.

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

Google App Engine :)

RLY? Что-то я не верю. Пруфы в студию.

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

Во-первых я про это знаю. Во вторых это все фигня. Ну подумаешь какой-то сайтик сделали на джанге. Насчет гугла не слышал, что у них именно джанго. Питон таки да, юзают. Мне хотя бы не меньше github.com покажите что-нибудь.

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

А на джанго что есть?

Google App Engine

Надеюсь, ты правда шутишь?

baverman ★★★ ()

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

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

Бред , про тормознутость django

Наверное вы просто плохо владеете django , если такое пишите, да еще в сравнении с ROR это звучит комично.

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

питоновская часть позволяет запускать джангу. и любой другой питоновский фреймворк с поддержкой wsgi, как то:
Zope 3(BlueBream)
Django
Pylons
TurboGears
CherryPy
Tornado
Bottle.py

marvin_yorke ★★★ ()

> Собственно хочу перейти с PHP на новый язык

Потсоны застебали? Каким образом созрело решение? Если собираешься писать для души и локалхоста, то всё равно какой из них, а если для людей и существующих в реальности хостинговых площадок - то не ходи никуда, php пока рулит.

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

И? Как это подтверждает, что телега впряжена в лошадь?

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

Ваши данные устарели

Хостеров которые предоставляют поддержку python (как fcgi так wsgi) на виртуальных планах я вам могу назвать только на вскидку с десяток, не говоря уже о vps и vds, это только российские хостинг компании, я уж не говорю о зарубежном хостинге. На сегодняшний день нет проблем с хостингом для python

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

>Google App Engine :)

RLY? Что-то я не верю. Пруфы в студию.

естественно не сам AppEngine на джанге, но юзают:

In addition to the Python standard library and the App Engine libraries, the runtime environment includes the following third-party libraries:

Django 0.96.1
WebOb 0.9
PyYAML 3.05

отсюда

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

Ну подумаешь какой-то сайтик сделали на джанге.

а сколько хитов в секунду у того сайтика? :)

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

>> А на джанго что есть?

Google App Engine

Надеюсь, ты правда шутишь?

вообще немножко да :) но в google app engine включают джангу

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

некоторое оживление.

Крупные проекты очень неповоротливы. Какое там, нафиг, оживление, пока со всеми согласуешь годы пройдут. Это хорошо когда бОльшая часть работы уже проделана. А когда повсюду «not invented here» от этого становится очень грустно.

Наступить на все возможные грабли.

Ну прям, я же привёл то что в джанге мне не нравится. На мой взгляд ещё как грабли. Не знаю как щас(уже не прогаю на джанге), а пару лет назад только за счёт djangosnippets и удавалось выживать.

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

уже не прогаю на джанге

а на что перешли сейчас, если не секрет?

shty ★★★★★ ()

> Собственно хочу перейти с PHP на новый язык

Ну лисп же, будешь собой гордиться.

archimag ★★★ ()
Ответ на: Бред , про тормознутость django от yanka

> наверное вы просто плохо владеете django

видимо, да. Нашёл узкое место, там как раз был коммент «#TODO: is there a better way?» (подвели ленивые вычисления с ForeignKey которые в моём случае оказались не ленивыми, лохонулся по молодости). Окей, про тормознутость не пишу. Остальные замечания в силе.


в сравнении с ROR


не сравниваю с ROR, я с ним практически не знаком. Я пишу исключительно про свой ламерский экспириенс. Однако, согласись, я не на пустом месте опускаю джангу(про скорость лоханулся, да).

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

а на что перешли сейчас

Ниже расскажу что сейчас пытаюсь использовать, а пока сделаю лирическое отступление как я к этому пришёл. У меня почему все(аж два или три) сайты очень простые по своей структуре(чуть ли не статика) за исключением пары-тройки страниц(из-за которых и хочется использовать какой-нить фреймворк). И вот обычно эти страницы очень плохо ложатся на джангу. Примеры приводил выше. Да, с каждым релизом джанги таких мест становится меньше и меньше, но мне надо сейчас работать а не ждать пока джангу допилят. (И мне кажется я не один такой).

Для пробы перевожу один «проект»(который всё равно был в стагнации) на bottle.py. В качестве движка темплейтов хочу на выходных попробовать http://ngx-ctpp.vbart.ru/ т.к. всё равно придётся много логики на javascript мутить (сейчас использую mako).

Ещё не знаю что использовать в качестве orm, но это достаточно вторичный вопрос т.к. самая сложная часть сайта скорее всего будет на графах(я присмотрел networkx)(про django-mptt знаю) т.к. нужны интерактивные тесты со сложным ветвлением.

Если считаешь что я не прав - пиши, обсудим :).

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

Раз такая пьянка пошла, то может знаете как еще ускорить django? он у меня сильно тормозит. Основные тормаза - templates и ORM. Templates я попробую перевести на ngx-ctpp, а с ORM что делать? SQLAlchemy много быстрее Django.ORM?

Хотя с другой стороны, если отказаться от Django ORM, то от самой джанги останется только urlmapper - уже и смысла ее использовать не будет. ;)

В общем, что про SQLAlchemy скажете?

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

но в google app engine включают джангу

И что? Ну понятное дело, что они для хомячков это сделали. Хотя GAE не плох, но пихают туда жангу только дятлы. Есть дятлы с другой стороны, это те которые пишут на жабе и запихивают JSF. Другой он GAE, другой.

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

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

Я имел ввиду оживление в самом сообществе. Вот делали большой проект Х, наступили на грабли. А потом написали про эти грабли а) В рассылку б) в бложик в) в презентации на конференции. Так глядишь и допилят.

А когда повсюду «not invented here» от этого становится очень грустно.

Вот не надо так, ты скорее всего не знаешь что под этим понятием скрывается. В категориях «я соберу приложение ИСКЛЮЧИТЕЛЬНО из готового» мыслят вчерашние студенты, которые еще вчера велосипедили свои кривые убогие велосипеды, а сегодня открыли для себя гугл. И они пока еще не понимают на сколько все это готовое кривое по большей части и на сколько можно лучше можно сделать самому и заопенсорсить, PROFT же. Ты же сам все правильно про жангу расписал. Я с ROR помучился и сдружился с Sinatra. От Django меня сблевало и я открыл для себя Flask.

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

> а с ORM что делать?

Для начала найди узкое место, потом спроси лор как с этим бороться и найдёшь ответ :). Я через debug_toolbar находил лишние запросы и потом уже в коде находил эти места и оптимизировал. А если у тебя упирается тупо в скорость создания инстансов моделей то ничего не сделаешь, имхо. Ну разве что какой-нить pypy попробывать воткнуть, но это уже совсем другая история.

SQLAlchemy много быстрее Django.ORM?


Хз, вот есть тест: http://gdorn.nudio.net/blog/2010/10/29/django-vs-sqalchemy-vs-pydo-speed-tests/

В принципе, он хорошо согласуется с моими наблюдениями за django. У меня django на одно ядро проца может генерить 1200 инстансов моделей в секунду(при условии что база летает). SQLAlchemy руками так и не трогал, но, судя по описанию, это совсем другие яйца которые гораздо ближе к sql. А по скорости примерно то же самое.

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

Так глядишь и допилят.

Очень много ждать приходится. Причём и quick&dirty решения не пропускают и нормальной имплементации не делают. А мне же надо как-то свой проект писать а не ждать пока все проснуться. Некоторые вещи годами пилят...

Вот не надо так, ты скорее всего не знаешь что под этим понятием скрывается.

Увы, знаю. Жаль не могу привести кусок кода который мне посоветовали в django-devel. Вот это был нереальный костыль на многие строки который monkey-патчил(подменял) встроенный класс. Это относилось к тестированию. Щас это, кажись, уже допили, но прошли годы...

Для меня критерий годности фреймворка или библиотеки это кол-во и сложность костылей.

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