2010-01-23 2 views
-1

Я исхожу из фона рабочего стола. Я хотел серьезно погрузиться в сцену веб-программирования. Я огляделся вокруг, и я думаю, что использование хорошо зарекомендовавшей себя веб-структуры - это путь. Из того, что я вижу, Django и Ruby on Rails действительно популярны.Лучшая веб-структура?

Так что я просто хотел знать, какой из этих или любых других является хорошим выбором для меня. что-то элегантное, надежное, масштабируемое, легко развертываемое и поддерживающее и полнофункциональное. В настоящее время я склоняюсь к Django, потому что он основан на Python, который является действительно популярным и мощным языком, но просто хотел узнать, что RoR собирается для себя, что может сделать его лучшим выбором? Что больше в Web 2.0 в некотором смысле. Просто хотел получить дополнительные мнения.

+6

Право, потому что нам не хватает вопросов по django vs rails :) – shylent

ответ

3

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

Я, например, скажу вам, что я использую ASP.NET для всего, где у меня есть выбор, и именно поэтому я был в состоянии поставить сайты, как Twiddla, , S3stat и т.д. в течение нескольких месяцев * каждый в то время как VC-поддерживаемые компании со всеми командами разработчиков PHP потратили годы на создание подобных вещей.

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

* 2 месяца, 3 месяца и 1 неделю соответственно

0

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

Шаблонный движок очень прочен, а это значит, что вы также можете сделать хороший javascript/ajax, так что часть web2.0 очень хорошо представлена.

Хотя я должен признать, что у меня не очень много опыта с RoR. Что также выглядит очень красиво.

3

Рассмотрим:

  • развертывания: как Django и Rails есть хорошие варианты развертывания сейчас - mod_wsgi для развертывания Django на Apache, Phusion Пассажира для развертывания Rails. Если вы хотите развернуть в Google App Engine, вы можете использовать Rails (используя AppEngine для Java и JRuby), но Python и Django будут проще. С другой стороны, посмотрите на Heroku для аналогичного «облачного» хостинга. Если у вас есть общий хостинг, посмотрите, что они позволяют вам использовать. Моя общедоступная хостинговая компания позволяет мне использовать Rails, что довольно круто.
  • пакеты и библиотеки: оба Python и Ruby и Django и Rails имеют широкий спектр плагинов и библиотек, которые позволят вам делать интересную работу. Если вы создаете что-то, что требует определенной библиотеки, вы можете обнаружить, что библиотека является более полезным способом выбора, чем структура.
  • попробуйте языки. И Python, и Ruby - прекрасные языки. Я предпочитаю Ruby (и я использую Rails), но помню, что структура на самом деле меньше об инфраструктуре, чем о языке. Поэтому, если вы обнаружите, что у вас есть серьезные мнения о языках программирования, обязательно попробуйте.
  • взгляд на эквивалентный пример кода - например, смотреть на то, как блоггинг двигатель - Django имеет Byteflow и Rails имеет Mephisto
  • Посмотрите на другие структуры, включая те, отличных от Ruby, Python и с использованием языков. Посмотрите на Merb, Lift, Seaside, Cake, Grails и так далее.

И помните: умение, воображение и творчество важнее, чем выбор каркаса.

4

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

Это все полые субъективные слова. Разница между различными структурами - это не то, что вы можете измерить; Это их стиль, который имеет значение. Никто не может решить для вас. Попробуйте несколько из себя и выберите то, что вам нравится.

0

Первое, что вы должны знать, это то, что рамки или развивающийся язык - это всего лишь инструмент для достижения вашего бизнес-решения. Поэтому НЕ ИСПОЛЬЗУЙТЕ ЛЮБОЙ каркас или инструмент! Различные инструменты или рамки имеют разные преимущества. Ни один из них не всегда лучший. Все зависит от ситуации. Поэтому перед тем, как приступить к разработке системы, сделайте достаточный обзор и запишите бизнес-цели, а затем выберите кадр, который вам больше всего понравится. Проектирование приложения над определенной технологией меняет вас от программиста к разработчику архитектуры программного обеспечения.

2

Вы должны изучить языки больше, чем рамки! Если вы предпочитаете Python над Ruby, используйте Django. Bur, если вы предпочитаете Ruby, загляните в RoR ...

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

+0

Не знаете, почему это получило downvoted - вы правы. Независимо от того, насколько «надежный» фреймворк или какой код он может автоматически генерировать, вы все равно собираетесь писать много кода на этом языке. И если вам не нравится этот язык, вам не понравится структура. Кроме того, вам, вероятно, в конечном итоге придется писать код вне рамки, а также должны зависеть от других библиотек для этого языка. –

0

IMO, Ruby и Rails имеют большое преимущество перед Python и Django, а также большинство других платформ, в оснащении и автоматизации в целом. Это оказывает большое влияние на общую производительность, а также на развертывание и обслуживание. Такие вещи, как управление пакетами RubyGems, автоматизация задач Rake, миграция Active Record и Capistrano для развертывания делают все эти небольшие задания быстрыми, безболезненными и повторяемыми.

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

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

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

Смежные вопросы