如何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 ...
随机推荐
- vite搭建一个vue2的框架
01-创建一个基础的模板框架 npm init vite@latest 02-安装依赖 npm install npm install vue@2.x vue-template-compiler@2 ...
- postgres备份与恢复
一 利用pgAdmin工具进行备份与恢复 pgAdmin是postgres官方的客户端管理工具,可以进行数据库的涉及与维护. 示例:以logs库为例记录操作 1) 右击需要备份的数据( ...
- selenium环境配置和八大元素定位
一.环境配置 1.selenium下载安装 安装一:pip install selenium(多数会超时安装失败) 安装二:pip install -i https://pypi.tuna.tsing ...
- Netty源码解读(一)-前置准备
前置条件 源码版本netty4.1 了解Java NIO.Reactor模型和Netty的基本使用. 解释一下: Java NIO:了解BIO和NIO的区别以及Java NIO基础API的使用 Rea ...
- angular 变化检测和ngZone
- std::hash<std::pair<int, int> >
标题是搞笑的 ! 这个问题只需要 since C++11 问题:怎么让 unordered_map 支持使用 pair 作为 key? 如果你能把两个东西压到一个基本类型里那么就不用解决这个问题了 . ...
- AI智能剪辑,仅需2秒一键提取精彩片段
如今短视频已成为人们娱乐社交的主要形式,很多用户也开始由观众逐渐转变为短视频制作传播者,然而复杂的视频剪辑工具却令他们望而止步.如何才能降低短视频制作剪辑门槛,让更多无经验者也能制作出优质的短视频内容 ...
- MySQL 启停过程了解一二
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 前言 你知道MySQL启停都做了些什么吗? 启动的时 ...
- Apache DolphinScheduler 架构演进介绍及开源经验分享 - eBay 阮文俊
引言 来自 eBay 的文俊同学在近期的上海开源大数据 Meetup 上做了十分精彩的 "Apache DolphinScheduler 的架构演进" 分享.本次分享有近 200 ...
- feign远程调用出错
如果你传递的参数,比较复杂时,默认会采用POST的请求方式. 传递单个参数时,推荐使用@PathVariable,如果传递的单个参数比较多,这里也可以采用@RequestParam,Feign接口中不 ...