距离上个帖子一个多月了:分享一个可以通过台词找影片素材的在线工具。
这个期间修复了很多问题,完善了功能,并肝了个 PC 客户端,解决了视频转码的问题。
由于个人精力有限,在选择技术方案的时候,跨平台就成了必要条件~
个人最熟悉的是 Java,JavaFX 是个很好的选择。不过 web 端已经已经用了 vue 来写,大部分页面可以直接移植到 electron 中,这个诱惑实在太大,所以决定选择 electron 。
说说 electron 的开发体验。
这个客户端主要是通过 vue + electron + ffmpeg 来完成的。
页面开发部分和 vue 一致,热重载刷新页面,客户端开发中,页面代码编写是大头,这个开发体验深得我心,页面开发效率蹭蹭提升。相信做过移动客户端开发的同学对此深有体会,改动一点页面就要重新编译一次是得多麻烦,用过 Flutter 的同学,相信都不想再回去 Android 原生开发了。
由于我对 nodejs 不是特别熟悉,基本就是一边用一边查文档的状态。因为 electron 有两个环境( electron 实际就是基于 Chromium 的一个 cs 架构应用),所以集成 ffmpeg 和处理耗时任务的过程遇到不少坑。
基于 electron 的实现原理,打出来的包都超级大。为了减少了体积,我只好把 ffmpeg 的执行文件放到服务端,然后按照不同平台进行下载,这无疑增加了复杂度~
开发环境中正常的包,打包好之后可能就不能用了;同样的代码,从 mac 切换到 windows 可能就不能正常工作了,这些坑都得填~
不过抚慰人心的是:electron 支持热更新 ! 这个特性对于客户端来说太重要了~ 让人们下载安装一个应用是如此困难重重,而卸载只是一瞬间的事情~
我没有找到直接支持 electron 的数据统计第三方平台,后来看了一个帖子,最后是集成了 google analyse,算是曲线救国了。
差不多就这样吧,总的来说,electron 像是个极客工具,还有不少亟待解决的问题,生态还远没有起来,虽然有 vscode 、atom 这样的代表级应用,但这些产品背后都是有阵容豪华的技术团队的。如果是在正式的商用产品上,慎用!你要问问自己的团队有没有能力去填框架的坑,有没有能力去造轮子~
最后介绍一下我做的这个东西:
目前是邀请注册制,点击这里注册账号
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.