V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kevinguoCN
V2EX  ›  Electron

紧急求助 electron 开发桌面应用

  •  
  •   kevinguoCN ·
    kevinguocn · 2023-08-09 18:41:47 +08:00 · 2384 次点击
    这是一个创建于 465 天前的主题,其中的信息可能已经有所发展或是发生改变。
    紧急求助各位技术大佬,目前遇到了一个项目要求使用 electron 开发一个桌面应用。
    需要使用 electron + vue3 ,
    本来是做后端的程序员 硬是把我逼成了全栈

    项目背景:
    需要开发一个进销存单机版, 本地数据库使用 SQLLite

    请问一下:
    1. 这样开发 技术如何准备,需要准备哪些知识。
    2. 一个人来开发的话, 环境需要怎么配, 各种框架的版本应该选择?
    26 条回复    2023-09-03 05:57:18 +08:00
    deorth
        1
    deorth  
       2023-08-09 18:45:14 +08:00 via Android
    不急
    kevinguoCN
        2
    kevinguoCN  
    OP
       2023-08-09 18:47:29 +08:00
    @deorth 不急就被 K 了。hhh
    newlifeinsc
        3
    newlifeinsc  
       2023-08-09 18:59:50 +08:00
    1. 对后端来开发这个,最困难的应该就是前端部分吧。 你是后端,是什么后端?这里的计数范围就是 前端网页+electron 库+nodejs 。 这 3 个部分中,你看你觉得哪个最难嘛
    2. 照着官网走一遍就知道了
    wukongkong
        4
    wukongkong  
       2023-08-09 19:22:24 +08:00 via Android
    最近在用 electron 写一个视频剪辑客户端,比较复杂,前端人员搞还好,后端那必须熟悉 nodejs vue3 一大套东西。
    shalingye
        5
    shalingye  
       2023-08-09 19:30:40 +08:00 via Android
    简单,去找个 electron+vue3 的整合项目,装 npm ,装好项目需要的 nodejs 版本,导入 SQLite 模块并把它加入外部文件依赖(这里是一个坑),然后写界面调试就完了。
    shalingye
        6
    shalingye  
       2023-08-09 19:32:09 +08:00 via Android
    指正下意思,electron+vue 的模板
    kevinguoCN
        7
    kevinguoCN  
    OP
       2023-08-09 19:58:49 +08:00
    @shalingye 类似别人搭好的脚手架吗
    kevinguoCN
        8
    kevinguoCN  
    OP
       2023-08-09 19:59:16 +08:00
    @wukongkong 既不熟悉 node 也不熟悉 vue 。 之前只简单学过。
    retrocode
        9
    retrocode  
       2023-08-09 20:03:44 +08:00
    产线运行环境如何? electron 开发 如果是单纯的 crud 项目没有原生交互需求的话其实很简单, 当传统 web 套壳开发就行了. 找个现成的脚手架直接开发即可.
    我之前发过一个, 开发中遇到的坑的帖, 你可以参考下提前规避或者考虑
    /t/958030
    kevinguoCN
        10
    kevinguoCN  
    OP
       2023-08-09 20:08:45 +08:00
    @retrocode 看到了 需要用扫码枪。。。 我这个也需要用扫码枪 并且需要调用 打印机。
    woshipanghu
        11
    woshipanghu  
       2023-08-09 21:02:10 +08:00 via Android
    electron+sqlite 是个巨坑 打包的时候会后一堆的问题 我软件写好了 打包现在都还没搞定 mac 平台
    woshipanghu
        12
    woshipanghu  
       2023-08-09 21:05:32 +08:00 via Android
    @shalingye 老哥 electron + sqlite 能帮忙看下吗?🥲🥲🥲 我搞了一星期了打包还没成功 巨坑啊
    shalingye
        13
    shalingye  
       2023-08-09 21:21:55 +08:00 via Android
    @kevinguoCN 对,不熟悉语法没事,让 gpt 帮你写,写着写着自己就会了
    ochatokori
        14
    ochatokori  
       2023-08-09 21:31:13 +08:00 via Android
    简单,包给大学生
    shalingye
        15
    shalingye  
       2023-08-09 21:37:41 +08:00 via Android
    @woshipanghu 额,我使用 sqlite 遇到的问题主要是数据库需要写到外部依赖,而且也只编译过 win 平台。我记成另一个 regedit 的大坑了,那个需要把它模块里面的 vbs 脚本都写入到外部依赖。
    woshipanghu
        16
    woshipanghu  
       2023-08-09 21:43:27 +08:00
    @shalingye 大佬给几个解决问题的关键词 我自己再去研究研究 真的搞了一星期了 现在就是个无头苍蝇
    Kaiyuan
        17
    Kaiyuan  
       2023-08-09 21:47:46 +08:00
    我们小团队,直接搭了个 APITable 。
    shalingye
        18
    shalingye  
       2023-08-09 22:02:41 +08:00 via Android
    @woshipanghu 关于 ele 打包我所遇到的问题基本都是外部依赖未一起打包,你可以尝试搜索下报错看看相关内容
    ChefIsAwesome
        19
    ChefIsAwesome  
       2023-08-09 22:10:07 +08:00
    你就正常开发你熟悉的后端,打包成一个能在用户机子上运行的 web 服务。electron 还是走 http 跟后端交互,跟普通浏览器没区别。具体点说:
    1.启动 electron 时,打开你的后端服务。比方说它监听 1024 端口。
    2.electron 窗口加载 http://localhost:1024 。

    本地请求速度快,加上你不熟悉前端,就直接切页面,不用 vue 之类的客户端渲染也可以的。
    woshipanghu
        20
    woshipanghu  
       2023-08-09 22:42:54 +08:00
    @shalingye 好的 谢谢大佬 我继续试试看
    tianzi123
        21
    tianzi123  
       2023-08-10 01:06:55 +08:00
    @ChefIsAwesome 客户端渲染有现成的一大堆教程可以 cv,直接切那套逻辑,他压根不会
    bianhui
        22
    bianhui  
       2023-08-10 08:32:38 +08:00
    直接用 electron 套 web 网页就行了,简单无脑,
    luomao
        23
    luomao  
       2023-08-10 11:28:40 +08:00
    如果仅是打包问题,建议用我做的镜像
    github: https://github.com/czqclm/fast-package-electron
    luomao
        24
    luomao  
       2023-08-10 11:28:58 +08:00
    duan602728596
        25
    duan602728596  
       2023-08-10 13:20:00 +08:00
    作为开发过的人,我总结一下可能用到的知识点
    1. 浏览器提供的一些 api ,因为在开发过程中会经常用到,比在 web 开发中用到的更多
    2. nodejs ,这也是开发、打包、测试需要用到的
    3. vue 全家桶的相关知识,因为一些库如 vue-router 、pinia 会更频繁的用到
    4. 因为你选择了 vue ,所以 webpack 、babel 、typescript 、gulp 、postcss 这些都是可能用到的
    5. electron 提供的一些 api 要熟悉,这也是经常会用到的
    6. pipeline ,打包推荐用 MacOS 的镜像,可以打包出三端的软件
    7. python + xcode/vs/GCC 等,electron-rebuild 会用到
    haleclipse
        26
    haleclipse  
       2023-09-03 05:57:18 +08:00 via Android
    搞定了?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2779 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:55 · PVG 20:55 · LAX 04:55 · JFK 07:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.