快速开发一个Web-Admin系统

两种解决方案

  1. Django Admin
  2. vue-element-admin

分层设计

  1. DB
    • MySQL ☆
    • PostgreSQL
    • SQLite
  2. ORM/Restful API
    • Python
      • Django
      • Django Framework ☆
      • Restful API
    • Java
    • Go
  3. F2E
    • Vue
      • element
      • vue-element-admin ☆
    • AngularJS
    • React

vue-element-admin

定位是后台集成方案,不适合当基础模板来开发

  1. vue
  2. eleme
  3. vue-element-admin

JS/Node/Vue

JS前世今生

  • C-- (C minus minus)
    • ScriptEase
  • LiveWire
    • LiveScript
      • JavaScript
  • JScript/VBScript

JavaScript标准

  • ECMAScript
    • JavaScript
    • ActionScript
    • QtScript
    • WMLScript

JavaScript版本

  • ES2(1998年6月)
  • ES3(1999年12月)
  • ES4(第四版因为过于复杂废弃了)
  • ES5(2009年12月)
  • ES6(2015年6月17日)

社区规范

  • CommonJS(侧重服务器)
    • Nodejs
    • MongoDB
    • CouchDB
    • Ringojs
    • Preserver
  • AMD规范(侧重浏览器)
    • require.js
    • curl.js
  • CMD规范(侧重浏览器)
    • seajs

浏览器兼容性

  • JavaScript
  • DOM
  • BOM
  • CSS

JavaScript虚拟机

Node和浏览器都可以运行js代码,我们可以认为它们都是JS虚拟机的一种

  • 开发时
    • Node: Npm/Webpack
  • 运行时
    • Browser: Chrome/Firefox

Python虚拟机

  • CPython
  • PyPY
  • Jython
  • IronPython
  • Stackless

Java虚拟机

  • HotSpot VM
  • J9 VM
  • Zing VM

WebPack

image

生成代码

数据库设计约定

  1. 如果表名user, 主键为id,则外键命名为user_id
  2. 表名为名词,单数形式
  3. 表名的复数形式直接追加s即可,不必考虑英语语法
  4. 所有表都包括两个字段,created_at|updated_at
  5. 所有表使用删除标记方式,is_deleted
  6. created_at,插入记录时自动更新,应用层代码无需处理
  7. updated_at,更新记录时自动更新,应用层代码无需处理
  8. 若表名后缀为history,只允许查询和插入操作
  9. 若表名后缀为runtime,数据必须保证和网关引擎(Edge)一致
  10. 若字段名前缀为is_,表示字段类型为布尔类型
  11. 外键表必须还有name字段

函数命名/定义约定

函数名 = 动作 + 资源 + 表现

  1 import fetch from '@/utils/fetch'
  2
  3 export function fetchPluginList(query) {
  4   ...
  5 }
  6 export function createPluginEntity(name, desc, created_at, updated_at, is_deleted) {
  7   ...
  8 }
  9
 10 export function updatePluginEntity(id, name, desc, created_at, updated_at, is_deleted) {
 11   ...
 12 }
 13

集成约定

  • 要bundle,不要fork
    • Nginx
      • × Tenginx
      • √ Openresty
  • 尽量不破坏原有代码结构,易于后续跟踪升级
  • 尽量保持一致的代码风格

代码模板化

重点是抽象

  1. 页面功能
  2. 代码逻辑

Vue命名规范

  • 视图
  • 方法及放置顺序
  • 数据属性
  • 生命周期

实现

即将开源...

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 来源:github.com Vue.js开源项目速查表:https://www.ctolib.com/cheats...
    zhangtaiwei阅读 14,019评论 1 159
  • 周日之时,因前日风雷电掣而房内停电,近晌午,汗流浃背,故心愈闷。登车去城中,漫走街头,甚无目的,不经意,抬头往视,...
    艽原阅读 2,817评论 6 5
  • 1、老子才是彻彻底底上了你的当,感情没得到(理解、疼爱、保护),物质没得到一分钱,连基本的尊重没得到(想吼就吼,想...
    嬉笑怒骂皆生活阅读 1,605评论 0 0
  • 我得设置 设置字体大小"font_size": 17 程序员之所以会累,一部分原因要归咎于显示器上的字体大小。你可...
    bycall阅读 3,968评论 0 1
  • 你看我的眼神里 没有爱 没有怜惜 没有小心翼翼 没有视如珍宝 那一刻想通后 可能是没有缘分 缘分止于此 连话都不愿...
    君晓墨阅读 1,046评论 0 2