Excel催化剂的铁粉们都知道,笔者并非科班出身的技术人,纯粹是一个Excel普通用户晋升而来的,过往在VBA、VSTO的小圈子还能有点产出,来到Javascript的世界,就是一个纯小白。

从学习.NET的历程中,让笔者深深体会到现代编程语言的丰富性,不轻易因为学了一点点语法就开始撸代码,而忽视了现代语言中的丰富的轮子生态。

无数的专业程序员每天干着类似的应用场景开发,一些大牛级别的人物已经普度众生,为程序世界谱写了许多精彩的轮子,以便让大部分普通程序员们可以受益,懒癌到底。

所以本次学习WPSJS中,也是十分谨慎,深怕只盯着眼前的一点拙劣的方法,就开始日晒雨淋地码农起来。一路在学习和练习中,特别是除了学习基础语法外,到处搜猎各种提高效果的轮子,以充实自己的弹药库,日后正式撸起袖子开干时,可以更省心。

一、从前端框架谈起

学习网页开发,绕不开前端框架的学习,特别是耳熟能详的三大框架Ract/Angular/Vue,虽然笔者之前写文也谈及到在OFFICE开发上,用不上这么高深的前端知识,最多只是做一下与用户表单交互窗体即可。

但不可否认,前端框架实实在在给予我们非常高的生产力,笔者还是忍不住看了一点Vue.js的视频,也是被其中的高效所震住。未来笔者应该也会继续学习下去,争取能够将其用起来。当然学习成本也不低,B站动不动就好几十个小时的视频课程。

二、网页开发三大件学习

在html、css、javascript的学习上,也是不断地有新的知识加入,当然这三项是基础中的基础,没有这些知识,在网页开发上是举步维艰的,而上面提到的前端框架的学习,是基于已经有这三大件的一些基础才能开始的。

除了在W3School、菜鸟教程这些文字版的简单教程外,建议多去B站里搜寻下视频教程学习下,这些专业的培训机构的教程,特别是对初学者来说,还是比较受益的,特别是网页开发这种需要有渲染效果比较的,非纯编程数学逻辑处理的知识来说。

看这些视频,有时还可以学到老师们敲打代码过程中用到的一些小技巧,毕竟天天跟代码打交道,懒癌基因会起作用的,能激发人不断地找更优的方法。

三、VSCode编辑器学习

工欲善其事必先利其器,在网页开发领域,更是如此,好的编辑器,对于学习网页开发来说,效率高出好几个等级。而笔者也是沉下心来,学习了一把VSCode这个工具,其在前端开发群体里是异常火爆的。

同样地在B站也是大量的视频教程,让我们很有感知地去体验到VSCode的强大。

1、VSCode插件使用

就如OFFICE软件,需要插件来扩展其功能,在VSCode里,也是大量的功能由第三方插件所提供。
同样地也可以到B站搜索一翻或者关注下应用商店的下载量大的插件。
这里简单整理下自己安装过并觉得有意思的插件供大家参考下,详细使用自行去找寻学习资料。

  • 驼峰翻译助手

纠结怎么取变量? 中文一键翻译转换成常用大小驼峰等格式

  • Auto Close Tag

自动闭合html标签

  • Auto Rename Tag

自动同步重命名html标签

  • Bracket Pair Colorizer 2

大、小括号自动配对显示

  • Chinese (Simplified) Language Pack for Visual Studio Code

语言包必装

  • Comment Translate

翻译功能,停留在代码或注释上方可翻译

  • Translator

悬停英文翻译中文

  • HTML CSS Support
  • HTML Snippets
  • JavaScript (ES6) code snippets
  • JavaScript Snippet Pack
  • jQuery Code Snippets

一些代码片段增强

  • json
  • Json Editor
  • JSON Path
  • JSON Utils

json、jsonSchema对象查看、书写等

  • Live Server

自动开一个本地网站服务,一边写代码一边看最终效果

  • open in browser

快捷打开网页浏览器查看html代码

  • Prettier - Code formatter

格式化工具

  • SQL Server (mssql)

没有SSMS也能操作Sqlserver

  • Visual Studio IntelliCode

人工智能代码提示

  • vscode-icons

文件夹、文件图标

  • Debugger for Chrome

在google浏览器上测试代码

2、VSCode中使用git源代码版本管理

这个技能必须会起来,否则自己写的代码一点安全感都没有,不小心写错覆盖旧的还有笔者刚发生的电脑系统崩溃+不小心格式化硬盘分区。最终真踩雷了,刚好原来的wpsjs代码放到被格式化的分区上。

大幸的是笔者已经将项目发布到gitee码云上,通过在VSCode上的源代码管理工具git实现本地代码和码云代码同步了。
所以要开始撸代码前,务必要把源代码管理搞懂,安装好git,让VSCode上可以用git。
https://git-scm.com/download/win

四、目前为止接触过的类库

笔者反复提及到,对于面向应用层面的开发来说,不是专业的开发人员,就要多多思考有没有现成的轮子可直接拿来主义用起来。而不是埋头写自己的代码。在目前开发ET催化剂和EasyShu的网页图表功能中,笔者用到和学习过的的一些类库,简单罗列下,供大家学习参考。

1.DOM对象访问jquery

这个是必学的类库,就算一大堆人鼓吹它已经落伍了。我们普通开发,吃这些工具红利已经足够了,就如VBA30年还一样好用,没必要太在意那些取代论观点。

2.日期时间类库day.js

javascript原生的日期时间处理能力较弱,用第三方库才是王道,这个库是比较新的,也是流行的。

3.对象数组字符串处理增强:lodash

这个库是被引用依赖最广泛的库,大量的项目和其他库引用它,算是比较底层的基础设施,好多方法也是非常好用。像前几篇文章提到的对象合并功能 ,直接一个merge方法完事。

4.可遍历集合对象访问linq.js

这个强烈建议使用.NET的群体来使用,在.NET中的linq有多好用,不多说,这个库将.NET的linq迁移到javaxscript上可用。调用方法和语法都很类似,很快上手。

5.前端CSS框架bootstrap

这个前端框架没有VUE那么复杂,结合jquery也是可以快速做出好看的前端网页,学习成本不算高。

6.后端开发者喜爱的UI框架layui

这个笔者也是系统学习了一轮,做表单时好用,做出来的效果也比较美观。学习成本也不高。

7.magicalcoder表单设计器

在线网址:http://lowcode.magicalcoder.com/magicalcoder/index-layui.html
可拖拉的方式创建网页表单窗体,结合主流的前端UI框架。

8.jsonform库实现使用Json Schema配置自动生成网页表单窗体

网址:https://github.com/jsonform/jsonform/wiki
更详细介绍:使用json配置文件自动生成网页表单控件页面,让面向业务的开发开归本质
https://www.yuque.com/wpsjs/articles/gskger

9.base64.js

对文本与base64互转的需求,虽然javascript上已经有内置的atob和btoa方法,但对中文貌似会乱码,还是第三方全面系统些。

10.uuidv4.js

生成guid唯一值,这个也是找了个轮子完成。

11.图表类轮子

笔者熟悉使用ECharts.js,不过看到有Vue版本的ECharts,心里还是想一窥究竟,毕竟越是高级的库,开发越省力。
对antV了解了一下,同时对D3也是接触了一下,买了书还没开始全面学习。

五、结语

一边学习一边总结,笔者在javascript的路上希望也能给到后来者一些指引,特别是没有网页开发基础但有深厚的OFFICE开发知识的群体。

我们一起前进,一起加油,一起共勉。,一起攀登现代OFFICE开发之旅(网页开发知识掌握好,可以轻松切换在微软office.js和wpsjs两种项目开发中)。