구글 앱 엔진(Google App Engine) 줄여서 GAE라고들 부른다.
GAE는 파이썬과 자바를 지원한다.
따로 서버 관리가 필요 없기 때문에 개인 개발자는 개발에만 집중하면 되므로 매력적이라고 할 수 있다.

Google App Engine lets you run your web applications on Google's infrastructure.

  • App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow.
  • With App Engine, there are no servers to maintain:
    • You just upload your application, and it's ready to serve your users.

You can serve your app from your own domain name (such as http://www.example.com/) using Google Apps. Or, you can serve your app using a free name on the appspot.com domain. You can share your application with the world, or limit access to members of your organization.

Google App Engine supports apps written in several programming languages.

  • With App Engine's Java runtime environment, you can build your app using standard Java technologies, including the JVM, Java servlets, and the Java programming language—or any other language using a JVM-based interpreter or compiler, such as JavaScript or Ruby.
  • App Engine also features a dedicated Python runtime environment, which includes a fast Python interpreter and the Python standard library.
  • The Java and Python runtime environments are built to ensure that your application runs quickly, securely, and without interference from other apps on the system.

With App Engine, you only pay for what you use.

  • There are no set-up costs and no recurring fees.
  • The resources your application uses, such as storage and bandwidth, are measured by the gigabyte, and billed at competitive rates.
  • You control the maximum amounts of resources your app can consume, so it always stays within your budget.

App Engine costs nothing to get started.

  • All applications can use up to 500 MB of storage and enough CPU and bandwidth to support an efficient app serving around 5 million page views a month, absolutely free.
  • When you enable billing for your application, your free limits are raised, and you only pay for resources you use above the free levels.

출처: 구글 코드 구글 앱 엔진 소개 페이지

이제 대세는 HTML 5이다.

물론 새로운 요구사항이 생겨서 플래시같은 또다른 플러그인이 안나오라는 보장은 없지만 이렇게 새로운 스펙으로 합쳐지고 쪼개지는 현상이 계속 반복될 것이다.

이제는 다시 통합 스펙으로 나올 시기인데 그 결과물은 바로 HTML 5가 될 것이다.

  • 웹 플랫폼에 대해서 강조
    • iPhone
    • Opera
    • Safari
    • Android
    • Chrome
  • 자바스크립트 속도 향상
  • HTML 5
    • 킬러앱을 만들 절호의 기회
    • 웹을 더 빠르게~
  • HTML 5 특징
    • 캔버스
      • <canvas> 태그 사용
      • 실버라이트 플래시 없이 사용가능
      • 플러그인 없음!
      • 자바스크립트, DOM, CSS로만 가능
      • 픽셀 단위로 제어
    • 3D 그래픽
      • 자바스크립트 API
      • 데모
        • 파이어폭스, IE, 크롬에서 동작
    • 비디오
      • <video> 태그 사용
      • 유튜브에서 사용
    • 지역 위치 30:00
      • Geo Location API
      • 구글 맵에서 지원
      • 웹은 개발 플랫폼이다!
      • 로컬에서 자바스크립트 사용 가능
    • 웹 앱스 44:00
      • App Cache
      • 오프라인모드
    • Palm webOS 48:00
      • HTML, CSS, JavaScript
    • 백그라운드 프로세싱 53:00
      • 자바스크립트를 백그라운드로 처리
      • UI 반응성 향상
  • Google App Engine for Java 56:00
    • 구글에서 웹 인프라 제공
    • memcache APi
    • SSL 지원
    • 백그라운드 프로세싱
    • 자바 언어 지원
    • 다른 동적 자바 언어 지원
    • 데모 1:00:00
  • Google Web Toolkit 1:05:00
    • 구글 앱 엔진의 프론트 엔드
    • CSS는 디버깅하기 힘듬
    • GWT는 그점을 커버함
    • GWT는 브라우저에서 바로 디버깅 가능
    • 디버깅 데모 1:06:50
    • 자바스크립트 파일이 크면 로딩타임이 오래 걸림
    • 따라서 파일을 조각내야함
    • runAsync() split 포인트 지정으로 부하 조정가능
    • runAsync()를 쓰면 최대 7배 대기시간이 줄어듬
  • Google Web Elements 1:12:10
    • 검색, 뉴스, 지도, 채팅 등
    • 자신의 페이지에 내장할 수 있음
  • 안드로이드 1:17:30
    • 차기버전 도넛
    • 질의 하나로 웹, 연락처 등 모든 것을 검색
    • 사용자 행동 빈도에 따라 맞춰 동작
    • 스피치 컨트롤 API
    • TTS API (텍스트를 읽어줌)
    • SVOX 오픈 소스

'Web' 카테고리의 다른 글

me2API 메소드 리스트  (0) 2010.02.09
me2API 오류 코드  (0) 2010.02.08
[링크] HTML5의 모든것  (0) 2010.02.03
[링크] 웹 개발자 리소스  (0) 2010.02.03
Apache CouchDB e-Book  (0) 2010.01.22
Apache CouchDB  (0) 2010.01.22
RESTful  (0) 2010.01.22

 

준비사항

  • Google App Engine SDK
  • Grails 1.1.1 (상위버전은 아직 동작안함)

Grails App 생성

grails create-app gae_demo

App-Engine 플러그인 설치

cd gae_demo

grails install-plugin app-engine

  • 플러그인 설치 과정 중 jpa 선택

도메인 클래스 생성

grails create-domain-class gae.Note

  • 패키지 명을 넣지 않으면 구글 앱 엔진이 동작하지 않는다.

Note에 대한 컨트롤러와 뷰 생성

grails generate-all gae.Note

도메인 클래스 어노테이션 변경

  • @Entity, @Id, @GeneratedValue 등은 Grails에서 추가한 어노테이션임
  • @Basic 어노테이션을 추가

package gae

import javax.persistence.*
//import com.google.appengine.api.datastore.Key

@Entity
class Note implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    Long id

    @Basic
    String message
}

뷰와 컨트롤러 생성

grails generate-all gae.Note

구글 앱 엔진 배포

  • 구글 앱 엔진 웹사이트에서 애플리케이션을 생성한다.
  • 애플리케이션 생성시 이름을 넣고 이 이름을 grails-app/conf/config.groovy에 다음 라인을 추가

google.appengine.application = “<애플리케이션명>”

호스팅을 위하여 버전을 명시하고 패키징

grails set-version 1
grails app-engine package
$APPENGINE_HOME/bin/appconfig.sh update ./target/war

배포 실행

grails app-engine deploy

참고

+ Recent posts