软件应用开源平台“x+”
组件化软件应用您可能未曾听说,模块化手机您也可能陌生,但组装式电脑您应该再熟悉不过了,原理上它们是一回事,只不过最后呈现给您的分别是软件、手机、电脑。
当我们需要一台电脑时我们可以上电子市场购买电脑主板、CPU、硬盘、内存等等然后DIY自己的个人电脑,安装操作系统及相关应用软件就齐活。

左边的CPU、硬盘、内存等与主板组合后攒出右边电脑主机
我们需要手机时现在也只能是购买一整部手机,或许2017年后这可能会被改变,谷歌(Google Project Ara)的模块化手机(Modular )可能面世,您可以购买手机“电路母板”及选购想要的模块如电池、摄像头、显示屏等自己来组装,您也可以随时购买新的模块来置换损害或需升级的模块来更新升级手机。

左边的各模块与手机底架组合后成型为右边的手机
组件化软件(Component Application)也类似,用户不用安装一个个的软件,只需安装一个带有组件化框架(3UCS x+ Framework,相当于电脑主板、手机“电路母板”)的软件,然后根据需要再安排各个组件如输入框、按钮、选择框、图表等及相关的功能指令(相当于硬盘、内存、电池、摄像头、显示屏等),自由排版、逻辑控制等,组件化框架根据用户意图实现相关的功能。

左边的各类组件如输入框、按钮等在x+框架的组合下
便呈现为右边界面迥异功能多样的页面
一个简单的例子,下面是一个应用页面的代码,包含两个组件(桔色文字,TextBox,Button),实现二维码/条码的扫描并将扫描结果填入TextBox中。(Language部分可以单独于文件实现多语言支持,组件都是包含于<Ctrls></Ctrls>元素内,组件化软件标准规范:http://3ucs.com/bizxml)
<WndTap Name="orderinfo" Text="orderinfo">
<Language name="orderinfo"><Lang name="orderinfo" value="客户下单"/></Language>
<Ctrls><GroupBox Name="GBorderinfo" id="orderinfo" Text="orderinfo" Size="100,100"><Ctrls>
<TextBox Name="TB_layout" Size="100,20" Text="" tooltip="商品编码"></TextBox>
<Button Name="Barcode" Size="80,20" Text="扫一扫" OnClick="(TB_layout)barcode"/>
</Ctrls></GroupBox></Ctrls><OnChanged></OnChanged><OnActivate></OnActivate></WndTap>

组件化软件计划“x+”把软件的各类元素组件化,并在各类平台系统(如Windows、Android、IOS等)构建适合于各平台的x+框架来支持软件组件的运行及功能的实现,让它们像内存、摄像头之类的元素嵌入到软件框架中。“x+”将应用代码开源,任何人都可以编制修改代码使用组件化应用服务,同时开放第三方软硬件接口来支持第三方软硬件的对接。所以它不只是简单的数据管理,而是可以实时接收传感器信号做相应分析处理存储并按需驱动电机/马达,也会支持大数据分析、机器学习之类,x+计划的最终目的就是要打造一个开放性、智能性、灵活性的多元化软件应用生态体系。

基于此,在没有专业软件开发人员的参与下用户就可以快速按照自己的需要DIY自己的应用,当自己的业务发生变化时也可以实时修改发布更新应用。而事实上x+本身就带着这样的使命:解决软件应用的个性化定制、变迁性更新、快速灵活定制等等,所以它拥有着广泛的应用场景。
软件应用是要运行于不同的系统中的,如PC、手机、平板电脑等,x+针对于不同类型设备提供相应的框架软件(Windows客户端、Android客户端、IOS客户端、网页版WebService等),各框架软件按相同的方式解释执行用户生成的应用脚本,只是在不同设备上排版布局不一样(屏幕大小、分辨率)。同一应用页面“角色管理”在不同的设备下呈现的界面:手机,PC、手机浏览器、PC浏览器。



其它界面范例截图:




开始部署您的应用: http://3ucs.com/x+