Skip to content

April 21, 2009

4

Google App Engine ile Uygulama GeliÅŸtirme

.

Bugün Google App Engine ile biraz uÄŸraÅŸayım dedim. Gerçekten çok hoÅŸuma giti. Guestbook tutorial’ini sonuna kadar okudum ve uyguladım. Sadece 1.5 KB’lık bir Python betiÄŸi sonucunda ortaya çıkan uygulama gayet ÅŸaşırtıcı. Gmail hesabınızla giriÅŸ yapıp yazı yazılabileceÄŸiniz bir ziyaretçi defteri. EÄŸer python ile uygulama geliÅŸtriyorsanız veya böyle bir fikriniz varsa ÅŸiddetle tavsiye ederim. En çok beÄŸendiÄŸim kısmı ise Django kurabilmemiz. Ayrıca bir proje birden fazla kullanıcı tarafından geliÅŸtirilebiliyor. Bir proje için 500 MB alan veriyor (beleÅŸ tarifede) . Trafik, CPU kullanımı vs. gibi bazı özellikleri arttırmak istediÄŸimizde ise para ödemek zorunda kalıyoruz. Küçük ve orta ölçekte uygulamalar için para ödemeden kullanılabilir gibi görünüyor.

Kısaca nasıl kullanıldığını anlatayım.

  • ÅŸuradan Google App Engine’e gmail hesabınızla üye oluyorsunuz. Sms ile aktivasyon yapmanız gerekiyor.
  • ÅŸuradan Create an Application dedikten sonra bir uygulama oluÅŸturuyoruz. Bir gmail hesabıyla 10 toplam 10 adet uygulama oluÅŸturabiliyoruz.
  • ÅŸuradan Google App Engine SDK’yı indirip kuruyoruz.
  • ÅŸuradan dökümantasyonu okuyup nasıl baÅŸlayacağımızı öğreniyoruz.

Tutorialdaki örneği birlikte yapalım:

  • helloworld isminde bir dizin oluÅŸturup içine app.yaml isminde bir dosya oluÅŸturalım ve içeriÄŸi şöyle olsun:
application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: helloworld.py
  • Yukarıda projemizi tanımlayan bir dosya oluÅŸturduk. Uygulama ismi helloworld, versiyonu 1, çalışma ortamı python, api versiyonu 1 ve /* adresinin kaynak dosyası da helloworld.py
  • helloworld dizininin içine helloworld.py isminde bir dosya oluÅŸturup içeriÄŸini şöyle yapalım:
print 'Content-Type: text/plain'
print ''
print 'Hello, world!'
  • DOS komut isteminden dev_appserver.py helloworld/ komutunu verip sunucumuzu çalıştıralım. Bu komutu yazarken helloworld dizininin bir üst dizininde olmalıyız.
  • Web tarayıcımızdan http://localhost:8080/ yazdıktan sonra kodlarımızın çalıştığını görebiliriz. Ekranda sadece bir Hello, world! görüyoruz.
  • Uygulamamızı sunucuya yüklemeden önce app.yaml dosyasındaki application: helloworld satırını deÄŸiÅŸtirmemiz lazım. helloworld yerine kaydolurken belirlediÄŸimiz projenin ismini yazalım.
  • Yaptıklarımızı App Engine sunucularına yüklemek için komut isteminden appcfg.py update helloworld/ yazdığımızda bizden gmail kullanıcı adını ve parolasını sorduktan sonra yükleyecektir.
  • uygulama-adi.appspot.com adresinden uygulamanızı görebilirsiniz.

Ayrıntılı dökümantasyon için şuraya bakabilirsiniz. Ama önce şu sayfalara bakmanızı tavsiye ederim: giriş, geliştirme ortamı, merhaba dünya, webapp çatısının kullanımı, kullanıcı servisleri, webapp formları, datastore kullanımı, şablon kullanımı, statik dosya kullanımı, uygulamayı yükleme.

Benzer yazılar:

4 Comments Post a comment
  1. Adil
    Sep 16 2010

    Merhaba,

    c: klasöründe appcfg.py olmadığından bende c:>program files>google klasöründen appcfg.py dosyasını alıp c’ye atıp appcfg.py update helloworld/ komutunu verince Traceback (most recent call last):
    File “appcfg.py”, line 69, in
    run_file(__file__, globals())
    File “appcfg.py”, line 65, in run_file
    execfile(script_path, globals_)
    IOError: [Errno 2] No such file or directory: ‘C:\\google\\appengine\\tools\\app
    cfg.py’

    HATASı veriyor.

    sonra google app engine launcher programından deploy edince uygulama-adi.appspot’ta görünüyor. ama bazende görünmüyor nedendir sizce?

  2. admin
    Sep 18 2010

    appcfg.py dosyasını kopyalamanıza gerek yok. Nereye kurduysanız oradan çalıştırın. Yer değiştirdiğiniz için hata veriyor.

Trackbacks & Pingbacks

  1. Django Dersleri - 3: Google App Engine & Django | ftoptas blog
  2. Google App Engine ile Alexa Rank DeÄŸerini Okuma – urlfetch fonksiyonu | ftoptas blog

Share your thoughts, post a comment.

(required)
(required)

Note: HTML is allowed. Your email address will never be published.

Subscribe to comments