如何0到1构建DevOps?
从0到1构建DevOps,首先得弄清楚这个DevOps的受众群体,它的用途到底是什么,解决什么问题,比如Android Studio是为了解决Android应用的开发,3UCS xPlus是为了解决应用的快速个性化定制及PC、手机、网页等不同模式的共用与高性能问题。
接着你还得规划好系统架构,它DevOps成败的关键。
下面就拿xPlus(3UCS)具体谈谈。
首先为什么要做xPlus?
应用的个性化定制是个老大难的问题,要不然不会有那么多的低代码平台出来,但在3UCS团队看来,这些只是预制模块的低代码拼接并不能解决个性化定制的实际问题,在这种封闭的平台里,新的功能模块、存储过程都得仰仗平台供应商的后续,局限性太大,对于复杂应用更是难委以重任,简单的可视化勉强用用还行。
应用代码在PC、手机、网页平台上的兼容适用也是个大问题,往往需要为应用单独开发手机客户端什么的。
还有一个特别大的问题,一个手机客户端动不动占存储内存数百兆甚至几个G,运行内存也是数百兆起步,手机能装多少个APP?能同时运行多少个APP?要么手机卡的要命,要么干掉一些应用,手机APP的性能越来越成为问题!
怎么办?
3UCS在打造xPlus考虑了很多方案,最后确定了几点:
1、重新定义一组业务语言规范,便诞生了BizXML,用XML描述业务应用的界面、逻辑、流程等;
2、C/S架构为主,同时支持B/S模式,于是原生设计PC客户端引擎、手机客户端引擎、网页服务引擎,为保证高性能,这三类引擎内核全C++开发并使用同一套代码,UI部分参考不同平台特性单独设计:Windows、linux界面渲染与交互使用C++、Android使用Java、IOS使用Obj-c、web使应CGI(C++开发),服务端使用C++。事实上各平台的执行程序都只有几M,低资源耗消高效;
3、各组件为不同平台解释执行通用的BizXML代码。简单的讲可以理解BizXML 类似于html,浏览器载入解析html,xPlus的PC、手机客户端、web服务引擎载入解析执行BizXML。你可能会问那为什么就不直接用html,webview?这种方式大家用的少吗?凸显的问题还不够么?xPlus平台是想打造一个轻量级的高性能5S软件平台,这一点您可以参看下:5S软件就是将软件应用全维度简单化的软件系统;
4、为了应用定制更简单,推出了xLogic,尽可能减少if-else之类的代码编写而是可视化表格编辑;
5、推出BizTool,开发者可以打开数据表结构,稍作配置就可以生存应用(电脑客户端、手机客户端都可以操作),可参见:分分钟快速定制您的专属个性化软件应用——BizTool自动化工具简介;
6、PC客户端XOne提供开发者模式,直接定位界面、逻辑代码,在线编辑修改更新执行。
完整的关于xPlus的技术可参看:让软件飞——“X+”技术揭秘
如何0到1构建DevOps?的更多相关文章
- SpringBoot开发案例从0到1构建分布式秒杀系统
前言 最近,被推送了不少秒杀架构的文章,忙里偷闲自己也总结了一下互联网平台秒杀架构设计,当然也借鉴了不少同学的思路.俗话说,脱离案例讲架构都是耍流氓,最终使用SpringBoot模拟实现了部分秒杀场 ...
- 从0到1构建适配不同端(微信小程序、H5、React-Native 等)的taro + dva应用
从0到1构建适配不同端(微信小程序.H5.React-Native 等)的taro + dva应用 写在前面 Taro 是一套遵循 React 语法规范的 多端开发 解决方案.现如今市面上端的形态多种 ...
- 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门
准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...
- 基 vue-element-admin升级的Vue3 +TS +Element-Plus 版本的后端管理前端解决方案 vue3-element-admin 正式对外发布,有来开源组织又一精心力作,毫无保留开放从0到1构建过程
项目简介 vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 + Element Plus 版本的后台管理前端解决方案,是 有来技术团队 继 youla ...
- vue.js2.0的独立构建和运行时构建
转自:https://jingsam.github.io/2016/10/23/standalone-vs-runtime-only-build-in-vuejs2.html?utm_source=t ...
- Spark 1.0 开发环境构建:maven/sbt/idea
因为我原来对maven和sbt都不熟悉,因此使用两种方法都编译了一下.下面记录一下编译时候遇到的问题.然后介绍一下如果使用IntelliJ IDEA 13.1构建开发环境. 首先准备java环境和sc ...
- 《前端之路》之 webpack 4.0+ 的应用构建
目录 一.版本 二.webpack 的主体概念 2-1.入口 2-1-1.单页面入口 2-1-2.多页面应用的入口 2-2.输出 2-3.loader 2-4.plugins 三.如何使用 3-1 关 ...
- Mongodb4.0副本集构建
目前最新的mongodb4.0.2已经支持事务这个重要特性,需要使用的话必须是复制或副本集,这是第一篇先研发如何构建副本集,因为副本集是目前最低成本的高可用群集方式. 1.准备三台服务器,本次使用是的 ...
- drone 1.0 新的构建徽章特性
drone 1.0 昨天新发布的功能,支持了一个方便的查看构建状态的功能徽章 如下: 环境准备 docker-compose 文件 version: '3' services: drone-serve ...
随机推荐
- 谷歌的SRE和开发是如何合作的
本文是一篇比较有价值的.介绍SRE的文章.国内的所谓SRE职责其实并不明确,大部分其实还是干普通运维的事.但文中介绍的谷歌的运作方式起点还是相对比较高的,无论对SRE.对开发,甚至对公司都有很高的要求 ...
- 第七天python3 函数、参数及参数解构(二)
函数参数 参数规则: 参数列表参数一般顺序是:普通参数<--缺省参数<--可变位置参数<--keyword-only参数(可带缺省值)<--可变关键字参数 def fn(x,y ...
- 笔记本Usb接口案例
笔记本电脑通常具备使用USB设备的功能.在生产的时候,笔记本都预留了可以插入USB设备的USB接口.但具体是什么USB设备,笔记本厂商并不关心,只要符合USB规格的设备都可以. 定义USB接口,具备最 ...
- C#中引用类型的变量做为参数在方法调用时加不加 ref 关键字的不同之处
一直以为对于引用类型做为参数在方法调用时加不加 ref 关键字是没有区别的.但是今天一调试踪了一下变量内存情况才发现大有不同. 直接上代码,结论是:以下代码是使用了 ref 关键字的版本.它输出1 ...
- Win10使用fvm管理多个Flutter版本
Win10使用fvm管理多个Flutter版本 参考:https://blog.csdn.net/PyMuma/article/details/115298645 1.升级Flutter 由于现在的f ...
- Apache DolphinScheduler 是如何诞生的
作者 | 代立冬,李岗 排版 | 开源之道小助理 Apache DolphinScheduler,简称"DS", 中文名 "小海豚调度"(海豚聪明.人性化,又左 ...
- 【Java面试】什么是IO的多路复用机制?
"什么是IO的多路复用机制?" 这是一道年薪50W的面试题,很遗憾,99%的人都回答不出来. 大家好,我是Mic,一个工作了14年的Java程序员. 今天,给大家分享一道网络IO的 ...
- Spring源码 21 Bean生命周期
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
- HCIA-Datacom 3.4 实验四:实现VLAN间通信实验
实验介绍: 划分VLAN后,不同VLAN的用户间不能二层互访,这样能起到隔离广播的作用.但实际应用中,不同VLAN的用户又常有互访的需求,此时就需要实现不同VLAN的用户互访,简称VLAN间互访.华为 ...
- RabbitMQ 入门系列:2、基础含义理解:链接、通道、队列、交换机
系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...