前言
首先声明一下这篇文章不谈代码,只谈心。
从接触Electron到真正去做出一个桌面应用,再到今天写下这边文章,大概花了三个月时间吧,到不是因为有多难,主要是这纯碎是个人兴趣,自己是在业余时间干的,公司里面目前还没有推行,这段时间开发任务又比较重,所以断断续续用了三月吧。今天写下这篇文章只是记录一下这个过程,也是和初学者分享一下。相信大多数人都是知道Electron最初是起源于Atom,然后从Atom剥离开来最终形成了现在的Electron,目前使用Electron來开发的桌面用非常多,我们最熟悉的比如Atom,VScode…,这类IDE,除此之外还有一些开发的辅助工具也借助于electron,比如iview的官方脚手架用来创建vue项目,腾讯的weFlow工具,等等。这些辅助工具将平时的一些命令行操作集成到了图像化界面操作中来,使用起来更加方便简洁。总的来说,electron对于我们前端来说用到的知识没什么特别的,但是做出来的东西感觉挺新鲜的,毕竟一下从做web页面,升华到做桌面应用了,内心还是有点小激动的。
目录:
我是什么时候开始接触electron的
最先接触的是Weex这一类的垮终端移动APP开发框架,后来开始使用VScode编辑器,才听说Electron有多么的强大,然后跑去Electron的官网一看,首页那句醒目的标题“使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用”瞬间吸引到了我,然后就开始干,从最开始的官方demo到electron-vue再到自己开始做了一个前端开发的辅助工具应用,一步步趟过来,有点喜悦,也有点头疼,虽然已经有类似Atom,VScode这样的产品了,但是发现在开发过程中遇到的问题,度娘上还是找不到几篇真正能解决问题的帖子,最后还是自己去踩,但是比起weex来还是好多了,不是黑weex,主要是他的生态建设太差了,新入门的需要花费大量的时间去学习,并且需要在实际应用中不断去发现问题,然后解决问题,关键是解决问题的过程中很少能获得社区的帮助。言归正传,我们还是回到electron的话题上来。
为什么作为一个前端要花时间在Electron这种桌面应用开发框架上去
作为一个web前端开发人员,去弄桌面应用是不是有点不误正业。这个其实不然,首先electron的精华就是”使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用”,这就是赤裸裸的在勾引我们前端开发人员,臣妾就是为你服务的。其次在node出来之后,前端的定位其实开始变得模糊起来了,前端开发人员不再仅仅局限于UI和页面,UE和业务逻辑的实现了,开始越来越多的接触后端的知识,‘大前端’这个名词也开始经常在各种公开场合见到,就连ES也开始和java这对兄弟也开始相认了(越来越像了),所以多接触一点也算是与时俱进吧。
像Electron这种结合了Node,Chromium,html,css,js的框架,对于有志成为‘大前端’的同学来说,是比较有吸引力的,它是基于node的,对于熟悉node生态圈的人来说,开发起来就更加如鱼得水了。这里可能唯一比较陌生的可能就是Chromium了,我们可以拿面向对象的思想来看待它,electron已经帮我们封装了对于Chromium的操作,so.我们只需要了解electron的API就行了,刚开始接触没有必要去纠结自己对于它有多了解,当到了用electorn开发桌面应用如鱼得水的时候,我们有时间可以去了解一下他。所以这些所谓的陌生并不会成为我们学习和使用electorn 阻碍作为一个程序员,就是要勇于去接触新的东西,这样平时枯燥的编码生活才会多一点点色彩。
所以,作为前端完全可以大胆去尝试使用electron来开发桌面应用,技多不压身,在将来的某些时候或许可以为你提供一种全新的解决方案。
为什么越来越对她越来越有感觉了
为什么一定要做成桌面应用,web网页不是也能干他的活吗
在最开始的时候我也有这样的疑问,用web网页来实现不是更好吗,只要有浏览器就可以访问,而且只要终端上面有浏览器就能访问,这样还省去了应用的安装步骤多好啊。在接触久了之后发现,网页能干的他能干,而且干的更好,web不能干的,他也能干。比如:
1.他可以摆脱浏览器的沙盒机制,可以访问操作系统层面的东西。我们在网页上面只能借助于后台服务去干这种事,然后通过http告诉前端页面,如果要处理本地文件,还得将文件传到服务器上去,让服务器处理。
2.更好的用户体验,不管我们是做成B/S的web还是做成客户端的形式,最终的目的其实是在实现功能需求的同时还是最求更好的用户体验,在用户体验上桌面应用无疑更上一层。就像你webApp和原生APP比较,原生无疑还是体验更好。
既然electron就可以做桌面应用,那是不是就没有C#和C++什么事了
在electron之前,桌面应用基本上是靠C#和QT来做。那为什么不用他们来做,非得整个electron呢。
使用eletron需要储备哪些知识
学习electron的过程中需要注意什么
electron的弊端
前面都是说electron是多么多么方便快捷,现在提一下,我在使用中遇到的弊端
总结
就一句话,前端现在真是牛逼大了,老本行web就不说了,用nodejs可以搭建后台服务,用RN,weex可以做移动端APP,现在electron连PC桌面端应用也不放过了,现在谁还敢说我们前端就是写写页面,写写样式的。吼!吼!
联系客服