Visop

A simple CLI for scaffolding visible operation projects.

Version: 1.0.3 Updated: 11/27/2018

By: zhenyuan2015 License: MIT

Downloads Last 30 Days: 260

Install

npm i visop
yarn add visop

Repository: https://github.com/zhenyuan2015/visop

CDNs

bundle.run: https://bundle.run/visop

jsDelivr: https://cdn.jsdelivr.net/npm/visop

unpkg: https://unpkg.com/visop

visop Build Status npm package

Visible Operate。一个可视化管理代码或其他资源的工具,通过 界面<=>json文件<=>钩子代码<=>代码(资源) 的方式来实现.

工具的术语

  • 要素:代码里的最小功能模块,比如后端的一个接口,前端的一个页面,一个组件,一个数据库表等等,是软件管理的基本单位。一个代码可能有多种类型要素。要素之间没有直接关联。
  • 配置文件:管理要素的json文件,在代码根目录下的visop里,一个代码可能有多个配置文件组成,每个配置文件管理某一类型的要素。
  • 钩子文件:每个配置文件都有一个钩子文件,内容是一些nodejs代码,用于在增删该查某个配置文件时,触发某些对实际资源操作(比如从模板文件拷贝到代码目录里,修改代码的配置,修改数据库配置等等)。在使用本工具管理资源之前,需要先编写钩子文件接入
  • 要素模板:钩子文件里的代码使用模板来创建要素。

工具解决的问题

  • 降低软件复杂度。通过可视化管理代码的方式,80%复杂的代码不需要大部分人了解,一般开发人员只需要关注业务部分即可。
  • 降低使用软件或框架的难度。将软件或框架20%关键业务抽象成要素,在界面增删改查,新增加功能和业务,只需要简单的在界面点击即可,不需要一开始就面对复杂的代码逻辑。
  • 经验复用。将开发过程中的精华经验固化到要素模板里,其他人可以直接使用,而不是在去重新读开发文档或者过多的沟通交流。
  • 提高开发和维护的效率。通过积累要素和模板,使得后续开发可以直接复用已有的要素和模板,提高开发效率。要素化代码本质上类似于微服务的概念,新增要素不影响已有要素的功能,结合每个要素后续会实现自动化测试,保证修改的要素功能正常,从而使得代码维护起来更加方便。
  • 降低软件开发成本。由于软件开发和维护的效率太低,导致现在开发一个软件的成本很高,另外很多软件在升级时比较困难。希望后面能够通过积累不同的要素、组件、系统和框架,来快速开发一个可以方便维护的软件。
  • 创造更美好的软件世界。这个有点虚,也许最终能够实现。重新梳理现有软件,要素化和重新编织组合,将开发者从重复繁琐的码农工作中解放出来,这些重复性工作通过界面点击就可以完成,让程序员去研究和探索新的技术,去发挥自己的创造性价值。让软件对于普通人不再神秘,普通人也可以像使用视频软件一样去编辑一个软件,通过软件去解决现实问题。

工具的原则

  • 简单方便。使用简单,接入方便,扩展改造方便。
  • 开放开源。可以与任何技术和系统对接。
  • 解决问题。不是为了做而做,而是为了解决软件开发过程中的问题。

安装

Prerequisites: Node.js (>=6.x, 8.x preferred), npm version 4+ and Git.

$ npm install -g visop

Usage

$ visop start -p /home/codepath

Example:

$ cd /home/codepath
$ visop start

visop目录结构

管理界面操作指导

  • 打开管理界面,默认为http://localhost:8050
  • 默认进入配置管理界面,管理当前项目所有配置文件,每个配置文件管理项目的某一类要素
  • 每个配置文件对应侧边栏的一个子菜单项。每个配置文件的管理界面由三部分组成:数据管理,字段管理,配置管理。数据管理页面中的表格,每一行对应项目的一个要素

visop使用案例

visop接入指南

  • 待补充

后续开发计划

  • 账户管理
  • 权限管理
  • 管理多个项目
  • 管理mysql数据库的模板
  • 管理docker部署的模板
  • 自动化测试
  • 自动化接口文档
  • 微服务
  • 前端组件积累和管理
  • 拖拽开发前端组件和页面
  • 管理端除了表格外其他呈现方式

License

MIT

Categories: Vue js