LINUX.ORG.RU

Что выбрать? web-framework


0

1

Что выбрать для разработки нового сайта? Если не писать на дот нет, то выбор очень велик и просто растеряться.

Java: spring mvc (freemarker, velocity),

echo 2, struts,

Grail, jRails

Python: django, pylons

Rails

Все проанализировать едва ли реально, а если взяться и писать на одном то всегда есть соблазн попробовать на другом может было бы проще...



Последнее исправление: yuk83 (всего исправлений: 1)

какие-то странные критерии..
Выбирай тот фреймворк, язык которого знаешь лучше.

dreamer ★★★★★
()

ты правда знаешь в совершенстве и жабу, и руби и питон?

//отрастил бы лучше скор в новостях, чесслово

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

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

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

Но изучить все по неделе на каждый уже нереально, так как в сумме это около года.

Вопрос для меня не риторический так как часто становится вопрос на чем писать, пишу чаще на spring mvc, но чую что это неправильно и надо то ли на django то ли на rails.

ЗЫ Новости пишу как умею, не понравился проект дело ваше.

yuk83
() автор топика
Ответ на: комментарий от dreamer

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

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

>за неделю можно освоить любой язык

ты или слишком толст или просто не поинмаешь о чем пишешь.
За неделю(2,3) ты выучишь только семантику, синтаксис и что-то из базовой библиотеки - это не есть знание языка.

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

(ох начинается...) Ну что я не проводил эксперементы. Синтаксис в среднем можно изучить и даже привыкнуть за день, для чего то быстрее типа лисп(где его почти нет) и посложнее типа C# где много всяих syntax sugar. Далее семантика - стандартные библиотеки, что бы оценить сверху беремjava JDK(думаю это самая большая базовая библиотека языка ввиду древности). Итак сколько пунктов в java SE tutorial? http://bit.ly/9kJvH7 около 20. по 2 часа на каждый. Не сложнее чем подготовка к сессии.

Так что это более чем реально, не понимаю почему надо доказывать такие простые вещи.

yuk83
() автор топика

Сейчас изучаю Spring MVC. Очень доволен и Spring MVC и Spring в целом. Остается постоянное ощущение, что что-бы ты не делал, в Spring есть готовое решение. Так и облениться недолго... Быстрыми темпами слезает на аннотации, работает даже на Tomcat. Сервер приложений при нехилой функциональности не нужен.

Фреймворк очень хорошо интегрирован с другими фреймворками и либами. рекомендую Spring MVC. Главное - НЕ Struts. Можешь еще Tiles попробовать. Для доступа к данным юзаю JPA через Hibernate

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

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

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

> и посложнее типа C#

ты просто не представляешь чебе что такое плюсы. потому что здесь:

bool TreeModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
{
QString arg = QString(data->data(«application/x-qabstractitemmodeldatalist»).data());
int val = arg.toInt();
qDebug() << «Ultimate» << (void*)val;
TreeItem * tmp = static_cast<TreeItem *>((void*)val);
TreeItem * parentTmp = static_cast<TreeItem *>(parent.internalPointer());
tmp->Move(parentTmp->childCount(), parentTmp);
}

каждый долбанный символ ИМЕЕТ значение.

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

Да имеет значение, не спорю и не буду с вами спорить про свое представление c++) Но зачем вы флудите?

yuk83
() автор топика
Ответ на: комментарий от VladimirMalyk

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

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

>SE tutorial? http://bit.ly/9kJvH7 около 20. по 2 часа на каждый

Я так и думал. Твоя самоуверенность основана на том, что по туториалам ты смог
написать несколько хеллоуворлдов и теперь экстраполируешь learning curve по этому опыту.
Так вот, знание языка - это не семантика+STD lib+синтаксис+базовые навыки, а, как
ни странно, умение(читай опыт) применять все это (и многое другое) на практике.

Например, чтобы сказать, что ты знаешь C++ достаточно хорошо, надо писать на
нем реальные рабочие проекты в течении не меньше 1 года(лучше 2-х).

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

> Но зачем вы флудите?

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

зы. по сабжу освой php (таки стандарт отрасли) и какую нить kohana

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

>>за неделю можно освоить любой язык

ты или слишком толст или просто не поинмаешь о чем пишешь.


За неделю можно научиться кодить. Хорошо писать на языке можно где-то через пол-года плотной работы на нём при наличии уже богатого опыта с другими языками или через пару лет - при отсутствии оного. Что из этого считать под термином «освоить» каждый для себя решает сам :)

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

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

yuk83
() автор топика
Ответ на: комментарий от dreamer

ну я не виноват что вам все так сложно дается и вы переносите свои сложности на других(просто предположение если вас возмутила такая средняя скорость). есть у человека есть логика и он знает один язык этот опыт легко переносится на другие языки. так как известно что все языки функционально эквивалентный, а императивные еще и очень похожи по стилю. Кстати это общается и на знание языков человеческих тоже. Зная два языка гораздо проще выучить третий и т.п. Как говорится комон сенс.

yuk83
() автор топика

А какой именно сайт? В чем там самая соль будет?

Еще один хороший фреймворк для гугления: Seam Framework от JBoss.

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

Acegi - устаревший фреймворк. Теперь он включен в Spring и переименован в Spring Security. Если вы используете именно Acegi, то что-то сдесь не так

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

> Spring MVC не очень удобен

что именно там неудобно? Или, лучше, что должно быть хорошего во фреймворке-мечте, чего нет в Spring?

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

настройка spring security+openid etc (должна быть простая), написание ajax json transfer objects на стороне явы(должно быть один раз). Плюс в фреймворках типа django обещают такие вещи как встроенный форум, твитер лайк движок etc. что тоже бы хотелось а на спринг мвс придется писать с нуля.

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

то есть приоритет на уже готовые модули?

просто, есть же еще куча параметров. В Java удобно делать groupware, в python/php - сайты портального типа. У Java дольше путь до memcached. А у django есть много всяких вкусностей типа супер-простого ядра или системы миграций South.

если надо по-быстрому сделать форум, то почему бы не использовать готовые и проверенные временем решения (типа phpBB)?

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

я вот не знаю что выбрать RoR или CakePHP. PHP давно знаю но чем больше знаю тем меньше нравится. В ruby сперва непривычно что после

a = [1,2,3]
b = a
b[0] = 5

поменяется и a и b, потому что копируется reference - переход с языков C/C++/PHP в которых такого нет (конечно можно использовать b = a.dup или b = a.clone).

Я вот хочу выяснить с каким фреймворком (CakePHP or RoR) одна и та же машина с веб приложением выдержит больше запросов, т.е. что эффективней, лучше экономит память и процессорное время. Может кто нибудь дать ответ или отослать на бенчмарки какие-то. Именно фреймворков а не PHP vs. Ruby, т.к. имхо очевидно что PHP быстрей т.к. более низкоуровневый.

Python как то не очень, слишком примитивный синтаксис, упростили слишком сильно уж. Perl громоздкое старьё, учить все TIMTOWTDI которые perl-community накопило за десятки лет желания нет. И вложенные массивы какие то там непривычные. Java имхо первая попытка высокоуровневого языка такого типа, и ясное дело первая попытка не бывает самой удачной, сейчас её популярность уже прошла.

Есть тут опытный админ который может примерно сказать сколько запросов может выдержать CakePHP vs. RoR при такой конфигурации:

Core2Quad Q9550 2.83Ghz 8GB DDR2 RAM 10Mbps Unmetered Bandwidth

par12b12
()

автор топика - денис попов №2.
для веб-проекта - учи пхп, ZF и не вы*бывайся.

heisenberg ★★
()

pylons конечно же

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

Спасибо за ответы. Почитал мнение авторов кворы, почему они выбрали питон вместо пхп(на котором они писали фейсбук) и других... Убедительно. А есть возможность совместить django, spring и JPA на jython?

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

Это все хорошо, но есть один нюанс. Разные необычные комбинации софта плохо документированы. Прийдется вслепую методом тыка интегрировать. Зачем тебе django если есть spring? И зачем spring если есть django?

По идее в Pro Spring рассказывают как юзать spring в динамических языках. Там были BeanShell и JRuby кажется

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

Ну если уж так, то наверное можно и facelets. Только я не пробовал это дело месте со Spring. А JSF нормально работает?

vertexua ★★★★★
()

Мне тут по секрету рассказали, что в Django не работает полиморфизм.

Прошу знающих людей разъяснить.

anonymous
()

Если тебе надо писать, а не вы****ться, бери пхп. И фреймворк, на котором можно писать быстро, много и без особых трудностей. Yii например или kohana3, но он ещё в активной разработке, так что не советую.

Viglim
()

Чёрт, я не узнаю ЛОР. То ли от летней жары, то ли научился так тонко троллить :)

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

> для веб-проекта - учи пхп, ZF и не вы*бывайся.

heisenberg (20.07.2010 8:43:15)


Если тебе надо писать, а не вы****ться, бери пхп.

Viglim (20.07.2010 12:51:13)



Сразу видно пхпшники. Думать не надо, трясти надо.

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

скоро будет. Как только спринг начнет полную поддержку jsr-330
Пока частично работает. Кстати, как IoC контейнер WebBeans очень даже не плохи, не хуже спринга.

JFreeM ★★★☆
()
Ответ на: Тоже вброшу от folone

В чем вброс? Мы Scala уважаем ) Ах, да... Snap. Согласен, вброс.

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

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

Из приятных вещей, встреченных мной могу назвать:

Sinatra (Ruby) - микрофреймворк, предоставляет минимум возможностей при максимуме простоты =)

Pylons (Python) - не пробовал, но считаю, что на правильных идеях он построен

Django - писал чуток, норм, вполне себе штука

Rails не советую, он монстр. Spring тоже монст, но с уклоном в инфраструктурные задачи.

dizza ★★★★★
()

Бери happstack или snap framework. Хаскель учится за день - максимум 2. Еще день на освоение фреймворка - и все.
Как вариант можно попробовать RESTAS + cl-closure-templates

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

> Есть тут опытный админ который может примерно сказать сколько запросов может выдержать CakePHP vs. RoR при такой конфигурации

) стотыщмильонов

kelyar ★★★★★
()

Бери Рельсы. Гибкий и продуманный фреймворк, в отличии от Джанго.

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

>Сразу видно пхпшники

- привет! подскажите микроскоп для забивания гвоздей?
- так бери молоток же!
- фу, сразу видно - плотники.

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

- Подскажите какой модем лучше us-robotics или zyxel?

- Модем? Ты что из прошлого?

- Идите в опу красноглазики, мой отец юзал модем, дед юзал модем, и я тоже буду сидеть на жопорезе!

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

Судя по скорости скатывания синего вниз — это будет скоро, и я предпочел быть к этому готовым.

Кстати, работы для рубистов и питонщиков — навалом. И уже довольно давно.

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

>Судя по скорости скатывания синего вниз — это будет скоро

Вот когда будет - тогда и разговор будет :)

Кстати, работы для рубистов и питонщиков — навалом


job.ru. В названиях:

php -20 вакансий
ruby - 0
python - 1

Полный поиск:
php - 73
ruby - 3
python - 9

Или:

www.weblancer.net

php - две страницы вакансий (сколько всего не пишут, пересчитывать влом)
python - 3 предложения
ruby - 3 предложения

При чём одно предложение и там, и там - это «Программист PHP [...] приветствуется опыт работы с другими языками: C++/Java/Python/Ruby» - т.е. по факту на python и Ruby - по две вакансии.

Это сложно назвать «полно» :)

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