最近自己想做一个数据资产管控系统,虽然名字听起来非常高大上,但是实际要解决的问题还是比较简单。另外,目前所能接触到的号称是xxx产品,或者资产管理系统的,自己觉得都是打着资产的幌子在卖元数据管理系统,关于这部分信息留着后续再诉说。

因为要做这件事,所以需要做一些开发工作,我自己也不打算重复造轮子,所以基于Atlas之上封装了一层资产管理引擎,之所以叫引擎是因为我想把和“资产”相关的东西封装进去,自动化处理,例如定价,价值预估,数据变现率等。

这部分开发工作不可避免需要涉及到前端开发,老实说我的前端水平,那不是一般的一般,基本就是菜的不行,能够拿得出手的框架就是React,那都是几年前参与开发和大牛学到的几招功夫。

到如今,前端蓬勃发展,整个生态完备和复杂程度丝毫不输于后端,作为初学者光是一堆关键词的关系就能理的头大。

其实不难看出,前端整体正处于一个百花齐放的阶段,自然不可避免会有一些东西,鱼龙混杂,但是好在目前有收的势头,也就是目前基本能够看到整个前端慢慢趋于规范,标准和兼容,甚至静态编译都已成型,这是好事。

在前端生态中,和其他编程领域相差不大,基本都有以下几个概念:

  • 规范:像我们常说的ES5,ES6也叫ES2015等等关键字,都是规范,规范定义了一门语言/框架需要遵守的标准,和J2EE中的JDBC,JPA等规范类似,所有涉及的框架和语言都要遵循其规范。
  • 运行环境:Node很多时候回被人定位成一个语言,Node确实比较庞大,准确来说Node包含了三个部分,基于V8的运行环境,原生的Js编程语言,和编译语言成运行态的指令的编译器。如果不是使用Nodejs的生态,那么大部分场景下我们所使用的Node都是只用到了其运行环境,运行环境除了Node外,像各种版本的浏览器,都属于运行环境。
  • 编程语言:目前来说前端的编程语言其实并不多,只是各种框架百花齐放,除了最常见的HTML,CSS和JavaScript外,像TypeScript,还有React和angular等框架部分特性属于自己的私货,也算编程语言之一。
  • 工具和生态:到目前位置前端的生态和工具可谓非常完备,像Npm/Yarn包管理器,就像后端的Maven或者Sbt一样帮我们搞定了依赖库的管理,这是具有非常大的意义的,因为一旦可以抽象成库,则意味着接口规范的形成,也就意味着大规模团队开发和管理奖有较为标准的规范可循。而yarn和npm也是稍微有点差异,那就是yarn可以锁定具体的版本号,实际的时候根据需要选择。除了工程层面的工具外,组件方面也是非常繁荣,规范通常会领先于运行环境,像浏览器不支持ES6语法的时候,有对应的工具babel将其翻译成ES3或者ES4确保既能在开发的时候享受高级特性的同时又能确保运行时候不会出错。这和曾经Java8出来之前,无数Javaer想使用Lambda表达式的状态和要解决的问题有着异曲同工之秒。

从本次开发来说我自己选择了Vue来开发写代码,主要图的就是简单,省事,另外自从React的某次协议变更 事件发生后,加深了我对它的不友好层度,所以种种最后觉得还是Vue比较好。

从IDE来说,我自己本身是一个轻量开发者,也就是不是很喜欢那种特别像VS的套装全家桶,基本一安装整个硬盘几十GB没了,反而大部分功能用不上,更喜欢文本编辑器作为起步,使用了VSCode,VSCode蛮好,从使用来讲我觉得以下的几个插件用处蛮大,这里记录下:

  • vetur 写vue必备插件
  • Path Intellisense 路径自动补全
  • Auto Close Tag 自动闭合标签
  • Auto Rename Tag 当改标签名字是,同时修改闭合标签
  • Beautify 格式化文件,保证正确的缩进
  • HTML CSS Support CSS提示插件
  • JavaScript (ES6) code snippets es6代码提示插件
  • VSCode Great Icons 给文件夹增加图标的插件
  • Dracula Official 自用主题色
  • Git Blame 查看提交的记录
  • GitLens — Git supercharged 能查看详细到某一行是谁提交的

GitLens算是真的是一大神器,可以在代码位置显示是谁提交的,这个特性真不错。

关于前端的信息先写到这,后续有时间再逐步更新。


扫码手机观看或分享: