Django или Ruby on Rails
Я разработчик С#/. NET, который хочет пообщаться с чем-то совершенно другим - что-то LAM (*) укладывается для быстрого создания веб-приложений.
Я думаю, что Django или Rails. Я вроде как язык Python лучше и, кажется, более полнофункциональный, чем Ruby для статистических, научных и сетевых (дайте мне знать, если вы считаете, что это неправильно). Тем не менее, сообщество RoR, кажется, намного больше, что может сделать его более безопасным. Считаете ли вы, что это важно? У кого-нибудь есть опыт работы с RoR и Django?
Обновление. В частности, я хочу быстро создать сайт, ориентированный на сообщество. Для ускорения процесса определенно много Ruby Gems, но я заметил Pinax на стороне Django, который выглядит многообещающим.
Я знаю, что Python уже довольно популярен для финансового/математического программирования. У кого-нибудь еще есть мнение?
Обновление 2: Заметил некоторые комментарии об ASP.NET MVC. Я действительно сделал довольно значительную работу с ASP.NET MVC - приложение LOB для обслуживания медицинского оборудования, и мне это понравилось. Это ИМХО - намного лучший и интуитивный способ писать веб-приложения по сравнению с веб-формами ASP.NET. Но я действительно искал среду разработки .NET, чтобы создавать некоторые отбивные.
Ответы
Ответ 1
Я вроде как язык Python лучше, и, похоже, больше полнофункциональный, чем Ruby для статистические, научные и сетевые (дайте мне знать, если вы думаете, что это неправильно).
Если вы считаете, что вам понадобятся библиотеки, такие как NumPy или SciPy, возможно, лучше всего придерживаться python/django. Я изо всех сил пытался найти эквиваленты рубина.
Однако, похоже, сообщество RoR намного больше
Больше, конечно, не будет лучше. У меня был большой опыт общения с сообществом django с точки зрения поддержки, а подключаемая экосистема приложений созревает довольно быстро.
Я бы также добавил, что я считаю, что документация django очень проста в использовании.
Ответ 2
Если вам нужен быстрый стек, проверьте Sinatra.
Django будет иметь больше смысла быстрее. Он имеет потрясающую маршрутизацию, простую структуру файлов, хороший чистый синтаксис, не много моментов WTF и понятную функциональность ORM.
Рельсы вам придется погрузиться. Вы будете сражаться с activerecord. Вы попытаетесь обернуть голову вокруг многих аспектов применения рельсов.
Мне нравятся они оба. Попробуйте их обоих. Они не так долго, чтобы почувствовать. В конечном итоге вы должны основывать свое решение на основе каждого приложения и учитывать, какой язык имеет лучшие модули/расширения/драгоценные камни для того, что вам нужно.
Ответ 3
Поскольку ваше заявленное предпочтение - Python, я бы без колебаний рекомендовал Django. документация, доступная для Django, является первоклассной, и сообщество очень полезно. Просмотрите архивы django-users или поиграйте в IRC некоторое время, и вы получите хорошее представление о поддержке.
Ответ 4
Мне нравится Django лучше, потому что он менее волшебный, с Rails я чувствую, что они слишком сильно продвинули соглашение по принципу конфигурации, поэтому я предпочитаю более явный характер Django.
Ответ 5
смешно... Я нахожусь в одной лодке, хотя, возможно, я немного оглядывался.
Я пришел с MS-land (С# тоже), и я пошел с Django, но только после того, как я возился с Google AppEngine, который перевел меня на Python. Django хорошо организован, внутренне непротиворечивый (насколько я мог судить), и хорошо поддерживается ярким сообществом. Python хорошо организован, внутренне согласован (насколько я могу судить), и очень хорошо поддерживается удивительным сообществом.
Во всяком случае, существует более быстрое развитие веб-разработки Python, чем Django. Возможно, вы захотите найти: python wsgi framework. Pylons и TurboGears предлагают огромную гибкость и сосредоточенность на компонентах "лучшего из породы", у web2py, похоже, очень крутой DAL/ORM, который я испытываю, чтобы вникать в него, а web.py и werkzeug (среди прочих) минималистичны, Попробуйте определить, как вы должны создавать приложение. И если вы придерживаетесь Django, обязательно проверьте проект Pinax - это может помочь начать ваши усилия по развитию.
Ответ 6
Я только что закончил создание небольшого сайта социальной сети с Django для клиента. Я был новичком в Python и новичком в Django, но это был один из самых приятных событий в области развития, которые у меня были в течение некоторого времени (даже с головными болями из-за того, что вы новичок в языке и каркасе). И это заняло две недели.
Если вы создаете это для себя, я бы попробовал как Rails, так и Django (или одну из других фреймворков, о которых говорил c.batt), чтобы увидеть, что чувствует себя наиболее комфортно. Я закончил тем, что выбрал Django/Python, потому что мне понравился этот язык. Он чувствовал себя чистым и эффективным, и вы не можете спорить со скоростью, с которой вы можете получить сайт с голыми костями и работать.
Как упоминалось ранее, Pinax отлично. Если что-нибудь, вы получите прочную основу, чтобы построить сверху. Я обнаружил, что мне пришлось расширять его части, чтобы получить именно то, что я хотел, и пару разделов, которые я решил с нуля скомпрометировать, потому что изменения будут "хакерскими", чтобы соответствовать тому, что мне было нужно. Другие части, однако, идеальны. Частные сообщения были использованы из коробки, только с некоторыми новыми шаблонами для соответствия сайту.
Ответ 7
Я другой С#/.NET парень с тем же зудом, чтобы возиться. Джанго привлекателен. Хотя разработка проста и увлекательна, я слышал некоторые истории о головных болях развертывания и конфигурации как с Rails, так и с Django (в основном с рельсами). Это не нравится просто бросать приложение asp.net в IIS или PHP в Apache. Для тех вещей вы можете установить его и забыть. Мне было бы любопытно получить комментарии c.batt на его/ее experince с развертыванием django.
В последнее время я смотрел на Грайла. Он использует Groovy, который похож на рубин. Он очень прост в разработке, и вы можете создавать приложения так же быстро, как Rails, но вы получаете доступ к платформе Java через JVM, который может пригодиться. Там тонна компонентов java с открытым исходным кодом, которые вы могли бы зайти в свое приложение Grails, много типов компонентов, которые вы искали. Это действительно не похоже на создание java-приложения. Пока это похоже на Rails. Удачи.
Ответ 8
Вы находитесь в точке, где вы не можете сделать плохой выбор!
Мое личное предпочтение - джанго, но я знаю, что рельсы тоже хороши.
Я думаю, что лучший ответ - это то, что говорят BFDLs джанго:
Попробуйте оба варианта, используйте то, что вам нравится.
Ответ 9
Поскольку вы опытный программист .NET, вам действительно стоит посмотреть на ASP.NET и MVC, прежде чем обращаться к Rails и Django, по крайней мере, если ваша цель - быстро и быстро запустить. Всегда легче использовать то, что вы уже знаете в глубине.
Недавно я был в похожей ситуации - у меня был проект, который я хотел вытолкнуть на Windows и Unix, и вместо того, чтобы использовать то, что я знаю хорошо (Ruby/Rails), я прыгнул на корабль и дал Groovy на Грейлса. Это был действительно полезный опыт, и я очень рад, что сделал несколько небольших проектов в Grails, но в итоге у меня была небольшая часть производительности, которую я сделал в среде, где у меня был опыт нескольких лет, даже после месяцев взлома на Grails.
Итак, возьмите Django, Rails, Lift или все, что вы хотите сделать - это поможет расширить ваш разум и дать вам разные способы взглянуть на решение проблем. Но если вы хотите быстро перейти, используйте то, что знаете (.NET) на платформе, предназначенной для вас (MVC).
Ответ 10
Вы выражаете предпочтение Python, поэтому я бы пошел с Django - это прекрасная структура. Мои личные предпочтения - альтернатива, но я не являюсь вам, и оба варианта хороши.
Это в основном дубликат https://stackoverflow.com/questions/91846/rails-or-django-or-something-else, btw
Ответ 11
Как и другие, попробуйте оба - один хороший способ, но на самом деле для меня я бы основывал его больше на том языке, который вы предпочитаете использовать. Конечно, если это веб-приложение, вы многое сделаете с фреймворком, но "каждая" строка кода, которую вы пишете, будет на этом языке. Поскольку обе структуры сильны, это действительно больше зависит от того, на каком языке вы будете самым счастливым образом писать код, изо дня в день.
Я лично использую Rails и люблю его, но у меня много друзей, использующих Django. Когда мы обсуждаем вещи, снова и снова, это сводится больше к языку, чем к рамочному. Языки довольно разные, и вы, как правило, найдете тот, который вы предпочитаете гораздо больше, чем другие, по крайней мере, на мой взгляд. Первоначально я думал, что Python звучит здорово, узнал об этом, написал несколько вещей с ним и т.д., Но он просто никогда не "щелкал" для меня. Когда я впервые увидел Ruby много лет назад, это показалось немного странным, но когда я снова просмотрел его с помощью Rails, это было так естественно. Когда я пишу код в Ruby, я чувствую, что я довольно много пишу по-английски - если я могу думать о том, как я думаю, что код должен быть написан, я могу в значительной степени напечатать его, и он работает. Это просто лучше подходит моему мозгу.
Сообщество мудрое, вы получите много разных мнений. Я не думаю, что быть "слишком большим" означает, что это плохо, и я не думаю, что сообщество Ruby каким-либо образом "слишком велико", особенно по сравнению с сообществом Java. Ruby и Rails, безусловно, в определенной степени перешли в мейнстрим, и для тех из нас, кто работал с ним в течение нескольких лет, это кажется мейнстримом, но в великой схеме вещей это на самом деле все еще довольно мало.
В любом случае, удачи и наслаждайтесь изучением их и находить то, с чем вам будет приятно работать.
Ответ 12
Рельсы подобны Библии. Если вы не святой, вам не нужно это понимать, и вы, вероятно, никогда не поймете; все, что вам нужно сделать, это верить в это.
Ответ 13
Мне любопытно. Если вы программист на С#, почему вы исключили Microsoft MVC?
У вас есть две разные потребности, выраженные в вашем вопросе:
1) Хотите попробовать что-то новое
2) Хотите быстро создать сайт для финансирования сообщества.
Я понимаю, что нужно смотреть на RoR или Django на необходимость 1, но для потребности 2 я бы ожидал, что с MVC вы будете более продуктивны быстрее.
Обратите внимание: я не говорю, что EVERYONE будет более продуктивным быстрее, и я не говорю, что Microsoft MVP по своей природе более продуктивен, просто тот, кто в настоящее время является программистом на С#, сможет быстрее ускорить работу над чем-то который использует С#...
Ответ 14
Хотя я никогда не пробовал это лично, кроме игры, вы также можете проверить ASP.NET с помощью IronPython. Здесь сообщение в блоге, которое подробно описывает его.
Ответ 15
Я согласен с людьми, которые говорят: попробуйте оба и используйте то, что вам больше нравится.
Я думаю, что Rails будет интересным опытом из-за соглашения над конфигурацией и принудительной архитектурой MVC. Кроме того, я не уверен, что люди сталкиваются с Django на StackOverflow, но все мои вопросы с Rails получают очень быстрый ответ.
Также имейте в виду, что вы можете вызвать службу python для выполнения статистических расчетов, если это необходимо.
Вот статья, написанная парнем, который перешел с .NET/С# на Rails на Django/Python, а затем вернулся к Rails. Возможно, стоит быстро прочитать.
http://blog.carlmercier.com/2007/01/30/why-i-moved-from-ruby-on-rails-to-pythondjango-and-back/
Ответ 16
Ваш вопрос должен быть: Python или Ruby;)