开源GIS实验田

OpenSource GIS Space

  • 内容导航

  • 最新评论

    • Gao Ang: 这将是一次开源GIS百科全书式的大会 ...
    • SHG: 恭喜恭喜 希望到时有更多国外的专...
    • Gao Ang: 这个示例可以搜索指定位置500m范围内...
    • suan: 你好,我想請問你GOOGLE MAPS API的問題 ...
    • Gao Ang: 静态地图现在支持用户自定义图标,...
  • 热门主题

  • 随机阅读

    • 2006 年四月
      « 三   六 »
       12
      3456789
      10111213141516
      17181920212223
      24252627282930
    • Gao Ang

      GaoMiao's Portrait
      有了理想
      就不要寻找放弃的理由

      站点搜索

    • 只言片语

      少女的年龄,正是一个人用愉快而得意的梦境来麻醉自己的年龄。她时时刻刻想着爱情,那种浓厚的兴趣与好奇心,要不是因为她愚昧无知,简直不能不说是无邪的了。 ——佚名

    Archive for 四月, 2006

    适于敏捷开发的Web框架

    24th 四月 2006

    以前常关注Java开源Web框架的应用研究,还专门写过一篇论文讲基于Hibernate的实体关系映射。最近一直在做Java富客户端应用,有些生疏Web框架的发展。偶尔了解一下Web框架的发展动向,发现又是一番新的景象。

    这几年MVC设计思想的繁荣应归功于Java框架的带动,Struts的普及使得MVC设计达到鼎盛,一时间MVC似乎成了判断是非好坏的标准。不少Java实现的站点采用Freemarker框架生成静态html以加快页面响应速度。如果结合其他框架,可以有类似Freemarker+Webwork+Spring+Hibernate这样的选择。但是由于开发效率一直比较低同时后期维护具有局限性,面向J2EE的Web开发开始走向一个低谷,激进分子甚至宣称“J2EE的时代已经终结”。虽然此观点有失偏颇,但还是欣喜的看到,基于Ruby、Python等动态解释型语言在Web上的迅速发展的确令人振奋。

    这里主要说一下Ruby on Rails,ROR是由来自37Signals的一批非常Cool的年轻人开发,在37Signals官方站上有ROR实现的独具特色的站点。有些人预言37Signals将成为下一个Google,也许吧,毕竟网络时代已经可以把创造神话的时间缩短到让我们来不及反应。

    与Python实现的Web框架Django相似,ROR也是应用在web应用开发上的Framework。ROR由Ruby语言编写,其目的是让web开发变的快速而简单,ROR极大程度上简化了传统的Web开发难度,让开发者专注于富有创造力的工作,非常适于敏捷开发的要求。ROR的便捷之处在于,只要有了系统的完整E-R 图设计,就可以在 ROR中自动生成所有的 Models,Views 和 Controllers,可以在此基础上不断细化完善成为自己的应用。而且 Rails 还提供内置方法以及AJAX模块来加速开发。毕竟Ajax目前被炒的火热,在必要时可以加入,可以使用户有一些很Cool的体验感觉。希望Python的世界也会出现一个类似ROR这样可以一统目前纷乱局面的Web框架,但就目前的现状看,还没发现有哪个Python项目有能达到ROR这样优秀的潜力,看来还需要等上不短的时间。

    抽空打算用ROR实现一个原型站点试试,不过发现似乎快成闲人了,因为只有闲人才会这也学那也学,是好奇心较重还是比较闲也说不准,反正平日的时间大多都塞满,还有许多事情要赶着做出来,慢慢来吧,不过ROR带来的诱惑还是很大的。

    Posted in 兴趣爱好, 诸子百家 | 7 Comments »

    开源CMS的选择

    20th 四月 2006

    抽空试用了不少开源的CMS内容管理系统,PHP+MySQL的世界令人眼花缭乱,先把值得一提的开源CMS仅就直观感受做个总结,其实严格上讲内容管理系统CMS并不属于Web框架的范畴,但是CMS的质量与繁荣程度代表着一种语言在Web开发上的适应性,下面选的几个CMS基本代表了PHP架构下基于CMS建站的主流方向。

    先说PHPNuke,这可是老牌的CMS系统,功能比较完备,给后来者提供了不少借鉴之处。但是毕竟岁月不饶人,在设计理念和性能表现方面,PHPNuke逐渐开始落后于其他后起之秀。

    再说快速建站的不错选择Mambo,曼波模板的美观程度和功能模块的数量都值得肯定,也拥有不少的坚定支持者,但由于不具备页面静态化机制和拓展上的复杂性,构建商业站点会带来比较大的性能问题。

    然后是自己目前最喜欢的Xoops,这是一个非常简洁优雅的CMS建站系统,中文支持也很好,并且开发社区非常活跃,保证了大量的插件支持。在实现页面静态化方面,可以手动嵌入Smarty模板,来适应访问量较大的站点开发。尽管值得推荐,但稍许还有不足之处,Xoops目前的风格样式不算丰富,同时定制自己的风格模板需要做不少复杂的工作。

    重量级的Typo3当然最后出场,在功能上说,这应该是CMS的终结者了。Typo3的后台管理相当复杂,具体配置方法自己折腾了半天也没有完全弄清楚,但是可以肯定,许多企业级站点所需的功能可以直接在配置管理中实现。目前国内Typo3的用户非常少,但国外为数不少的大型站点都是架构在Typo3之上的。相信随着Typo3的普及,会有一批站点以此为基础构建。

    一个优秀的站点,最核心的是绝佳的创意和吸引用户的人性化服务。仅就建站应用上来说,或许功能模块的二次开发会费些功夫,但基于优秀的CMS实现并没有太大的技术难度。至于自己的选择,以后会考虑基于Python或Ruby的Web框架实现一个小巧的站点,因为还是比较喜欢简单带来的快乐。

    Posted in 思维记录, 诸子百家 | 1 Comment »

    Python初体验

    13th 四月 2006

    对于脚本解释语言Python的兴趣,动力源自于对喜欢的书评站点豆瓣(douban.com)的技术探究。站长阿北在一篇帖子中提到“豆瓣全部使用Python开发,网站后台的搜索引擎基于Twisted,GUI基于Quixote”,而且更令我惊讶的是,承载豆瓣每天8万独立IP和50万页面请求的竟只是一台DIY的AMD双核1U服务器。而且我每次访问,感觉服务器相应速度相当快。于是不得不对Python在Web开发中的表现大为赞叹。

    当然Python的应用不仅限于此,在Python官方站点上列出的应用可谓包罗万象,而且NASA和Google也是Python的用户之一。其实早就关注Python的发展了,只是由于惰性一直没有入手学习。最近花了一个下午的时间把Pyhton语法通了一遍,用Eclipse的Pydev插件调试了例子代码,感觉使用Python确实可以享受到敏捷的开发效率。Python开发的模块和内置的元组、字典等数据结构使用起来很便捷。并且如果需要,关键算法可以使用纯C来实现。

    比较来说,在Web应用方面,Java的开发效率确实不敢恭维,这一点是早有体会。在桌面开发上,国内Java框架研究先驱站JavaEye的站长Robbin,一年前就断言Java桌面开发已死,而Python的桌面应用则前途不可限量。这个观点不敢苟同,毕竟自己还是很喜欢以Eclipse为代表的SWT/JFace的桌面表现方式。但不得不赞一下类似Boa这样的Python IDE环境的优美简洁。

    值得关注的Python开源Web项目是Zope和Django,但是对Zope的表现还不太信任,原因之一就是集成度太高,整个Zope结构大致相当于PHP+Apache+MySQL的集合,耦合度太高也会为拓展性及二次开发带来不便。Django准备仔细研究一下,争取做一个演示站点出来。类似chicagocrime.org这样的Python+Django+Google Map这样紧密结合实际的应用今后会大有用武之地。

    可以参考的Python GIS桌面项目,感觉比较好的是陈老师推荐的mezoGIS,一个月前德国人刚启动的项目就已经开始研究了,不得不佩服一下。

    需要开始用Python吗?今后应该会有涉及的,但逐渐发现越学越杂,反而都不能深入。那就这样吧,慢慢会好的。

    Posted in 聚焦GIS, 诸子百家 | 1 Comment »