2011-05-01 4 views
12

나는 훈련을 통해 컴퓨터 프로그래머이지만 잠시 동안 웹 개발을하지 않았습니다. 나는 다양한 파이썬 웹 개발 프레임 워크에 대한 배경 조사를하고있다. Django, Grok/Zope 3, Pylons는 모두 훌륭한 프레임 워크이지만, 배경 작업을 거의하지 않는다는 것을 알고 있습니다. 누군가가 프레임 워크의 접근 방식의 차이를 설명 할 수 있습니까?Django 대 Grok/Zope3 대 Pylons

내 특정 사용 사례는 다양한 사용자 제공 정보를 기반으로 사용자에게 제품을 추천하는 웹 응용 프로그램을 작성하는 데 있습니다. 따라서 기본 프로필, 제품 환경 설정, 사용자 간의 사회적 관계 형성 시도 등 사용자 입력의 공정한 비트가 필요합니다. 또한 시스템에 사용자가 일치시킬 수있는 레이블이 지정된 기능을 사용하여 제품을 업로드하는 직원을 지원해야합니다.

Plone의 일부는 비 기술자가 제품 및 제품 설명을 업로드 할 수있는 인터페이스를 제공하는 데 도움이됩니까? 플론 (Plone) 조각을 빌릴 수 있습니까? 사람들이 판매/추천을 위해 항목을 설명하는 메타 데이터와 함께 업로 드를 업로드 할 수있는 방법이 필요하다는 점에서 휠을 재발 명할 필요가없는 것처럼 보입니다. 도와 주셔서 감사합니다.

답변

14

배경과 요구 사항에 따라 Django를 기반으로하는 http://pinaxproject.com/과 같은 항목을 사용하는 것이 좋습니다.

Pyramid (Pylons의 후속 모델)는 매우 낮은 수준의 프레임 워크이므로 라이브러리를 선택하거나 모든 응용 프로그램 코드를 직접 작성해야합니다. 경험이 많은 사람에게는 이것이 의미가 있으며 코드를 완벽하게 제어 할 수 있습니다. 그러나 처음부터 다시 시작하여 사용 가능한 라이브러리에 익숙하지 않은 경우 약간의 장애물입니다.

Django와 Grok은 둘 다 상위 수준의 프레임 워크이며 Django가 가장 인기있는 선택입니다. 아직 객체 데이터베이스 나 URL 탐색을 사용하는 데 익숙하지 않은 경우 Grok은 배우는 데 더 많은 시간을 소비합니다.

Plone은 사용 사례로 적합하지 않습니다. 그것은 컨텐츠 관리 시스템이지 일반적인 웹 프레임 워크가 아닙니다. 라이브러리가 사용하는 거의 모든 것이 다른 컨텍스트에서 재사용 될 수 있습니다. 흥미로운 사용자 경험을 개인화 된 콘텐츠로 제공하려는 경우 Plone은 사용자를위한 것이 아닙니다.

면책 조항 : 저는 Plone 및 Zope 2/Zope Toolkit의 릴리스 관리자이며 Pyramid를 사용했지만 Django는 사용하지 않았습니다.

-1

Plone 사용자로서 Plone에서 Content Objects를 만드는 것이 어렵다고 말할 수 있습니다. 그것을하는 방법에 대한 많은 문서가 없으며 복잡합니다. 어떤 사람들은 UML과 특수화 된 Plone 제품을 사용하여 더 쉽게 만들 것을 권유하지만 또 다른 종속성을 소개합니다.

"제품"(Plone 제품과 같지 않음)은 Plone에서 사용자가 직접 작성해야하는 콘텐츠 개체로 표시되기 때문에 콘텐츠 개체의 문제에 대해 언급했습니다.

Plone은 사용자, 편집자가 뉴스 기사, 보도 자료, 사진 등의 형태로 텍스트를 입력하고 승인하는 경우에 가장 적합합니다. 사용 사례 인 경우 해당 내용에 대한 사전 정의 된 콘텐츠 개체가 있으므로 글을 쓸 필요가 없습니다 그들 자신. --Jonathan 마크

+3

잘 설명되어 있지 않습니다. 가장 좋은 방법은 ZopeSkel 템플릿과 함께 코드 생성기를 사용하는 것입니다. 매우 똑바로. –

4

Dolmen project

는 CMS가 grok 수의 상단에 내장되어 있습니다. 아주 간단하지만 사용하는 사람은 거의 없습니다. Grok을 사용하면 GUI를 재사용 할 수 있습니다.

그러나 한노가 말했듯이 그록은 장고보다 배우는 데 더 많은 시간을 소비합니다. 또한 Django는 Grok보다 훨씬 많은 사용자를 보유하고 있습니다.

Grok을 사용하면 ZCML을 쓰거나 데코레이터를 사용하지 않고도 Zope Component Architecture에서 이익을 얻을 수 있다는 장점이 있습니다.

Pyramid/Pylons를 사용하면 매우 간단한 프레임 워크와 다른 것을 얻을 수 있습니다. 그것은 분리 된 프레임 워크이므로 원하는 템플릿 링 (Mako, Genshi, Jinja, Cheetah)을 자유롭게 사용할 수 있으며 sqlalchemy, zodb, mongoDb 등을 자유롭게 선택할 수 있으며 URL을 자유롭게 선택할 수 있습니다. 매핑 방식 (traversal 대 django-style 매핑 또는 둘의 조합). 원하는 경우 여기에서 ZCA를 사용할 수도 있습니다. 처음에는 상당히 혼란 스럽거나 장황해질 수 있습니다.

장고는 한 가지 방법으로 물건을 제공하는 일종의 모 놀리 식 프레임 워크입니다. 그래서 배우기 쉽고 좋은 옵션입니다. 하지만, 제 경험으로는 장고 표준에서 벗어나기를 원할 때가 있습니다. 많은 것들을 패치하지 않으면 간단히 할 수 없습니다.

그리고 Zope3의 경우 BlueBream 사본을 다운로드하여 사용하는 것이 좋습니다.