| 作者 | 小玩了一把Google App Engine Java和Groovlet |
|
Chris1919 2009-04-09 21:35 |
Google真是替很多Developer解决了入门级hosting的问题,特别是对那些冷门编程语言而言。不过目前Groovy貌似没法在GAE Java本地SDK上跑,在GAE服务器上没问题。另外,Groovlet第一次加载的时候好慢,下面这个简单的加载要十几秒。
html.html {
head {
title "Hello"
}
body {
p "Hello! hahaha..."
}
}
这里有一些关于Groovy@GAE的简单介绍: http://yuntien.com/o7WK |
|
Chris1919 2009-04-12 00:01 |
看了下GAE Java对Datastore的封装,也就是JDO和JPA。怎么看怎么觉得繁琐,还是GAE Python里面的model用起来确实是漂漂亮亮简简单单。 下面这段是GAE Java JDO的代码: import java.util.Date;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Employee {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
@Persistent
private String firstName;
@Persistent
private String lastName;
@Persistent
private Date hireDate;
public Employee(String firstName, String lastName, Date hireDate) {
this.firstName = firstName;
this.lastName = lastName;
this.hireDate = hireDate;
}
// Accessors for the fields. JDO doesn't use these, but your application does.
public Long getId() {
return id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getHireDate() {
return hireDate;
}
public void setHireDate(Date hireDate) {
this.hireDate = hireDate;
}
}
如果用GAE Python来写就是:
from google.appengine.ext import db
class Employee (db.Model):
first_name = db.StringProperty(multiline=False)
last_name = db.StringProperty(multiline=False)
hire_date = db.DateTimeProperty(auto_now_add=True)
|