2011-03-06 2 views
6

파이썬에서 페이스 북 응용 프로그램을 개발 한 경험에 대해 묻고 싶습니다. 다음 중이 언어에 가장 널리 사용되는 웹 프레임 워크 중 가장 적합한 것으로 생각되는 것은 무엇입니까? "최고"라는 단어는 매우 주관적인 단어이므로 다음 언어에 특히 관심이 있습니다.페이 스북 응용 프로그램 개발을위한 파이썬 프레임 워크

  • 대부분의 재사용 가능한 라이브러리. 예를 들어, 새로운 페이스 북 사용자 로그인 계정을 자동으로 만들지 만, 대신 대체 사용자 이름 + 비밀번호 로깅 기능을 제공 할 수 있습니다. 나는 이것에 꼭 맞게 인증이 필요합니다.
  • Facebook 응용 프로그램은 CMS와 같은 사이트와 다른 경향이 있습니다. 그들은 행동 집약적입니다. 좀 더 복잡한 유스 케이스의 경우, Open Graph API에서 가져온 데이터를 캐싱하는 것이 보통 로컬 및 페이스 북 데이터에 대해 한 번에 쿼리를 수행 할 수 있어야합니다 (예 : 우정 관계에 따라 일부 테이블을 조인).
  • 저는 인기있는 솔루션을 선호합니다. 그들은 단지 훨씬 더 안정적이고 잘 생각하는 것 같습니다. 나는 이전에 Grails에서 페이스 북 응용 프로그램을 개발했고, 아키텍처와 일반적인 아이디어가 마음에 들었던만큼 벌레와 합병증의 양은 너무 적었습니다. 또한 그루비는 여전히 개발할 이국적인 언어이며 이번에는 독자적으로 작업하지 않을 것입니다.

저는 파이썬에는 익숙하지 않지만 파이썬에서 웹 개발에 처음 익숙합니다. Grails와 그 모든 우여곡절을 경험 한 후에도 파이썬이 정말로 나를 놀라게 할 수는 없을지 모르지만.

답변

10

전체 스택 프레임 워크가 필요한 경우 모든 유형의 웹 응용 프로그램을 개발하기위한 가장 쉽고 인기있는 프레임 워크로는 거의 확실하게 Django과 함께 갈 것입니다.

특히 Django의 앱 우주와 관련하여 많은 활성 응용 프로그램이 많지만 그 역시 단점이 있습니다. 어떤 '하나'에 대한 표준 응용 프로그램은 없지만 기본적으로 필요한 모든 기능의 90 %를 수행 할 응용 프로그램이 몇 가지 있습니다. 때로는 코드가 잘못 작성되었지만 대부분의 경우 앱이 제대로 작동하고 필요한 작업을 수행하므로 누군가 코드에 바로 뛰어 들어갈 필요가 거의 없습니다.

옵션을 좁히면 Omab의 Django-Social-Auth을 통합하는 데 큰 도움이되었습니다. 내 settings.py에 3 개의 변수가 필요했고 저는 실행 중이 었습니다.

당신이 django.contrib.auth.User 모델을 사용하지 않을 경우에만 문제가 될 수도 있지만, 그 사용에 대한 생각을하지 않을 경우, 나는 :) 두 번 그 결정에 대해 생각

이 더욱를 좁히려 , pyfacebook은 Facebook 통합을위한 또 다른 옵션입니다. djangofb 응용 프로그램과 함께 제공되므로 settings.py에 추가하면 문제가 없습니다. 심지어 배포판의 일환으로 장고 애플리케이션 예제도 함께 제공됩니다. 이 응용 프로그램을 사용해 봤지만 Omab이 훨씬 쉽게 통합 할 수 있다고 생각합니다.

마지막으로 Facebook 자신의 python-sdk은 단순한 Python API를 사용하여 API에 액세스 할 수있는 원시 관점에서 쉽게 통합 할 수 있습니다. 그러나 YMMV는 App Engine 사용자에게 더 많은 도움을주는 것으로 보입니다.

+0

언급 한 auth.User와 같은 기본 Django 인프라를 확장하는 것이 어렵다고 생각합니까? 일반적인 장고 접근 방식은 다르게 할 수 없으므로 유용한 프로젝트를 포크하는 것이 매우 일반적이라는 말을 많이 들었습니다. – julkiewicz

+0

프레임 워크와 양날, 특히 Django와 같은 전체 스택 프레임 워크는 'framework-name-here (장고) 방식으로 작업하는'스타일을 적용한다는 것입니다. 프레임 워크 관리자가 사용자베이스의 가장 좋은 점을 염두에두고 어느 시점에서 결정을 내려야했기 때문에 궁극적으로 일부 의견이 분명한 기능이 있습니다. 즉, 기본 인프라를 확장하기는 쉽지만 * 단지 __django - * __ 플러그인 세계가 자신의 디자인 의견을 따르기를 기대하지 마십시오 :) –

+0

그래, 나는 장고가 모듈성에 대한 접근 방식은 그 밖의 다른 프레임 워크와 비교하여 다소 차이가 있거나 다소 제한적입니다. 나는 장고 방식으로 일을 수행하고자합니다. 그것은 "장고는 CMS에 더 적합합니다"라는 말을 여러 번 읽었을뿐입니다. – julkiewicz

1

나는 오랫동안 장고를 사용 해왔다. 늦게 나는 대신 Jinja2을 사용합니다. 특별한 이유는 없지만 또 다른 옵션입니다

+0

안녕 블레어, 질문에 대답하기 시작하는 시간을내어 주셔서 감사합니다! 질문의 글 머리 기호 중 일부를 다룬 경우 답변을 마무리하는 데 도움이됩니다 (예 : Jinja2가 그것을 사용하는 적극적인 개발자 그룹을 갖고있는 것 같습니까? – Windle

0

지금 장고를 시작하고 싶지 않으면.Flask (장고보다 시작하기가 훨씬 쉽다)를 배우고 나서 Flask로 앱을 시작하십시오.

관련 문제