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

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

发表于: 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

    震惊

    震惊

编辑推荐
EEPlat采用了元数据驱动的核心思想,因而EEPlat最重要的就是完善的元模型体系及高效灵活的解析执行
创建一个自定义事件的类MyEvent,定义一个事件名称EVENT_NAME 创建一个事件发送者的类MyEventDispat
目录(?)[+] 本页内容 牢记30岁 你的模式有多牛 无处不在的模式 谁想减负阿 通过描述模式来获得功能
随着一些SaaS软件逐渐被越来越多的租户使用,租户的个性化定制需求逐渐成为一个SaaS软件实用性和适
元数据驱动界面,支持三级配置 背景 信息系统开发中,配置表格、树和表单的过程占据了开发的近一半
在SharePoint 2010的托管元数据中,我们是可以手动指定每个分类下属的顺序的,如下图所示: 在代码
接前面提到的,如何创建一个术语库.sharepoint 2013 列表和库标签 元数据导航配置(1), 现在要做的,
背景 信息系统开发中,配置表格、树和表单的过程占据了开发的近一半的时间(可能更多),如果要支持
本文已挪至 http://www.zhoujingen.cn/blog/2683.html   在DSM:使用MetaEdit+编写Family Tree Mo
as3 元数据标签的意义解析(Flex 2 Metadata Tags) http://bvu.iteye.com/blog/315323 英文原文:F
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号