时间 :2009年11月中旬到2010年1月底。
在整理一年多养花照片的时候,网站的结构调整也在酝酿之中。不能再像去年一样,花一个月的时间将照片放到网站上。必须要找一个更有效的方法。
目标
- 可以完全控制的网站
- 允许用程序处理重复的工作,并且在网站的结构需要变化时,可以快速完成转换
- 要集中精力在数据和文字内容上
第一次尝试
仍然坚持使用免费的服务/平台的原则。
一次偶然的机会发现了Google App Engine - GAE (Java 版),还有Google Web Toolkit(GWT)。经过简单的构思,准备按照下面的方案开发网站,
- Google App Engine - 作为WebServer(Static pages & Servlet) & Datastore (JDO/JPA)
- Google Doc & Spreadsheet - 存放花草信息和文章
- GWT & GData API - 使用Java开发网页的工具
- Picasa - 存放照片
想象得挺不错,动态数据,动态网页。不幸的是,经过日日夜夜的调试,最终发现并确认,Google App Engine 从技术上大幅度地限制了网站的灵活性。
- 在Server端不允许使用timer, multithread, File IO, etc.
- 超过30秒的任何进程都会被强制杀掉
- JDO不支持like查询
- *如果超过30秒没有Server请求,Server将被停掉。也就是说,下一次Servlet请求,Server要重启,至少需要10秒钟。Google也承认这个缺陷,在努力改进中。
- *由于网页都是由GWT/Ajax做的,Google等搜索引擎无法做索引。怎能让我的网站就这么消失?!
上面提到的最后两个约束迫使我放弃了三个星期写的程序,寻找新的方案。
第二次尝试
山穷水尽疑无路,2010又一村。新的方案终于在能量用完之前找到,继续行驶。
- 尽可能多的使用静态网页,在大幅度提高了网页访问速度的同时,也终于可以被搜索引擎找到。目前只有查询和留言使用了server端的程序和JDO
- 使用MS Excel文件作为数据库存储花草信息,使用FreeMarker的模板产生静态页面。
- 使用jQuery点缀页面。也粗略的比较过其他类似的工具,jQuery支持的人最多,有很多爱好者开发的plugins,比如幻灯功能。
经过一个多月的努力,已经完成了90%的预期功能,基本满意。准备集中精力在数据和养花日记的整理上。
网站制作过程如下图:
目前,使用的服务全部来自Google(巧了?!),总结如下,
- 今年网站制作的最重要总结是:简简单单才是真!
- Picasa
- 适合图片分享,可以附加一两句话的简单说明,和别人的简单留言。可以给图片加tags和地图。使用过类似的其他网站有flickr, tinypic, 网易(也可以批量上传照片)等
- Blogger
- 适合文字多,并且更新频繁。可以附加图片,或者引用放在Picasa的图片。使用过类似的其他网站有文学城, 51等
- Google Sites
- 适合于纯静态网站。除了文字、图片,还有其他功能,使用Google的gadgets。并且支持多个人开发、维护网站。最大的限制是目前不支持编程。
- Google App Engine (GAE)
- 适合动态网站,支持一定程度的编程,Java,Python & Javascript。提供简单的数据库(Datastore with JDO)。可以和其他Google services集成。支持团队开发。
- 适合动态网站,支持一定程度的编程,Java,Python & Javascript。提供简单的数据库(Datastore with JDO)。可以和其他Google services集成。支持团队开发。
最近,又大概看了一下其他网站的相关服务,比如Microsoft, Yahoo, Wordpress, 网易,百度,CCTV等。由于农忙季节临近,深入研究还是留到下一个季节再说吧。
转贴自石针养花的网站: