当前位置:首页 > 开发 > 开源软件 > 正文

元数据驱动还是标签引擎?

发表于: 2013-07-22   作者:bardo   来源:转载   浏览:
摘要:  ——OpenBiz Cubi试用随感PHP的开发框架,是向用户提供元数据驱动还是标签引擎?可能很多人几乎无法回答。因为,此问题太抽象了。何为元数据驱动?一般情况下:页面几乎没有PHP的程序代码,几乎极少的代码。但是,任一功能,必须要有基于XML/YAML格式的配置文件,来告诉程序,页面处理哪些数据,如何处理。这就是说,元数据驱动本身,有一个通用的处理程序。元数据驱动最大的好处是其快速开

 ——OpenBiz Cubi试用随感
PHP的开发框架,是向用户提供元数据驱动还是标签引擎?可能很多人几乎无法回答。因为,此问题太抽象了。
何为元数据驱动?一般情况下:页面几乎没有PHP的程序代码,几乎极少的代码。但是,任一功能,必须要有基于XML/YAML格式的配置文件,来告诉程序,页面处理哪些数据,如何处理。这就是说,元数据驱动本身,有一个通用的处理程序。
元数据驱动最大的好处是其快速开发能力。因为,一切只要配置,甚至,可以写一个向导,生成这些配置文件。对于一些额外的,无法配置的,才用代码来完成。
近日来,发现PHP的框架,基于元数据驱动来势汹猛,特别是OpenBiz Cubi进入中国以后,使人们对元数据驱动完全刮目相看。
何为标签引擎?JAVA中的STRUTS是近乎标准的标签引擎。但PHP的SMARTY,只是抄袭的JAVA。所以,从这一点来说,PHP至今没有一个很好的标签引擎。
其实,无论是元数据驱动还是标签引擎,其目标是能让用户快速开发。并且,从二者的长处来看,并不能偏废任意一个。因为,元数据驱动的界面都是标准界面,它无法处理灵活的布局,不同的STYLE。所以,它是一个比较完美的企业应用解决方案。并不适用于互联网,特别象是WEB2.0一类的网站的开发。
标签引擎,最大的问题,是会让开发者感到,为了MVC而MVC,独立的标签页排板,最终面临的性能上的消耗。但只有标签引擎,才是真正适合网站一类的开发。
今天有幸试用了OpenBiz Cubi,但绝对没想到,一个开发10年之久的这个框架是如此粗糙。现描述我试用遇到的问题:
1、安装时,直接使用WINDOWS的安装包,下载的是3.09最新版。然而,就是到创建快方式时程序不再工作,陷入死循环之中。
经过多次折腾,结果发现,安装包不允许操作系统中有APACHE,MYSQL这些已注册的服务,否则,就会报错。
当然,中国的软件公司,绝大多数都是使用AppServer,这种极为初级的开发环境。在一台机器中配置多套WAMP,这样的公司并不多见。所以,该我倒霉,OpenBiz Cubi3.09一开始就是始终安装不上。
2、OpenBiz Cubi最为吸引人的亮点,那就是它有AppBuilder。这就是说,这个框架可以编程序。初次使用AppBuilder,添加数据库链接,测试链接,正常,但点击下一步,异常错误。数据库就是连不上。
AppBuilder最让人痛苦的是,每一个表,每一个字段都得一一录一遍。这对于使用数据库设计工具的,或己经完成数据分析,表己经生成的,完全是一个脱裤子放屁的事情。
我试着将表导入到库中,这里,吸取前一次的教训,我只用现有的数据库Cubi,导入进去后,选择一个表,创建应用,结果,在完成前一步,出错,报错的内容,居然是要往USER表中插入一条记录失败。
这是一个开发工具,开发中有很多例外的需求,我无法想象,OpenBiz Cubi的QA是如何做的,OpenBiz Cubi的需求分析水平是什么水准?打心理希望OpenBiz Cubi能有一两个真正的架构师。
联想到本人PHP技术历程中,一直不断带领团队在开发PHP的框架。从最简单的,无设计模式的,WEB界面组件库的WOLF v1.0(Web Object Light Framework)(一个程序库式的框架)到WOLF v2.0,(基于元数据驱动的框架),以及Ulex v1.0(Util Librarie Enterprise eXtension)(一个基于标签库,但希望能拥有基于元数据驱动的优点的框架)。这些框架都没有敢开源发布。主要原因有几个方面:一是框架本身不够完善。其次,一个喜好重造轮子的人,让一个企业的团队,进行新技术的研发,特别是,针对基于标签库,但希望能拥有基于元数据驱动的优点的框架,走上的技术上的不归路。本人得到的几乎不是经验,更多的是教训。WOLF v2.0的使用,让我深深了解到元数据驱动的局限性,有时,会大大影响开发的进程。这当然,是一些题外话了。
但当我看到OpenBiz Cubi,或者看到Phalcon框架之时,我仍有一种冲动,因为我发现,我的梦想仍然没有实现。可惜的是,写代码的生涯现并不多算是结束了。
Phalcon的标签引擎相当初级,没有对应的界面组件。这当然与Phalcon本身的定位有关,因为,它是注重于性能的。它只是一个PHP的扩展,无法涉及JS,HTML层面。
PHP相对于JAVA,是不是永远在其初级的层次上转圈子?看看JAVA,除了SSH,还有TAPESTRAY。
OpenBiz Cubi有它与时俱进的一面。它将自己定位是PAAS。它确实可以称为是一个PAAS。而且,虽然经历了漫长的10年的开发,云计算给它带来了新的生机。

元数据驱动还是标签引擎?

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号