2012-05-26 2 views
3

잠시 동안 장고를 발견하고 몇 개의 앱을 작성했습니다. 그런 다음 Google App Engine을 발견했으며 특히 Python과 Django를 배트맨에게 특별히 언급하면서 스핀을 줄 수있게되어 기쁩니다.Google App Engine 및 django-nonrel

GAE hello World app를 사용하여 python 2.7로 GAE 설치를 확인했습니다. 나는 그때 장고 - nonrel 테스트 애플 리케이션에 문제가 있었다. 마지막으로 개인적인 오류를 찾아내는 것은 해결할 수없는 오류에이를 때까지 파이썬 경로에 약 7 가지 다른 것들이 추가되었다.

외모에 의해 나는 창문을 사용하여 약간 두드러진 경로를 벗어난 것처럼 보였으므로 VM에 새로운 우분투 사본을 설치하고 다시 시작했습니다. 확인 된 python 2.7, 권장 위치에 GAE를 넣어 여러 패키지를 복제하고 제공된 테스트 응용 프로그램 폴더에 심볼릭 링크했습니다. 언제 ./manage.py runserver 다시 Windows에서 정지 상태로 두는 동일한 오류 메시지를 실행합니다.

문제점을 해결하기위한 필자의 시스템 레벨은 django-nonrel이 주요 개발자 사임으로 인해 막대한 손실을 입었다는 것입니다. GAE는 아직 잡고 있지 않으며 둘 사이에 간격을 형성하고 있습니다. 이 관찰이 맞습니까? 공동체가 어디로 가는가? 케이예요? (http://code.google.com/p/kay-framework/)

Google 자체 Python 프레임 작업을 사용하고 있습니까? 파이썬 대신 자바인가?

저는 GAE 프로젝트를 수행하는 수천 명의 사람들이 있다고 생각합니다. 그러나 나는 잘 밟은 길을 느끼지 못하고 있습니다. 아직도 장고미르에 대한 믿음을 가진 사람들이 많이 있습니까? 나는 경로 var 같은 무언가를 아주 간단하게 놓칠 수 있다는 것을 알지만 어쨌든 다른 것을 배워야한다면 계속 찾고 싶지 않습니다.

답변

4

저는 몇 달 동안 작업 해 왔지만 아직 시작하지 않은 프로젝트에 적극적으로 django-nonrel을 사용하고 있습니다. 지난 주 나는 django 1.4를 실행중인 최신 분기를 시도하기 위해 django-nonrel에서 현재 개발중인 개발자 중 한 명으로부터 제안을 받았습니다. django 1.4는 GAE SDK에서 공식적으로 제공되지 않습니다. 그러나 django-nonrel이 앞으로 벌어지고있는 것처럼 느껴진다. 그리고 그 문서는 먼지 속에 남아있다. 당신은 아마 가장 최신의 가장 큰 것을 사용하기위한 개발 껍질을 필요로 할 것입니다.

django-nonrel이 약간의 증기를 잃어 버렸을 수도 있지만 죽은 것 같지 않습니다. 한 가지주의 할 점은 액 티브 개발자 대부분이 mongo-db를 백엔드로 사용한다는 것입니다. 이것은 mongo-db 버전과 appengine 버전에 대한 단편화 가능성에 대한 두려움이 있지만 지금은 문제가되지 않습니다.

SO 및 메일 링리스트의 App Engine 스레드를 따르는 것에 대한 인식은 보컬 다수가 Java에 있다는 것입니다. 파이썬 사용자 중에서 일반적인 플랫폼은 webapp2 + 앱 엔진 기본 모델 + Jinja2 또는 유사한 템플릿 라이브러리입니다.

장점 : : 장고 - nonrel를 사용하여 내 경험에서

  • 내가 일을 원하는 제 3 자 파이썬 라이브러리, 이것은 나에게 많은 시간을 저장. 예를 들어, django-social-auth는 거의 모든 작업으로 페이스 북 및 트위터 로그인을 제공했습니다.

  • AppEngine을 다른 python + mongo 플랫폼으로 끌 수있는 가능성을 제공합니다.

단점 :

  • 이전 릴리스는 상위 쿼리에 대한 지원이 부족하지만이 1.4 분기에 지금있다.

  • 귀하는 자체 지원을 받으실 수 있습니다. 매우 유용한 다른 사람들이 몇 명 있지만 문제를 수정하고 기능을 추가하기 위해 코드베이스로 뛰어 들어야했습니다. App Engine SDK가 버그로 출시 될 때와 같이 몇 번이나이 작업을 수행했으나 거의 발생하지 않았습니다.

  • django는 webapp2를 말하는 것보다로드하는 데 약간 시간이 걸리지 만, 사용하지 않는 django.contrib의 모든 것을 제거하면 나쁘지 않습니다.

  • 당신은 ndb의 장점을 얻지 못합니다. 당신은 ndb 엔티티 캐싱을 놓치고 있습니다. 그러나 나는 훨씬 더 자주 쿼리를 사용하는 것으로 나타났습니다. 이것은 ndb 캐시가 아니기 때문에 큰 손실이 아닐 수도 있습니다.