最近准备在GAE上练个小程序,因为对Java熟悉,开始时用了几个Servlet + JSP,慢慢觉得很蹩脚:为什么不用framework呢?既然Java上的开源框架这么多。后来查了下,感觉很麻烦,大多数都要修改后才能放到GAE,这里有个支持列表。于是想要用Rails,不是有JRuby么,不过也要修改,特别是数据访问的一部分,毕竟GAE没有关系数据库,还有很多其他限制。郁闷。那用Django吧,GAE对其支持还是很全面的,可惜对Python不熟,django更不熟,折腾了半天还是没搞好templete…

《程序员修炼之道》说,“每年至少学习一种新语言。”很难做到啊!

对于大多数只懂少数几门语言的人来说,GAE就有这个缺点:语言支持有限。为方便管理,限制太多。提供一个平台或者容器固然好,如同JVM、eclipse和firefox,但是必须提供足够的灵活性和扩展性,不然容器就成紧箍咒,时时悬在开发者头上。当然这可能是GAE处在发展早期,慢慢可能会更成熟。

GAE这种Cloud computing优点在于价格合理,伸缩性更好。但这都是对发布和管理而言,对于开发者来说就没有那么友好了。比如一般的web hosting,基本上就如同操作自己的计算机,或者使用虚拟化技术,对于开发者来说就更灵活了,只有这样,采用虚拟计算后,能够向下兼容,原来的资产才能顺利保留下来。