如何将“PHP.Laravel + VueJS”应用程序移动到混合应用程序?

时间:2018-04-10 11:56:25

标签: web-applications vue.js electron desktop-application multi-device-hybrid-apps

我有一种任务管理器应用程序,后端是用PHP编写的,前端是用vuejs + HTML + CSS编写的,所以我的理解是将前端部分捆绑到混合中很容易像Electron这样的应用程序,但我也希望摆脱服务器端的交互,并允许所有的数据库存储都参与用户的计算机。

我可以想象一个精通技术的用户能够轻松设置Laravel + MySQL&在他或她的桌面上运行服务器,但当然,我的最终愿景是让整个设置过程和数据处理对用户不可见。

我见过任务管理器将任务存储到文件中,然后通过Electron和JS进行读写,但我认为,我更倾向于使用数据库而不是数据库,模型和控制器,我想我可以跳过所有在服务器上运行该应用程序的额外期货都会提供。

有什么建议如何最好地实现这一目标?最好不要在JS + PHP中添加额外的语言。或者,如果这不可能,那么保持VueJS + HTML + CSS前端的其他选择是什么,但将PHP代码转换为可以为跨平台或至少Linux + MacOS编译的其他语言?

2 个答案:

答案 0 :(得分:1)

我建议删除PHP。如果您正在进行某些编码工作,则应将每个PHP函数移植到JavaScript中,并使用LocalStorage或某些节点友好的ORM(如Waterline)来满足您的存储需求。 Electron基本上是一个浏览器,后面绑着一个服务器。如果您只需要服务器来存储数据,请使用Node。随着技术相互迁移,任何其他因素都将为您带来更多的工作,并且未来可能会有更多的风险。

答案 1 :(得分:0)

所以我只是自己完成这个,我不得不说这取决于你目前使用多少laravel来展示你的网站。对我来说,我已经在使用Vue,Vuex和Vue路由器了,所以我抓住了electron-vue并开始使用我的所有Vue组件,js文件和SCSS文件。不得不在这里和那里更改一些导入目录,为webpack安装一个SCSS编译器,并删除我剩下的几个Blade功能,但之后我和我的网站有完全相同的前端。抓取内容就像连接到各种API端点的数据一样简单,使用通行证设置OAuth2进行用户登录,并在本地存储中缓存一些细节。到目前为止,我还不需要任何东西,但是对于电子,您可以(或多或少)完全访问操作系统,就像常规应用程序一样。前端站点和后端api /后端电子实例之间的交互是一个棘手的部分,但我只是通过简单的教程并逐个构建我想要的功能。

我的建议是首先将你的Vue前端移到vue-electron上。然后,一旦完成设置,就开始对端点进行API调用。我建议观看一些https://laracasts.com视频,使用laravel作为API等(不附属,对Jeffrey的作品质量非常满意)。一旦你开始使用laravel作为API后端,我想你会发现事情刚刚开始落实并且有意义。