나는 편견이 있지만 (파이썬 전문가이지만 Java에서는 꽤 녹슨 편이지만) GAE의 Python 런타임은 현재 Java 런타임보다 더 발전되고 발전된 것으로 생각합니다. .
앞으로 진행될 방법은 물론 예측하기 어렵습니다. 자바에 대한 수요는 아마도 더 강력 할 것입니다 (특히 자바에 대한 것이 아니라 JVM 위에 다른 언어도 있기 때문에 PHP를 실행하는 방법) 또는 App Engine의 Ruby 코드); 그러나 Python App Engine 팀은 Python의 발명자이자 놀랍도록 강력한 엔지니어 인 Guido van Rossum에 탑승 할 수 있다는 이점이 있습니다.
유연성면에서 이미 언급했듯이 Java 엔진은 Java가 아닌 다른 언어로 만든 JVM 바이트 코드를 실행할 수있는 가능성을 제공합니다. 여러 언어 상점에서 상당히 긍정적입니다. 반대로, Javascript를 혐오하지만 사용자 브라우저에서 일부 코드를 실행해야하는 경우 Java의 GWT (Java 레벨 코딩에서 Javascript 생성)는 Python 측 대안 (실제로 원하는 경우 파이썬, 당신은이 목적을 위해 JS를 직접 작성할 것입니다 .Java를 선택하면 JS 작성을 싫어하는 경우 사용할 수있는 대안입니다.)
라이브러리의 관점에서 보면, 워시는 상당히 복잡합니다 .JVM은 스레드, 사용자 정의 클래스 로더, JNI, 관계형 DB가 없어 기존 Python보다 단순하게 기존 Java 라이브러리의 재사용을 방해 할 수 있습니다. 라이브러리는 Python 런타임에 대한 유사한 제한으로 인해 방해를받습니다.
성능 측면에서, 당신은 자신의 작업에 대한 벤치 마크를해야하지만 세척이라고 생각합니다. 응용 프로그램 엔진 때문에 큰 시작 시간과 메모리 공간을 할인하는 고도로 최적화 된 JIT 기반 JVM 구현의 성능에 의존하지 마십시오 환경이 매우 다릅니다 (앱의 인스턴스가 시작, 중지, 다른 호스트로 이동 등으로 인해 시작 비용이 자주 지불됩니다. 이러한 이벤트는 일반적으로 JVM보다 Python 런타임 환경에서 훨씬 저렴합니다).
XPath / XSLT 상황 (어구 론적 인 ...)은 양쪽에서 정확히 완벽하지는 않지만 JVM에서 조금 덜 나쁘다고 생각하지만 (실제로 Saxon의 실질적인 하위 집합을 실행할 수있는 곳) , 조심스럽게). AppPath Issues 페이지에서 제목에 XPath 및 XSLT를 사용하여 문제를 해결할 가치가 있다고 생각합니다. 지금은 특정 라이브러리를 요구하는 문제 만 있으며, 근시안적입니다. 좋은 XPath / XSLT가 어떻게 구현되는지는 중요하지 않습니다. 파이썬이나 자바를 사용하는 한. (특정 라이브러리는 기존 코드의 마이그레이션을 용이하게 할 수 있지만, "XSLT 변환을 신속하게 적용"과 같은 작업을 수행하는 것보다 덜 중요합니다!-). 잘 표현되면 (특히 언어 독립적 인 방식으로) 그런 문제에 별표를 표시한다는 것을 알고 있습니다.
마지막으로 : 동일한 데이터 스토어를 사용하는 다른 버전의 앱 (예 : 동일한 데이터 스토어 사용) 중 일부는 Python 런타임으로 구현되고 일부는 Java 런타임으로 구현 될 수 있으며 "default / active와 다른 버전에 액세스 할 수 있습니다. 하나는 명시 적 URL입니다. 따라서 다른 버전의 앱에서 Python 과 Java 코드를 사용하여 동일한 데이터 저장소를 사용하고 수정하여 훨씬 더 많은 유연성을 부여 할 수 있습니다 (하나는 foobar.appspot.com과 같은 "좋은"URL을 가지지 만) 브라우저에서 대화 형 사용자가 액세스하는 경우에만 중요합니다.