2009-04-09 7 views
11

전 C# /. NET 개발자가 완전히 다른 것을 혼란에 빠뜨리려고합니다. LAM (*)은 웹 응용 프로그램을 빠르게 구축하기 위해 쌓여 있습니다.Django 또는 Ruby on Rails

나는 장고 또는 레일즈 중 하나를 생각하고있다. 저는 파이썬 언어와 비슷합니다. 통계, 과학 및 네트워킹을 위해 루비보다 더 많은 기능을 갖춘 것으로 보입니다. 그러나 RoR 커뮤니티는 훨씬 더 큰 것으로 보입니다 - 더 안전한 내기가 될 수 있습니다. 이것이 중요하다고 생각하십니까? 누구나 RoR과 장고에 대한 경험이 있습니까?


업데이트 : 특히 커뮤니티 금융 중심 사이트를 신속하게 구축 할 수 있기를 기대합니다. 그 과정을 빠르게하는 데는 분명히 많은 루비 보석이 있지만, 장고 측에서 Pinax가 유망 해 보인다는 것을 알았습니다. 파이썬은 이미 금융/수학 프로그래밍에 널리 사용되는 것으로 알고 있습니다. 다른 누구나 의견이 있으십니까?


업데이트 2 : ASP.NET MVC에 대한 몇 가지 의견이 있습니다. 저는 실제로 ASP.NET MVC (Medical Equipment Servicing)의 LOB 앱으로 상당히 중요한 작업을 수행했습니다. IMHO는 ASP.NET 웹 양식과 비교하여 웹 응용 프로그램을 작성하는 훨씬 더 직관적 인 방법입니다. 그러나, 나는 정말로 비법 인 개발 환경을 찾고있다.

+1

루비의 커뮤니티에 대한 데이터가 파이썬의 커뮤니티보다 "훨씬 더 큰"것에 관심이 많습니다. –

+0

나는 RoR과 Dango를 비교하고 있다고 생각합니다. –

+0

두 개의 프로젝트에 대한 오로 (Ohloh) 페이지를보십시오 : 402 장고와 453 RoR "사용자". –

답변

20

I 종류의 파이썬 더 좋아하고 것 같다 더 모든 기능을 갖춘 , 통계 과학 및 네트워킹 (이 잘못 생각하면 알려주세요) 루비보다.

NumPy 또는 SciPy와 같은 라이브러리가 필요하다고 생각하는 경우 Python/django를 사용하는 것이 가장 좋습니다. 나는 루비에 상응하는 것을 찾기 위해 애를 썼다.

그러나, RoR에 커뮤니티는 훨씬 더 큰

더 큰 더 나은 될 수 없습니다 물론입니다 것으로 보인다. 지원 측면에서 장고 커뮤니티에 대한 좋은 경험이 있었고 플러그 형 앱 생태계가 매우 빨리 성숙되었습니다.

나는 또한 장고 문서가 매우 쉽게 따라한다는 것을 추가 할 것이라고 덧붙였다.

10

Sinatra를 빠르게 체크 아웃하려면,

장고가 더 빨리 이해할 수 있습니다. 그것은 멋진 라우팅, 간단한 파일 구조, 좋은 깨끗한 구문, 많은 WTF 순간, 그리고 이해할 수있는 ORM 기능을 가지고 있습니다.

레일스에 다이빙을해야합니다. 당신은 activerecord와 싸울 것입니다. 레일 응용 프로그램의 여러면에서 머리를 감싸려고합니다.

나는 둘 모두를 좋아합니다. 둘 다 시도해보십시오. 그들은 그 느낌을 얻기까지 오래 걸리지 않습니다. 당신은 궁극적으로 당신의 필요에 맞는 언어와 모듈/확장 기능/보석을 가지고있는 어플리케이션 별 기반과 요인에 기반하여 결정해야합니다.

+0

좋은 점은 두 가지 모두 시도하는 것이 좋습니다. – NathanD

8

명시된 환경 설정이 파이썬이므로 장고하지 말고 장고를 권장합니다. Django에서 사용할 수있는 documentation은 최고 수준이며이 커뮤니티는 매우 유용합니다.django-users 아카이브를 탐색하거나 잠시 동안 IRC에서 어울려 보시면 사용 가능한 지원에 대해 알게 될 것입니다.

6

우스운 이야기. 나는 아마 배를 조금 더 오랫동안 둘러 보았지만 같은 배를 타고있다.

나는 MS-land (C#도)에서 왔고 Django와 함께 갔지만, Google의 AppEngine으로 돌아와서 Python을 다시 소개했습니다. 장고는 잘 조직되고, 내부적으로 일관성이 있으며 (내가 말할 수있는 한) 활기찬 지역 사회에서 잘 지원됩니다. 파이썬은 잘 조직되어 있고, 내부적으로 일관성이 있습니다 (제가 말할 수있는 한). 은 극도로입니다.

아무리해도 Django보다 Python 웹 개발이 빠릅니다. 다음을 검색 할 수 있습니다 : python wsgi framework. Pylons와 TurboGears는 엄청난 유연성과 "최고의 제품"구성 요소에 중점을두고 있으며, web2py는 매우 시원한 DAL/ORM을 가지고있는 것으로 보입니다. web.py와 werkzeug는 다른 이들과 비교할 때 최소한의 기능만을 제공합니다. 앱을 빌드하는 방법을 지정하려고 시도하지 마세요. 장고를 고수하고 있다면 Pinax 프로젝트를 꼭 확인하십시오. 개발 노력을 시작하는 데 도움이 될 수 있습니다.

+1

수정 사항을 읽기 전에 게시하기. 파이썬 라이브러리가 재무 용으로 제공되는지 잘 모르겠지만 Pinax는 장고를 사용하여 빌드 된 커뮤니티 사이트의 훌륭한 예입니다. Pinax는 또한 Django 사이트가 어떻게 최대 재사용 성을 위해 조직 될 수 있는지를 보여줍니다. –

+0

파이썬 라이브러리 : 나는 NumPy와 TA-lib 용 Python wrapper를 찾고있었습니다. – NathanD

+0

미안하지만, 나는 그 패키지에 대해 의견을 말할 수 있었으면 좋겠습니다. 과학 및 금융 컴퓨팅은 제가 다루었습니다. 그러나 두 라이브러리 중 하나에 파이썬 고유의 단점이있는 경우에는 놀랄 것입니다. 나는 파이썬 라이브러리에 행운을 빕니다. 품질은 대개 꽤 높습니다. –

2

저는 팅커와 같은 가려움을 가진 또 다른 C#/.net guy입니다. 장고는 매력적이다. 개발이 쉽고 재미 있지만 레일스와 장고 (주로 레일)를 사용하는 배포 및 구성 문제에 대한 몇 가지 이야기를 들었습니다. 아파치의 IIS 나 PHP에서 asp.net 앱을 던지는 것과 같은 것이 아닙니다. 그런 것들을 위해서 그것을 설정하고 잊어 버릴 수 있습니다. django를 배포하면서 c/batt의 의견을 얻으 려합니다.

최근에는 Grails를 보았습니다. 루비 같은 Groovy를 사용합니다. 개발이 매우 쉽고 Rails만큼 빠른 애플리케이션을 구축 할 수 있지만 JVM을 통해 Java 플랫폼에 액세스 할 수 있으므로 편리하게 사용할 수 있습니다. Grails 앱에 포함시킬 수있는 수많은 오픈 소스 자바 컴포넌트가있다. 당신이 찾고자하는 컴포넌트들이 많이있다. 정말 자바 앱을 만드는 것과는 다릅니다. 지금까지 레일스처럼 느껴집니다. 행운을 빕니다.

0

호기심입니다. C# 프로그래머라면 왜 Microsoft의 MVC를 배제 했습니까?

1) 이 새로운 무언가를 시도하고 싶) 신속하게 지역 사회의 금융 사이트를 구축하려는 :

당신은 당신의 질문에 표현 된 두 개의 서로 다른 요구를 가지고있다.

RoR이나 Django를 필요로하는 욕망을 이해합니다.하지만 필요에 따라 MVC를 사용하면 더 빨리 생산성을 향상시킬 수 있습니다.

더 많은 사람들이 더 빨리 생산성을 발휘할 수는 없으며, Microsoft의 MVP가 본질적으로 더 생산적이라고 말하고있는 것은 아닙니다. 현재 C# 프로그래머 인 사람이 더 빨리 C#을 사용하는 무언가 ...

6

방금 ​​클라이언트 용 장고로 소셜 네트워킹 사이트를 만들었습니다. 저는 Python을 처음 사용하고 장고에 익숙하지 않았습니다 만, 언어와 프레임 워크에 익숙하지 않은 두통으로도 잠시 동안 가장 즐겁게 개발 한 경험 중 하나였습니다. 그리고 2 주 밖에 걸리지 않았습니다.

당신이 이것을 직접 만들고 있다면 레일즈와 장고 (또는 c.batt가 언급 한 다른 프레임 워크 중 하나)를 시도하여 가장 편안하다고 느끼는 것을 볼 수 있습니다. 내가 언어를 좋아하기 때문에 Django/Python을 선택했다. 그것은 깨끗하고 효율적으로 느껴졌고, 당신은 베어 본 사이트를 운영 할 수있는 속도로 논쟁 할 수 없습니다.

앞서 언급했듯이, Pinax는 훌륭합니다.무엇이라도 위에 당신이 고체의 기초 위에 짓게한다. 나는 내가 원한 것을 얻기 위해 그 부분을 확장해야한다는 것을 알았고, 변경 사항이 필자가 원하는 것과 일치하도록 "hacky"를 얻을 것이기 때문에 몇 가지 섹션을 작성했다. 그러나 다른 부분은 완벽합니다. 사설 메시징은 단순히 사이트와 일치하는 몇 가지 새로운 템플릿으로 사용되었습니다.

+1

두 주 동안 내가 만든 소셜 네트워킹 사이트에 링크를 보내 주시겠습니까? ... 인상적입니다. – Tony

1

숙련 된 .NET 프로그래머이기 때문에 적어도 Rails와 Django를 사용하기 전에 ASP.NET과 MVC를 살펴 봐야합니다. 적어도 목표가 빨리 실행되는 것이면 좋습니다. 당신이 이미 알고있는 것을 활용하는 것이 언제나 쉽습니다.

필자는 비슷한 상황에 처해있었습니다. 저는 Windows와 Unix에서 추진하고자하는 프로젝트를 가지고 있었기 때문에 내가 잘 알고있는 것 (Ruby/Rails)을 활용하기보다는 배를 뛰어 올라서 Groovy를 사용했습니다. Grails a go. 정말 보람있는 경험이었고 Grails에서 몇 가지 작은 프로젝트를 수행하게 된 것을 기쁘게 생각합니다.하지만 결국에는 몇 년의 경험이있는 환경에서 생산성의 극히 일부를 보았습니다. 몇 달 동안 Grails에서 해킹 당했다.

Django, Rails, Lift 또는 무엇을하고 싶은지 선택하십시오. 이는 마음을 넓히고 문제를 해결하는 다양한 방법을 제공합니다. 그러나 빠르게 발전하기를 원한다면 당신을 위해 설계된 플랫폼 (.NET)에서 알고있는 것을 사용하십시오 (MVC).

7

나는 장고가 더 좋지 않다는 것을 잘 알고 있습니다. 레일스는 설정 원리가 너무 오래되어서 장고를 더욱 분명하게 표현한다고 생각합니다.

+0

레일은 마법이 아닙니다. 모든 소스 코드를 사용할 수 있습니다. – nitecoder

+12

네, 그렇습니다. 리눅스가 언제나 쉽지 않다는 것을 알 수 있습니다. – Lorenzo

2

당신은 나쁜 선택을 할 수없는 지점에 있습니다!

내 개인적인 취향은 django이지만, 사실 레일도 좋습니다.

모두, 당신이 좋아하는 중 사용을 시도해보십시오

나는 최선의 대답은 자신을 장고의 BFDLs 무슨 말을 생각합니다.

0

개인적으로 놀아 보지 않고 직접 해본 적이 없지만 IronPython으로 ASP.NET을 확인해 볼 수도 있습니다. Here's a blog post that details it.

+0

IronPython은 이제 규칙적인 파이썬과 매우 흡사합니다. 몇 달 전에 블로그 게시물을 보았습니다. 장고는 IronPython에서 SQL Server를 실행하면서 몇 가지 사소한 개조가있었습니다. IronPython을 ASP.NET MVC 사이트와 함께 사용하는 것에 관심이있을 것 같습니다. – NathanD

0

저는 사람들의 의견에 동의합니다 : 둘 다 시도하고 가장 좋아하는 것을 사용하십시오.

레일스는 구성 및 강제 MVC 아키텍처에 대한 관례 때문에 흥미로운 경험이 될 것이라고 생각합니다. 또한 장고에 대한 사람들의 경험이 StackOverflow에 무엇인지 확신 할 수 없지만 모든 레일스 질문에 매우 빨리 답변 할 수 있습니다.

또한 필요한 경우 통계 계산을 수행하기 위해 파이썬 서비스를 호출 할 수 있습니다.

다음은 .NET/C#에서 Rails로 Django/Python으로 갔다가 Rails로 돌아간 사람이 작성한 기사입니다. 빠른 읽기 가치가있을 것입니다.

http://blog.carlmercier.com/2007/01/30/why-i-moved-from-ruby-on-rails-to-pythondjango-and-back/

+0

좋은 기사이지만 2 년이 넘었습니다. 매우 오래되었습니다. 그 이후로 모든 플랫폼이 그다지 개선되지 않았습니다. Ruby는 v1.9 (훨씬 빨라짐), Rails와 Merb은 수렴, Django는 v1.1에서 많은 새로운 기능 (경쟁 업체와 마찬가지로)을 사용하고 있습니다. 젠장, ASP.NET MVC가 지금, 그리고 너무 좋다. –

0

귀하의 질문은 다음과 같아야합니다 파이썬이나 루비) 다른 사람처럼

1

모두 하나의 좋은 방법입니다 노력하고, 제안,하지만 정말 나에게, 내가 것 그것을 더 선호하는 언어를 기반으로하십시오. 물론 웹 애플리케이션이라면 프레임 워크를 많이 사용하게 될 것이지만, 작성한 모든 "코드"라인은 해당 언어로 작성됩니다. 두 프레임 워크가 모두 강력하기 때문에 실제로 언어를 쓰는 것이 가장 어려울 것입니다.

저는 개인적으로 레일즈를 사용하고 좋아하지만 장고를 사용하는 친구가 많이 있습니다. 우리가 사물을 몇 번이고 토론 할 때, 그것은 틀보다 언어에 더 많은 영향을줍니다. 언어는 상당히 다르며 일반적으로 내 의견으로는 다른 언어보다 더 많이 선호하는 언어를 찾을 수 있습니다. 나는 파이썬이 위대한 소리를 내고, 그것을 배웠고, 그것으로 몇 가지를 썼다고 생각했지만, 절대로 나를 "클릭"하지 않았다. 몇 년 전에 Ruby를 처음 보았을 때 약간 이상하게 보였지만 레일스를 통해 다시 방문했을 때 너무 자연 스러웠습니다. Ruby에서 코드를 작성할 때 영어를 꽤 많이 쓰고있는 것처럼 느껴집니다. 코드를 어떻게 작성해야한다고 생각하는지 생각해 보면 꽤 많이 입력 할 수 있습니다. 그것은 단지 나의 두뇌에 더 잘 맞습니다.

커뮤니티가 현명한 경우 많은 의견을 갖게됩니다. "너무 큽니다"는 것이 나쁘다는 것을 의미하지 않으며, Ruby 커뮤니티가 "너무 커"라고 생각하지 않으며, 특히 Java 커뮤니티와 비교할 때 더욱 그렇습니다. Ruby와 Rails는 확실히 어느 정도 주류를 이루었습니다. 몇 년 동안 함께 작업해온 사람들에게는 주류처럼 보이지만, 실제로는 상당히 작습니다.

어쨌든 행운을 빕니다. 은 (는)을보고 즐거움을 찾을 것입니다.

1

레일즈는 성경과 같습니다. 당신이 성도가 아니라면, 당신은 그것을 이해할 필요가 없으며 아마도 이해하지 못할 것입니다. 당신이해야 할 일은 그것을 믿는 것입니다.