Google App Engine에서 Java 및 Python 선택


161

현재 Google App Engine은 Python 및 Java를 모두 지원합니다. Java 지원이 덜 성숙합니다. 그러나 Java는 더 긴 라이브러리 목록을 가지고 있으며 특히 해당 코드를 작성하는 데 사용되는 언어에 관계없이 Java 바이트 코드를 지원합니다. 어느 언어가 더 나은 성능과 더 많은 힘을 줄까요? 조언 부탁드립니다. 감사합니다!

편집 : http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine?pli=1

편집 : "파워"란 프레임 워크 외부에서 사용 가능한 라이브러리를 확장하고 포함하는 것이 더 좋습니다. 파이썬은 순수한 파이썬 라이브러리 만 허용합니다.


이제 Google App Engine은 Go (실험)를 지원 합니다. 그것에 대해 당신의 장점은 무엇입니까?
Benjamin Crouzier

@pinouchon 저는 Go를 사용하기 시작했으며 프로덕션 환경에서 GAE에 배포했습니다. GO는 GAE에서 매우 잘 작동하며 몇 초 안에 컴파일됩니다. 현명하게 웹 프레임 워크를 선택 :-)
미셸 주세페 Fadda에게

답변:


123

나는 편견이 있지만 (파이썬 전문가이지만 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을 가지지 만) 브라우저에서 대화 형 사용자가 액세스하는 경우에만 중요합니다.


9
GWT는 주로 클라이언트 측 기술입니다. 백엔드가 파이썬인지 Java인지에 관계없이 사용할 수 있습니다. 당신은 RPC에 내장 된 GWT가 아닌 JSON을 통해 rpc를함으로써 약간의 구문 설탕을 잃지 만 JS를 싫어하고 파이썬을 사용한다면 여전히 가치가 있습니다 :)
Peter Recore

9
GWT의 파이썬 대안으로 Pajamas ( pyjs.org )가 있습니다. GWT가 Java 코드에서하는 것처럼 Python 코드를 사용하여 Javascript로 컴파일합니다.
Dave Kirby

7
"5 년 후"관점을 제시하십시오. Java 개발자로서 GAE가 오래된 스택을 실행하고 있다고 생각합니다. GAE의 모든 Java 지원에서 Java 8 지원 ( Servlet API 2.5가 포함 된 레거시 Jetty 6 컨테이너뿐만 아니라 Java 6실행)을 찾을 수는 없습니다 . GAE의 단순성과 Google 강력한 서비스는 여전히 사랑하지만, 스택을 업그레이드 할 때까지 GAE for Java를 권장하지 않습니다.
Anthony Accioly 2018 년

72

이 앱에서 Python 및 Java 성능의 변경 사항을 확인하십시오.

http://gaejava.appspot.com/ (편집 : 사과, 링크가 끊어졌습니다. 그러나 마지막으로 실행되는 것을 볼 때 다음과 같은 파라가 여전히 적용됩니다)

현재이 간단한 테스트를 위해 Python과 Java에서 저수준 API를 사용하는 것이 Java의 JDO보다 빠릅니다 . 최소한 기본 엔진이 변경되면 해당 앱은 성능 변경을 반영해야합니다.


5
모든면에서,이 테스트는 무의미 할 정도로 단순하다는 것을 알았습니다. Java / GAE를 사용하는 경우 저수준 API를 사용하고 JDO 또는 다른 프레임 워크를 사용하지 않는 것이 좋습니다. 더 중요한 것은, JDO는 관계형 데이터베이스로 작업하는 '느낌'을 제공하는데, 이는 '실수'일 수 있습니다.
Mo'in Creemers

1
나는 당신이 언급 한 이유 때문에 JDO를 피하는 것에 동의하지만 또한 저수준보다 느리기 때문에 동의합니다. (일반적으로 테스트에 나와있는대로) 성능 차이가 있음을 암시하므로 JDO를 사용하거나 특정 작업에 테스트하지 마십시오. JDO 및 저수준 API에서 Objectify로 내 모든 코드를 옮겼습니다. 그리고 어쨌든 파이썬은 확실히 GAE에서 성능의 나쁜 사촌이 아니라는 것을 보여줍니다.
Richard Watson

1
앱에서 내부 서버 오류가 발생했습니다.
tomdemuyt

1
고마워 톰 슬프게도 내 앱이 아닙니다. 링크 된 사람에게 메일을 보냈습니다.
Richard Watson

1
이 테스트에서 객관화가 어떻게 비교되는지보고 싶습니다
Moshe Shaham

18

다른 플랫폼에서 이러한 VM을 실행 한 경험을 바탕으로 파이썬보다 Java에서 더 많은 원시 성능을 얻을 수 있다고 말하고 싶습니다. 그러나 파이썬의 판매 포인트를 과소 평가하지 마십시오. 파이썬 언어는 코드 라인 측면에서 훨씬 더 생산적입니다. 일반적인 동의는 파이썬은 동등한 Java 프로그램 코드의 3 분의 1이 필요하지만 읽을 수있는 상태로 유지한다는 것입니다. 이 이점에는 명시적인 컴파일 단계없이 즉시 코드를 실행할 수있는 기능이 추가됩니다.

사용 가능한 라이브러리와 관련하여 광범위한 Python 런타임 라이브러리의 많은 부분이 Java와 마찬가지로 즉시 작동합니다. 인기있는 Django 웹 프레임 워크 ( http://www.djangoproject.com/ )도 AppEngine에서 지원됩니다.

'힘'과 관련하여 의미를 알기는 어렵지만 Python은 여러 도메인, 특히 웹에서 사용됩니다. YouTube는 Python으로 작성되며 Sourceforge와 마찬가지로 (지난 주 현재)


Judy2K 감사합니다! 힘으로 나는 더 많은 일을 할 수 있고 쉽게 확장 할 수 있습니다.
Viet

15

2013 년 6 월 : 이 동영상은 Google 엔지니어의 답변입니다.

http://www.youtube.com/watch?v=tLriM2krw2E

TLDR; 입니다 :

  • 귀하와 귀하의 팀이 가장 생산적인 언어를 선택하십시오
  • 프로덕션을 위해 무언가를 빌드하려는 경우 : Java 또는 Python (Go가 아님)
  • 대규모 팀과 복잡한 코드 기반이있는 경우 : Java (정적 코드 분석 및 리팩토링으로 인해)
  • 빠르게 반복되는 소규모 팀 : Python (Java도 괜찮음)

9

파이썬과 자바를 결정할 때 고려해야 할 중요한 질문 은 각 언어로 데이터 스토어를 사용하는 방법 입니다.

Java 의 경우 표준 방법은 JDO 또는 JPA를 사용하는 것입니다. 이들은 이식성에는 좋지만 데이터 스토어에는 적합하지 않습니다.

낮은 수준의 API를 사용할 수 있지만 일상적인 용도로는 너무 낮은 수준이므로 타사 라이브러리를 만드는 데 더 적합합니다.

Python 에는 애플리케이션에 데이터 저장소에 쉽고 강력하게 액세스 할 수 있도록 특별히 설계된 API가 있습니다. 휴대용이 아니기 때문에 GAE에 고정됩니다.

다행히 두 언어 모두에 대한 약점에 대한 솔루션이 개발되고 있습니다.

Java 의 경우 하위 레벨 API는 데이터 저장소보다 JDO / JPA (IMO)보다 훨씬 적합한 지속성 라이브러리를 개발하는 데 사용됩니다. 예는 Siena 프로젝트Objectify 입니다.

나는 최근 Objectify를 사용하기 시작했으며 사용하기 쉽고 데이터 저장소에 적합하며 인기가 높아지고 있습니다. 예를 들어 Objectify는 공식적으로 Google의 새로운 Cloud Endpoints 서비스에서 지원됩니다. 반면 Objectify는 데이터 스토어에서만 작동하지만 Siena는 데이터 스토어에서 영감을 얻었지만 다양한 SQL 데이터베이스와 NoSQL 데이터 스토어 모두에서 작동하도록 설계되었습니다.

Python 의 경우 GAE에서 Python GAE 데이터 저장소 API를 사용할 수 있도록 노력하고 있습니다. 한 가지 예는 Google이 SDK와 함께 사용하기 위해 출시 한 SQLite 백엔드이지만 이것이 프로덕션 환경으로 성장할 의향이없는 것 같습니다. TyphoonAE의 프로젝트는 아마 더 가능성이 있지만, 나는 (만약 내가 잘못 올바른 나) 아직 중 생산 준비가 생각하지 않습니다.

누구든지 이러한 대안에 대해 경험이 있거나 다른 것을 알고 있다면 의견에 추가하십시오. 개인적으로 저는 GAE 데이터 스토어를 정말 좋아합니다. AWS SimpleDB에 비해 상당히 개선 된 것 같습니다. 따라서 이러한 노력을 통해 데이터를 사용하는 데있어 일부 문제를 완화하고자합니다.


7

GAE에 Java를 강력하게 권장하고 있으며 그 이유는 다음과 같습니다.

  1. 성능 : Java는 잠재적으로 Python보다 빠릅니다.
  2. 파이썬 개발은 타사 라이브러리가 부족하다는 압박을 받고 있습니다. 예를 들어, Python / GAE 용 XSLT는 전혀 없습니다. 거의 모든 Python 라이브러리는 C 바인딩이며 GAE에서 지원하지 않습니다.
  3. Memcache API : Java SDK는 Python SDK보다 흥미로운 기능이 있습니다.
  4. 데이터 스토어 API : JDO는 매우 느리지 만 기본 Java 데이터 스토어 API는 매우 빠르고 쉽습니다.

현재 개발에 Java / GAE를 사용하고 있습니다.


1
@Paul-JDO가 갈 길이 없다면 GAE에서 Java를 사용하여 지속성을 처리하는 가장 좋은 방법을 추천하거나 링크를 줄 수 있습니까?
Mark

1
@Mark, 지연되어 죄송합니다. code.google.com/p/objectify-appengine 이 현재 최선의 선택 이라고 생각 합니다.
Paul

7
포인트 # 2 및 # 3의 명백한 허위와 의미가없는 # 4의 경우 -1입니다.
Triptych

@Triptych, python / GAE 용 XSLT 프로세서의 이름을 알려주십시오. 그리고 memcache / python / GAE에 대한 CAS (putIfUntouched) 작업과 동등한 기능은 무엇입니까?
Paul

1
@Paul 당신이 내가 그 것들을 당신의 대답의 일부로 고려하기를 원한다면, 당신의 대답에 그것들을 포함시켜야합니다. 대신, 당신은 반 진실의 문자열을 포함합니다. 아무도 당신이 지금오고있는 코너 케이스에 기초하여 언어를 선택하지 않습니다.
Triptych

6

확인했듯이 JVM을 사용한다고해서 Java 언어를 사용하는 것으로 제한되지는 않습니다. JVM 언어 및 링크 목록은 여기 에서 찾을 수 있습니다 . 그러나 Google App Engine은 일반 Java SE 세트에서 사용할 수있는 클래스 세트를 제한하므로 이러한 구현 중 하나를 앱 엔진에서 사용할 수 있는지 조사해야합니다.

편집 : 당신이 그런 목록을 찾았습니다

파이썬의 성능에 대해서는 언급 할 수 없습니다. 그러나 JVM은 런타임 동안 코드를 동적으로 컴파일하고 최적화하는 기능을 제공하므로 성능면에서 매우 강력한 플랫폼입니다.

궁극적으로 성능은 응용 프로그램의 기능과 코딩 방법에 따라 다릅니다. 추가 정보가 없으면이 영역에 더 이상 포인터를 제공 할 수 없다고 생각합니다.


신속한 답변 감사합니다, 브라이언 URL 가져 오기 및 XML 파싱 및 XSLT 처리에 응용 프로그램을 집중하려고합니다. 브라우저에 HTTP 컨텐츠를 제공하는 것이 줄어 듭니다.
Viet

6

Python / Django SDK가 얼마나 깨끗하고 간단하며 문제가 없는지 놀랐습니다. 그러나 JavaScript를 더 많이 시작해야하는 상황이 발생하기 시작했으며 GWT 및 기타 Java 유틸리티를 활용할 수 있다고 생각했습니다. 나는 GAE Java 튜토리얼을 반쯤 마쳤으며 Eclipse 구성 문제, JRE 버전 염, Java의 복잡성 및 혼란스럽고 깨지기 쉬운 튜토리얼과 같은 문제가있었습니다. 이 사이트와 여기에서 링크 된 다른 사이트를 확인하면 나를 위해 클린치되었습니다. 파이썬으로 돌아가서 JavaScript 문제를 해결하기 위해 잠옷을 살펴 보겠습니다.


5

나는 대화에 조금 늦었지만 여기에 2 센트가 있습니다. 나는 두 언어에 정통하기 때문에 Python과 Java를 선택하는 데 어려움을 겪었습니다. 우리 모두 알다시피, 둘 다의 장단점이 있으며, 프로젝트에 가장 적합한 요구 사항과 프레임 워크를 고려해야합니다.

보통 이런 유형의 딜레마에서하는 것처럼, 나는 내 결정을 뒷받침 할 숫자를 찾습니다. 나는 여러 가지 이유로 파이썬과 함께 가기로 결정했지만, 내 경우에는 팁 포인트가 하나의 줄거리였습니다. 2014 년 9 월 기준으로 GitHub에서 "Google App Engine"을 검색 하면 다음 그림이 표시됩니다.

GAE 언어 통계

이 수치에는 많은 편견이있을 수 있지만 전반적으로 GAE Java 저장소보다 3 배 더 많은 GAE Python 저장소가 있습니다. 뿐만 아니라 "별 수"로 프로젝트를 나열하면 대부분의 Python 프로젝트가 맨 위에 표시됩니다 (Python이 더 오래 사용되었다는 점을 고려해야합니다). 필자는 오픈 소스 프로젝트의 커뮤니티 채택 및 지원, 문서화 및 가용성을 고려하기 때문에 Python에 대한 강력한 사례입니다.


3

좋은 질문입니다. 많은 답변이 울타리 양쪽에 찬반 양론의 좋은 견해를주었습니다. Python과 JVM 기반 AppEngine을 모두 시도했습니다 (제 경우에는 AppEngine 용으로 작성된 Groovy 응용 프로그램 프레임 워크 인 Gaelyk 을 사용하고있었습니다 ). 플랫폼의 성능과 관련하여 필자가 쳐다볼 때까지 고려하지 않은 한 가지는 펜스의 Java 측에서 발생하는 "로드 요청"의 의미입니다. Groovy를 사용할 때 이러한 로딩 요청은 킬러입니다.

주제 ( http://distractable.net/coding/google-appengine-java-vs-python-performance-comparison/ ) 에 게시물 을 작성하고 문제를 해결할 방법을 찾고 싶습니다. 그렇지 않다면 콜드 스타트 ​​자바 요청이 영향을 미치지 않을 때까지 파이썬 + 장고 조합으로 되돌아 갈 것이라고 생각합니다.


3

Java 사용자가 Python 사용자와 비교하여 AppEngine에 대해 불평하는 정도에 따라 Python의 스트레스가 훨씬 적습니다.


7
나는 포드 소유자가 Koenigsegg 소유자보다 자동차에 대해 훨씬 더 불평하고 있다고 들었습니다. 왜 그런가요?
Axarydax

2

Unladen Swallow 프로젝트도 있습니다 . Google 소유가 아닌 경우 Google이 자금을 지원하는 것 같습니다. 그들은 Python 2.6.1 바이트 코드에 대한 LLVM 기반 백엔드를 구현하려고 시도하므로 JIT 및 다양한 멋진 기본 코드 / GC / 멀티 코어 최적화를 사용할 수 있습니다. 인용문 : "우리는 가능한 한 최근 30 년간의 연구를 최대한 활용하여 독창적 인 작업을하지 않기를 간절히 바라고 있습니다."그들은 CPython보다 5 배 빠른 속도를 찾고 있습니다.

물론 이것은 당신의 즉각적인 질문에 대한 답은 아니지만, 미래에 (존재한다면) "격차 해소"를 지향합니다.


1
Unladen Swallow는 이제 죽은 프로젝트이며 마지막 커밋은 1 년넘었습니다 .
tshepang

2

오늘날 파이썬의 아름다움은 다른 언어와 얼마나 잘 통신하는지입니다. 예를 들어 Jython과 동일한 테이블에 파이썬과 자바를 둘 다 가질 수 있습니다. 물론 jython은 Java 라이브러리를 완전히 지원하지만 완전히 python 라이브러리를 지원하지는 않습니다. 그러나 Java 라이브러리를 망가 뜨리려는 경우 이상적인 솔루션입니다. 추가 코딩없이 Java 코드와 혼합 할 수도 있습니다.

그러나 파이썬 자체조차도 몇 가지 단계를 무시했습니다. 파이썬 코딩의 안락함을 남기지 않고 C 라이브러리 근처의 c 유형을 참조하십시오. Cython은 한 단계 더 발전하여 C 코드를 Python 코드와 쉽게 혼합 할 수 있으며 c 또는 c ++로 엉망이되지 않더라도 Python으로 코딩 할 수는 있지만 정적 유형 변수를 사용하여 C 프로그램만큼 빠르게 파이썬 프로그램을 만듭니다. . Cython은 Google에서 사용하고 지원합니다.

어제 나는 심지어 파이썬이 C 또는 심지어 어셈블리 (CorePy 참조)를 인라인 할 수있는 도구를 찾았습니다.

파이썬은 확실히 매우 성숙한 언어이며, 스스로 서있을뿐만 아니라 다른 언어와 쉽게 협력 할 수 있습니다. 나는 그것이 매우 발전되고 까다로운 시나리오에서도 파이썬을 이상적인 솔루션으로 만드는 것이라고 생각합니다.

파이썬을 사용하면 C / C ++, Java, .NET 및 기타 거의 모든 추가 라이브러리를 사용하여 코딩을 최소화하고 단순화하고 아름답게하는 언어를 얻을 수 있습니다. 매우 유혹적인 언어입니다.


문제는 GAE에서 Java vs python에 관한 것이며 많은 제약이 있습니다. 그러므로 당신의 주장은 적용 할 수 없습니다.
Daniyar

@Daniyar에 동의합니다.이 답변은 비트 (또는 아마도 완전히)에서 벗어 났지만 대답을 좋아하며 이것은 내가 찾고있는 것입니다. 이 지식을 공유해 주셔서 감사합니다. 이곳이 잘못된 곳일 수도 있지만 지식을 공유 한 것은 분명합니다. +1과 그에 대한 명성.
zeFree

1

GWT는 내가 개발중인 앱 종류와 완벽하게 일치하지만 파이썬으로 사라졌습니다. JPA는 GAE에 엉망입니다 (예 : @Embeddable 및 기타 모호하지 않은 문서화되지 않은 제한 사항 없음). 일주일을 보냈을 때 Java가 현재 GAE에 제대로 느끼지 못한다고 말할 수 있습니다.


1

고려해야 할 생각 중 하나는 사용하려는 프레임 워크입니다. Java 측의 모든 프레임 워크가 App Engine에서 실행되는 애플리케이션에 적합하지는 않습니다. 이는 전통적인 Java 앱 서버와 다소 다릅니다.

고려해야 할 한 가지는 응용 프로그램 시작 시간입니다. 전통적인 Java 웹 앱을 사용하면 실제로 이것을 생각할 필요가 없습니다. 응용 프로그램이 시작된 다음 실행됩니다. 시작하는 데 5 초 또는 몇 분이 걸리더라도 실제로 중요하지 않습니다. App Engine을 사용하면 요청이 들어올 때만 응용 프로그램이 시작되는 상황이 발생할 수 있습니다. 이는 응용 프로그램이 부팅되는 동안 사용자가 대기 중임을 의미합니다. 예약 인스턴스와 같은 새로운 GAE 기능이 여기에 도움이되지만 먼저 확인하십시오.

또 다른 것은 Java에 대한 GAE psoes의 다른 제한 사항입니다. 사용할 수있는 클래스 또는 스레드가 허용되지 않거나 로컬 파일 시스템에 액세스 할 수 없다는 사실에 대한 제한 사항에 모든 프레임 워크가 만족 스럽지는 않습니다. 이러한 문제는 GAE 호환성에 대한 인터넷 검색만으로 쉽게 찾을 수 있습니다.

또한 일부 사람들은 현대 UI 프레임 워크 (Wicket, 즉)의 세션 크기 문제에 대해 불평하는 것을 보았습니다. 일반적으로 이러한 프레임 워크는 개발을 재미 있고 빠르고 쉽게 만들기 위해 특정 절충안을 수행하는 경향이 있습니다. 때때로 이것은 App Engine 제한 사항과 충돌을 일으킬 수 있습니다.

처음에는 Java를 사용하여 GAE 작업을 개발하기 시작했지만 이러한 이유로 인해 Python으로 전환했습니다. 제 개인적 느낌 은 Python이 App Engine 개발에 더 나은 선택이라는 입니다. 예를 들어 Amazon의 Elastic Beanstalk에서 Java는 "집에"있다고 생각합니다.

그러나 App Engine을 사용하면 상황이 매우 빠르게 변화하고 있습니다. GAE는 자체적으로 변화하고 있으며 인기가 높아짐에 따라 프레임 워크도 한계를 극복하기 위해 변화하고 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.