Electron桌面应用的资产数据库?

时间:2017-03-04 01:00:33

标签: javascript html node.js electron

我是Flex / Actionscript世界的难民,我正在使用Electron作为运行时引擎将一个大型遗留Flex应用程序“移植”(基本上重写)到Javascript。我正在学习,做一些小测试来探索各种javascript库和框架的功能和适用性。

这是一个使用本地文件的“演示”型桌面应用程序(例如Powerpoint,Keynote,iTunes类型的应用程序),我需要让用户能够导入,标记和组织许多图像和视频资产。我需要能够移动/复制资产,处理重复的文件名,为每个文件创建数据库记录,创建文件分组等,然后当然能够在运行时访问所有这些。

虽然从头开始编写它会很有趣,但这将是一项很多工作,我想到可能有一个现有的库或CMS框架我可以适应这一点。这个想法是错误的吗?是否存在针对此类要求的现有解决方案?

1 个答案:

答案 0 :(得分:2)

我正在开发一个对文件操作和数据库记录有相同要求的项目,所以让我给你一些提示:

  • 使用占地面积小的数据库(leveldb,nedb,lovefield),因为您需要将其打包到应用程序中。

  • 不要直接从渲染器进程调用fs模块,总是使用ipc(出于解耦原因)。

  • 通过分离主要(电子主要,节点模块等)文件和渲染器(视图,客户端js,图像......)文件来构建应用程序

  • 你需要一个文件和目录的第三方模块,以确保一切运行顺利,我使用mkdirp确保目录存在,你也可以使用fs-extra,这对于处理两者都很好(fs doesn& #39; t表示不存在的位置。)

  • 如果文件很大,请使用流来移动资源,createReadStreamcreateWriteStream应该是用于阅读和播放的唯一方法。写文件。

  • 如果您需要观看某些目录,请使用chokidar,它比fs.watch方法更有效。

  • 使用viewpart的框架,取决于你所熟悉的,但是angluar,react,vuejs将是一个不错的选择。

最后查看此链接,它将帮助您了解可以使用的内容 https://github.com/sindresorhus/awesome-electron

希望有所帮助