SORU
6 Temmuz 2009, PAZARTESİ


Seçme Java vs Google App Engine Python

Şu anda Google App Engine destekler Python Ve Java. Java desteği daha az olgun. Ancak, Java kütüphaneleri ve Java Java desteği özellikle uzun bir liste dilde kod yazmak için kullanılan ne olursa olsun gibi görünüyor. Hangi dil daha iyi performans ve daha fazla güç verecek? Tavsiye lütfen. Teşekkür ederim!

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

Düzenleme: "Güç" bu çerçevenin dışında mevcut kütüphanelerin daha iyi genişleme ve katılım yani. Python sadece saf Python kütüphaneleri, gerçi sağlar.

CEVAP
6 Temmuz 2009, PAZARTESİ


Ben önyargılı (bir Python uzmanı ama çok paslı Java) ama bence Python zamanı GAE şu anda daha gelişmiş ve daha gelişmiş daha Java çalışma zamanı -- eski oldu fazladan bir yıl için geliştirmek ve olgun.

İşler nasıl devam aynen devam tabii ki zor tahmin talep muhtemelen daha güçlü Java tarafı (özellikle değil sadece Java, ama diğer diller tünemiş üstüne JVM de bu şekilde çalıştırmak örneğin PHP veya Ruby kod App Engine); Python App Engine takım ancak var avantajına sahip gemide Guido van Rossum, mucit Python ve inanılmaz güçlü mühendis.

Açısından esneklik, Java motoru olarak bahsedildiği, teklif olasılığı çalışan JVM bayt tarafından yapılan farklı bir dil değil, sadece Java -- eğer bir çoklu dil shop bu çok büyük bir pozitif. Tam tersi, eğer senden nefret Javascript yürütmek gerekir ama bazı kod tarayıcı, Java GWT (oluşturma Javascript için sizden Java düzey kodlama) çok daha zengin ve daha gelişmiş daha Python-yan alternatifler (uygulama, isterseniz, Python, olacaksın yazarken bazı JS kendinizi bu amaçla, ederken seçerseniz Java GWT kullanışlı bir alternatif eğer senden nefret yazmaya JS).

Açısından kütüphaneler oldukça fazla yıkama -- JVM sınırlandırılır yeterli (iş parçacığı, hiçbir özel sınıf yükleyiciler, JNI, ilişkisel DB) engel basit yeniden varolan Java kütüphanelerini kadar, veya daha fazla, daha varolan bir Python kütüphaneleri benzer şekilde sekteye tarafından benzer kısıtlamalar Python çalışma zamanı.

Açısından performans, bence bir yıkayın ama gereken kriter görevleri kendi -- güvenme performansı çok iyimserlik JİT tabanlı uygulamaları JVM iskonto onların büyük başlatma süreleri ve bellek ayak izleri, çünkü app engine ortam çok farklı (başlangıç masrafları ödenir sık olarak örneklerini uygulaması başladı, durdu, hareket için farklı bilgisayarlar, vb, tüm trasparently için ... bu tür olaylar genellikle çok daha ucuz olan Python ortamları daha Jvm'ler).

XPath/XSLT durum için üstü kapalı...) değil, tam olarak mükemmel iki tarafından, bir iç çekiş, ama bence olabilir biraz daha az kötü JVM (burada, görünüşe göre, önemli alt Sakson yapılabilir koş, bazı bakım). Bence denemeye değer açılış konularda Appengine Issues sayfa ile XPath ve XSLT kendi başlıkları şu anda orada sadece sorunları sorduğunuz için özel kütüphaneler ve miyop: bilmiyorum gerçekten NE kadar iyi bir XPath/XSLT uygulanır, için Python ve/veya Java, sürece ben almak için kullanın. (Özel kütüphaneler mevcut kod geçiş kolay olabilir, ama bu gibi görevleri gerçekleştirmek için güçlü olmak daha önemli "hızla XSLT dönüşümü Uygula" bir şekilde!-). (Özellikle dilden bağımsız bir şekilde) ifade edilmiş, eğer böyle bir konu star edeceğimi biliyorum.

Son ama en az değil: unutmayın alabilirsin farklı versiyonu app (kullanarak aynı veri deposu) bazı uygulanan ile Python çalışma zamanı, bazı Java çalışma zamanı ve erişim sürümleri farklı "varsayılan/aktif" bir açık URLs. Python olabilirveJava kod (farklı sürümlerini app) kullanın ve sonra Değiştir aynı veri deposu, verme, daha fazla esneklik (gerçi sadece bir tane olacak "güzel" URL gibi foobar.appspot.com -- ki muhtemelen önemli yalnızca erişim ile interaktif kullanıcıların tarayıcıları, hayal ediyorum;-).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • foreignimage

    foreignimage

    13 HAZİRAN 2006
  • TecnoTutosPC

    TecnoTutosPC

    19 Kasım 2012