石针养花的个人网站建设小结(二)

时间 :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集成。支持团队开发。


最近,又大概看了一下其他网站的相关服务,比如Microsoft, Yahoo, Wordpress, 网易,百度,CCTV等。由于农忙季节临近,深入研究还是留到下一个季节再说吧。


转贴自石针养花的网站:

http://www.rockimea.com



登录后才可评论.