转桌面端开发的感受

最近由Java服务端开发转到了桌面端开发,之前的项目暂时不需要更新维护,保持原样。

不仅仅是我转向了桌面端开发(主要针对VsCode二次开发),连安卓方面的那两个人也是如此。

之前我和另外JAVA的两个小伙伴是公司的前后台开发,而我就多兼任一个运维,至于测试,人人都是测试,彼此互测对方开发的软件。

转向桌面端开发(主要对VsCode二次开发),目前仅仅也只是看懂部分相关的javascript、css及其typescript的。

从来没有接触过桌面端开发。前端、运维、后台、自动化测试我都没怕过,这次我居然有点小恐惧。

第一周(也就是本周)为了达到某个需求,加班加点弄了两天,总还算是达到领导要求的那样。

关于对VsCode二次开发,由于之前对此一无所知,为此通过官网来梳理对应的信息(官方是最权威的,初学者最好还是通过官网来学习)。

注意:关于链接不能直接点击进入,需要手动复制到浏览器上打开

VsCode官网:

https://code.visualstudio.com/

VsCode源码:

https://github.com/Microsoft/vscode

VsCode架构梳理:

https://www.c-sharpcorner.com/article/vscode-architecture-and-overview/

对于梳理VsCode源码相关的,个人觉得这篇文章的参考价值还是比较高的:

http://ju.outofmemory.cn/entry/345080

但是不能否认由于VsCode处于不断的更新当中,有些博客确实过实了,有些信息就会对不上。

所以还是那句话,每当参考某篇博文时,比如修改源码,最好把文章整体看一遍,然后对着自己的源码,比较下,切勿看个大概,然后就开始一顿改,我之前就喜欢这样做,以至于被坑了不少。所以大家不要再重蹈覆辙了。

关于如何编译运行VsCode,最好是参考官网:

https://github.com/Microsoft/vscode/wiki/How-to-Contribute

同时一定要按照官网上面所要求的环境来,否则会出现很多问题。

当然了,也可以参考我的这篇博文

VsCode源码编译运行

地址为:

https://www.cnblogs.com/youcong/p/10230091.html

说了有点偏题了,不过之所以在前面说那么多,我觉得应该能对将要研究或者是对VsCode感兴趣的朋友们会有一定的帮助。

感触如下:

1.除了前面提到的恐惧之外,还有就是兴奋,因为这个领域我没有接触过,借此机会可以学习扩展自己的知识面和技能树;

2.经过这一周的研究,还是有不少启发的,比如VsCode的插件开发等,与我之前研究的wordpress其实相差并不大,要说的区别的话,也就是编程语言的不同及其端不同(一个是桌面端,一个是web端)。

3.眼界算是大开吧,我没有想到TypeScript和Electron及其NodeJs在一起居然能开发一个桌面应用,当然了,最主要还是TypeScript,但是掌握好Eletron对于理解VsCode会更好,这也是我哥哥对我说的,但是我目前没有去验证这一点,用百度去搜索,得来的electron的资源确实很有限,另外我不得不说w3cschool的electron教程没有其他教程详细全面有一个可以运行的地方(比如java就可以直接运行);

4.我觉得接触一项没有接触过的,或者是学习新的技术,一定不能认为自己学不会,可以从简单的入手,比如将源码跑起来,或者是改改VsCode布局以此来熟悉VsCode一部分代码或者是之前阅读官方文档不是那么仔细,现在可以再仔细看看,顺便将它上面可以跑起来的例子,自己在本地跑起来。比如插件开发,我就跑了一个hello world的例子,虽然说不是那么的实用,但是让我对此的熟读度越来越高了,当熟悉度越来越高时,你就可以尝试大幅度改代码。

有一点在此还是要强调一下,项目代码应该和试验项目代码进行分离。比如我本地有两个VsCode源码,一个是正式开发,一个是做试验的,不管是正式还是做试验我都会对其进行版本控制(使用Git),毕竟改着改着人的记忆是有限的,到时过了一段日子,突然忘记改了那部分就不好了,所以需要及时提交做好相关的记录(版本控制就能帮你做这些事情)。

也许会有人问,转桌面端开发是不是意味着以后你都做桌面端开发,我的回答是,当然不是。

我的核心还是以Java为主,也就是服务端开发。只不过由于目前桌面端那边人手不足我需要顶着,如果服务端需要我,我就去服务端,桌面端需要我,我就支援桌面端。

不过目前的话,我是两边都要沾点。主要还是以桌面端为主。

目前不仅仅是我这边需要转,原来的两个Java小伙伴他们也要转,只不过还是服务端,但是用的编程语言不一样,服务端目前用的是Python。

总而言之,大家接触的都算是新的技术,不过经过这一周我们还是克服了不少困难实现对应的目标。

由此我觉得所处创业公司带给我的一个最大收获就是,没有什么困难是克服不了的,只有想不到没有做不到(我想这就是创业精神)。

回顾我们的项目历程,从酒店管理系统、智能门锁、资源系统到现在的VsCode二次开发。基本上都遇到困难了,但是我们都解决了。

目前分给我的任务是算是插件开发,这一个让我有点头痛。插件开发目前不算是紧急,有一个相对比较紧急的就是修改原有的插件,但是这个插件跟我之前改的其实区别不算大。

目前我主要改造的是VsCode中的cpp,代码结构如下:

转桌面端开发的感受

明天可能要去公司加班弄这个玩意,虽头痛但是还是得把它给搞定。

关于研究数据结构与算法

最近下班回来后,阅读《数据结构与算法》这本书,这本书不得不承认不好啃。难读看不太难。于是为了让我自己注意力集中,不得不将上面一部分相关信息录入到我的学习笔记中,然而阅读看一遍。不过好在上面有代码示例,可以运行跑起来,这样使我不至于被催眠。

学习笔记放在我的博客园,代码示例我放在我的Github上。感兴趣的朋友可以去看看。

学习笔记:

https://www.cnblogs.com/youcong/category/1369746.html

代码示例:

https://github.com/youcong1996/The-Data-structures-and-algorithms

关于知识拓展

最近看的文章和书挺多的,阅读对我来说就是算是一种放松。

最近看罗振宇的知识就是力量。

同时也在看这三本书《孙子兵法》、《论语》、《黑客与画家》。

《论语》之前还听了会书,不过我觉得那个人讲的不好,还不如我看书来的思考快些(说到这,说不定我以后转职业去做计算机老师也是个不错的。

《孙子兵法》这本书我在高中的时候读过一遍,这个时候再看一遍纯属个人兴趣消遣一下,小时候一直喜欢历史和军事方面的。

《黑客与画家》每个程序员或许都有一个黑客梦,当然了,这本书并不是讲黑客,这本书是我的计算机偶像阮一峰先生翻译的,主要是冲他去的。

其实这三本书,我也是有选择的看(挑自己感兴趣的看,除了最后一本《黑客与画家》从头读到尾。

最近关于个税方面的改了很多,这个我了解不深,仅仅只是发现比之前多了点。

所以写完这篇文章后,我就去看关于个税方面的资料。

看完之后就去leetCode做两道算法题,这一天也就这样充实地度过了。

Docker教程

这个教程是我6月份到7月份的时候写的,那个时候正好买了一本叫《Docker入门到实战》的书,然后跟着上这本书学,记录相关的笔记,顺便运行相关命令看看效果。当然了,在看这本书之前,我就已经将菜鸟教程上面的教程玩了一遍。也算是对Docker有一个大致的了解吧。

目前的软件工程模式devops挺流行的。特别是其中的自动化技术,比如自动化部署之类的。目前主要用Docker比较多,再上升的话也就是k8s。但是k8s还是有一定的难度,最好还是将Docker用到一定的熟练度时再去学会更好,特别是Docker三剑客是一定要掌握的。

Docker相关教程(我这个关于Docker三剑客没有详细讲,等到到时用到的时候会补充的):

https://www.cnblogs.com/youcong/category/1222243.html

最后,继续朝着我的2019年目标前进。

2019 努力成为更好的自己

相关推荐