从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?的更多相关文章

  1. SpringBoot开发案例从0到1构建分布式秒杀系统

    前言 ​最近,被推送了不少秒杀架构的文章,忙里偷闲自己也总结了一下互联网平台秒杀架构设计,当然也借鉴了不少同学的思路.俗话说,脱离案例讲架构都是耍流氓,最终使用SpringBoot模拟实现了部分秒杀场 ...

  2. 从0到1构建适配不同端(微信小程序、H5、React-Native 等)的taro + dva应用

    从0到1构建适配不同端(微信小程序.H5.React-Native 等)的taro + dva应用 写在前面 Taro 是一套遵循 React 语法规范的 多端开发 解决方案.现如今市面上端的形态多种 ...

  3. 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

    准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...

  4. 基 vue-element-admin升级的Vue3 +TS +Element-Plus 版本的后端管理前端解决方案 vue3-element-admin 正式对外发布,有来开源组织又一精心力作,毫无保留开放从0到1构建过程

    项目简介 vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 + Element Plus 版本的后台管理前端解决方案,是 有来技术团队 继 youla ...

  5. vue.js2.0的独立构建和运行时构建

    转自:https://jingsam.github.io/2016/10/23/standalone-vs-runtime-only-build-in-vuejs2.html?utm_source=t ...

  6. Spark 1.0 开发环境构建:maven/sbt/idea

    因为我原来对maven和sbt都不熟悉,因此使用两种方法都编译了一下.下面记录一下编译时候遇到的问题.然后介绍一下如果使用IntelliJ IDEA 13.1构建开发环境. 首先准备java环境和sc ...

  7. 《前端之路》之 webpack 4.0+ 的应用构建

    目录 一.版本 二.webpack 的主体概念 2-1.入口 2-1-1.单页面入口 2-1-2.多页面应用的入口 2-2.输出 2-3.loader 2-4.plugins 三.如何使用 3-1 关 ...

  8. Mongodb4.0副本集构建

    目前最新的mongodb4.0.2已经支持事务这个重要特性,需要使用的话必须是复制或副本集,这是第一篇先研发如何构建副本集,因为副本集是目前最低成本的高可用群集方式. 1.准备三台服务器,本次使用是的 ...

  9. drone 1.0 新的构建徽章特性

    drone 1.0 昨天新发布的功能,支持了一个方便的查看构建状态的功能徽章 如下: 环境准备 docker-compose 文件 version: '3' services: drone-serve ...

随机推荐

  1. jdbc 06: 实现登陆页面

    jdbc连接mysql,实现简单的登陆验证 package com.examples.jdbc.o6_实现登录界面; import java.sql.*; import java.util.HashM ...

  2. 新建 Microsoft Office Word 文档 来源:牛客网

    题目 链接:https://ac.nowcoder.com/acm/contest/28886/1015 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...

  3. jsx/tsx使用cssModule和typescript-plugin-css-modules

    目录 1,前言 2,效果图 3,如何使用 3.1,安装 3.2,配置 4,示例 5,插件错误处理 5.1,错误触发原因 5.2,解决办法 1,前言 在vite/webpack搭建的项目中,不管是vue ...

  4. 第六天python3 函数、参数及参数解构(一)

    函数 作用:结构话编程对代码的最基本的封装,一般按照功能组织一段代码,封装的目的是为了复用,减少冗余代码,代码更加简洁.美观,可读易懂: 分类: 内建函数,如max() reversed()等 库函数 ...

  5. StringBuilder的原理

    StringBuilder类 字符串拼接问题 由于String类的对象内容不可改变,所以每当进行字符串拼接的时候,总是会在内存中创建一个新的对象.例如: class Test{ public stat ...

  6. 【ASP.NET Core】选项类的依赖注入

    咱们继续上一个话题.先简单复习一下,根据老周前面文章的介绍,选项类体系的基本套路是通过 IOptionsFactory 来创建选项类实例的.而我们在服务容器(IServiceCollection)上是 ...

  7. php命名空间粗解

    // 创建命名空间Articlenamespace Article;class Comment { } // 创建命名空间MessageBoardnamespace MessageBoard;clas ...

  8. PerfView专题 (第一篇):如何寻找热点函数

    一:背景 准备开个系列来聊一下 PerfView 这款工具,熟悉我的朋友都知道我喜欢用 WinDbg,这东西虽然很牛,但也不是万能的,也有一些场景他解决不了或者很难解决,这时候借助一些其他的工具来辅助 ...

  9. Rust实战系列-基本语法

    本文是<Rust in action>学习总结系列的第二部分,更多内容请看已发布文章: 一.Rust实战系列-Rust介绍 " 主要介绍 Rust 的语法.基本类型和数据结构,通 ...

  10. [CF1500E] Subset Trick (平衡树)

    题面 洛谷翻译 V a n y a \rm Vanya Vanya 有一个初始大小为 n n n 的集合 S S S 和 q q q 次往集合加数/删数的操作.(集合中每个数字不同) 称一个数 x x ...