electron+react+redux+material-ui桌面应用小结

前段时间做了一个桌面应用,用于管理项目的一个menus.json文件。

要求可新增、修改,完成导出、导入功能。由于要对本地文件进行操作,所以就选择了electron这个框架。而对于react和redux,是因为刚开始学习,用来练手的。material-ui则是因为好看

electron 的安装还是有点小麻烦的,npm install -g electron-prebuilt安装比较慢且容易失败,先npm install -g cnpm ,再cnpm install -g electron-prebuilt就容易多了。安装完之后就能先按照官网上的quick start撸个electron的hello world。

electron下分为主进程和渲染进程,要在渲染进程调用主进程下的模块,有两种方法:
一种是通过使用remote;另一种则是ipc,就是在渲染进程发送信号给主进程,主进程接收到做出回应,或主进程发出,渲染进程回应。我用的是第一种,有尝试第二种,不过失败了…囧

还有用到的就是打包了。打包的electron-packager也是要全局安装的。打包的命令大概就是electron-packager ./ –platform=win32 –arch=all –out=../APP –version=1.0.0 –overwrite=true –prune=true 打包的时候经常会断线导致失败,所以可以加多这个ELECTRON_MIRROR=http://npm.taobao.org/mirrors/electron/ 但是这个在win下会报不是内部命令的,所以要先设置。

其他的electron还有很多好用的API,可以把桌面应用做的更炫,只是我水平太菜,还有好多东西还能去做好。如:把默认边框去掉,自己做边框;或者做个通知功能等等。

redux学习过程也是挺吃力的。redux的API不多,就是一些思想比较难理解。网上有很多优秀的教程和讲解,多看和多尝试就能慢慢理解,就算不理解,也能先依葫芦画瓢。平常都是使用jq的我,一开始使用真是捉急,总想去操作dom节点,慢慢的就有点理解,这个是整个视图去render的。使用redux对于这个小的项目感觉还是挺鸡肋的,平常的一个简单的setState,要经过action去触发reducer return一个新的state,再去状态树上取下来渲染。不过这样一来也是挺清晰的。还有就是尽量保持

你可能感兴趣的:(2016)