现在的位置: 首页 > 综合 > 正文

Silverlight 企业应用快速开发平台-平台不是万能的,平台如何应对平台解决不了的问题

2012年12月31日 ⁄ 综合 ⁄ 共 2578字 ⁄ 字号 评论关闭

前面给大家介绍了我的快速开发平台

先看下这个题目:不对,不是平台如何应对平台解决不了的问题

平台都解决不了了它还如何应对,是你如何应对平台解决不了的问题

好了,题目我就不改了,你看出我的语句矛盾了吗?

今天我要来自我打击一下:"平台不是万能的,不可能解决100%的问题"

这是平台的定位问题,平台一开始的定位就不是解决100%的问题,而是减少重复,也不追求百分之多少吧,根据项目

在我的项目里能减少UI界面的开发代码量90%

 

平台如何应对平台解决不了的问题

使用,我们这个平台的构架系统构建的应用,不存在解决不了的问题

只存在平台标准组件解决不了的问题,解决不了怎么办,开发人员自己发挥创造力,自己去解决了哦!

这一点,我认为我们的思想比微软的LightSwitch要好的地方

我们不是整合别人

而是别人正合我们

二者的区别在于

LightSwitch 遇到解决不了的问题,要开发插件,必须满足它的特定要求,融入它的体系,有时候这个很难

我们的思想是,我们快速生成UI的框架是个插件,被你整合到你的开发体系中,是融入你的架构体系的

之前怎么构建还是怎么构建,有了我们这个UI插件,你可以多个选择,选择这支程序,我不要开发,要通过UI组件库,配置一个代码来完成

事实上有了它90%以上都能搞定了,不知道你们的项目性质如何,反正我们目前开发都是企业数据库应用型管理系统,是这么个情况。

这个就好比,我们开发网页,你怎么开发还是怎么开发,如果你需要你可以使用一下JQuery的UI组件,没有人能保证JQueryUI组件能搞定一切

最终只有开发人员才是最智慧的。标准组件搞不定,就交由自己住开发了。最多是再多多总结经验,完善组件。

 

如下面的页面,平台目前是不支持的。

好这里就留给开发人员自己去发挥了

这里我们菜单的配置,就是对应的自己开发的类了

 

页面类型就选客户自定义,页面代码:就是自己开发的类

记得前面:都是选 UIList,代码维护的是配置代码

因为一个项目可能95%都是配置,所以这里面取名就要页面代码了

 

如上图实现查询库存的走势图

说过,这个画面配置不出来,需要开发人员自己去实现

比如说我会去开发,先分析一下

首先上面是查询,下面是图表

和我们能配置的列表页面有啥差别,就是下面的显示不行,之所以不能配置出来,是因为平台只设计了列表页的模板组件

那好吧。

软件看似很复杂,但是都是由简单的功能组成的。比如说上半部分的查询,这不就是之前演示的简单页面CURD实现的查询部分吗

配置的话1分钟就搞定了,你现在还让我开发,不烦死了吗,下面开发也就算了,实现我的价值,上面再去开发,简直就是浪费我的生命

好,我们在自己开发的页面中拖拉一个组件 UIQuery.axml  这个是平台提供的查询条件组件

这个组件你设计时只看到是一个空白,它接受一个参数,就是配置代码,然后系统运行时,根据配置代码,自动生成画面

好,拖拉了这个控件 我们配置代码 INVENTORY_OP_DETAIL

 

页面配置如下:设置显示3列

 

 

 详细控件设置如下,设置哪些作为查询条件,字典类型,规定了是用什么控件

 

好,这时候我们运行时就得到了, 下图中查询部分了,下面的图表自己实现好了

这样是不是很省时间呢

 

接下来,因为需求总是在变化,可能增加条件,删除条件什么的,我们就在,上图,勾选一些选项设置好了

 

例如 我勾选掉 月份,同时设置查询区域布局为2列,看看效果

 

完成如上的需求调整,也就大概20秒,无需打开IDE,无需发布,你只要在网页上修改

如下图,这样查询布局就是2列了

不要月份作为条件,就是勾掉,月份字段的查询复选框

 

这里有人会好奇,你那个画面上的放大镜是怎么实现的

具体的配置如下:

细心的朋友会发现,CHOOSE 类型后面 有个 字典类型配置:Q_CUSTOMER 这个是什么东东

Q_CUSTOMER 也是个页面,是查询客户的 查询列表页面

这个页面如何出来的,当然也是配置出来的了,这个非常简单,就是简单程序CURD中查询部分嘛

点击的效果如下

 

我们运行时,查看这个页面的配置代码,这个运行时查看,是为了方便开发人员,能够快速知道这个程序的配置代码是什么,方便调整

操作如下,右键工具栏,点击复制页面代码,显示在右下角:代码为Q_CUSTOMER

 

好这个页面也是个配置,代码为:Q_CUSTOMER

配置如下

 

 又是因为是配置,灵活性很高,比如说 客户需求变化了,打比方说,要客户名称在前面

 OK,10秒后看效果

 可以自己设计顺序,现在又增加了拖拉的方式

 如下图,采用拖拉的方式

 

 

运行效果:

 

综上所述,你看到完成这些功能

你只要开发了,那个显示图表部分的代码

因为我们做图表不多,如果多的话,按照软件设计原则,在继续抽象出图表控件

例如 UIChart ,具体个性的东西全部配置化

开发驱动,来实现这个统一的图表功能

好处是,效率提高,质量提高,灵活性提高 

 

再加一句口号

平台不是万能的,没有平台你会很累滴。

这里不能说是万万不能的,在没有平台的日子里,我们还不是照样走过来了

只能感慨自己曾今浪费了那么多的精力在做很多不能体现自己最大化价值的事情

平台解放出来你,让你的重心去更多的参与到核心业务逻辑中去,

而不是整天拖拖拽拽控,我还哪里有空去参与业务啊?

 

你会被客户怎么又调整字段显示啊?这样的毫无技术含量的活搞的失去耐心。

你失去耐心了不打紧,可能你就失去了客户

如果说,你能轻松面对这些需求变化,那是多么美妙的事情啊

会不会走入另外一个极端,客户轻易的要改,我们就改我,我们就这么贱吗?

不是这样滴,这个是项目经理要把关,合理的诉求,我们要支持,不合理的依然要地址

合理的诉求你能帮客户搞定,而求非常神速,而非抱怨,这样你就赢得了客户的心

虽然我10秒搞定了,做为销售的技巧,你不可能只像客户收10秒的成本吧。

这就是价值,利润的空间。

也就转化成你的核心竞争力了。

跟我比成本。

拼不死你。

 

所以说创新是一个公司的核心

我们决不能不能满足我们现有的东西

诸如上例我们不是还有很多没有组件化的东西吗,依然需要走好每一步,让经验固化

最好的经验不是口头的传递,来了新人了,这个应该按照这样的套路

而是应该,将你的经验封装成组件,待它用了,拿来,教会它怎么怎么用

当然用心的人呢,可以多培养培养他们的创新能力,告诉他们,这里的实现原理

可能他们加以改造可以出来更有创意的东西

 

您的看法呢?发表下您的高见!

 

 

 

 

 

 

 

 

 

 

 

 

抱歉!评论已关闭.