宣布 NanaZip 1.0 - NanaZip 的一个坚实的现代化开端

来源: 投稿
2021-12-09

NanaZip 基于知名文件归档工具 7-Zip 二次开发,致力于在文件归档工具领域提供现代 Windows 体验。

自8月末开始,经过三个月的努力,如今我们非常激动地宣布:我们已经发布了第一个稳定版本,即 NanaZip 1.0。你可以前往此处进行下载。

现代化的构建工具链

首先,我们将继承自 7-Zip 原始实现的基于 makefile 和 VC6 工作区的构建工具链迁移 到了基于 MSBuild 项目配置的现代工具链,以便于使用 MSIX 打包和并行编译支持。

同时我们清楚,用户在很多情况下可能无法直接访问微软商店 (Microsoft Store), 这使得用户难于下载和部署应用所需的依赖包。同时我们希望能为有特殊需求的用户提供在大部分设备上轻松部署的方式,我们在 NanaZip 的 MSIX 应用包内包含了应用所需的全部依赖。

我们使用 VC-LTL 5.x 工具链使得二进制体积比原版 7-Zip 更小,因为可以仅依赖 ucrtbase.dll 且充分利用现代编译工具链的优化。

这些使得 NanaZip 接下来的现代化工作有了个坚实的开端,NanaZip 也许是第一个使用 MSBuild 项目配置构建的 7-Zip 开源衍生版本。

用户体验的现代化进展

在我们完成对构建工具链进行现代化改造后,我们开始了现代化外壳 (Shell) 扩展,在 微软发布 Windows 11 后,新式上下文菜单成为了我们需要实现的内容之一。得益于我们此前的工作,现代化的构建工具链让我们可以优雅的使用 MSIX 打包,并使得适配过程 变得更为容易。

我们在 Windows 11 正式发布日期之前即 2021 年 10 月 5 日 发布了第一个公共预览版, 在有限的时间内我们无法做到以现代化方式对 7-Zip 的用户界面实现进行重构,于是我们仅仅是用基于 Segoe Fluent Icons 字体生成的位图更换了主界面工具栏上的图标并启用了我们请设计师绘制的新标志。

在我们发布了第一个公共预览版之后,我们从用户那里收到了大量的建议:譬如提供了方便用户从 7-Zip 迁移的命令别名,合并了 7-Zip NSIS 分支和 7-Zip ZStandard 分支的内容等。

来自用户的赞许和建议是每一位创造者最为欣喜的事情,我们会尽我们所能的去实现这些建议。

NanaZip 1.0 发行日志

NanaZip 1.0 (1.0.95.0)

  • 使用 MSBuild 对编译工具链进行现代化以使用 MSIX 打包和并行编译支持 (感谢 AndromedaMelody, be5invis, 青春永不落幕 和 oxygen-dioxide)
  • 使用 VC-LTL 5.x 工具链使得二进制体积比原版 7-Zip 更小,因为我们可以仅依赖 ucrtbase.dll 且充分利用现代编译工具链的优化 (感谢 mingkuang)
  • 为 Windows 10/11 文件资源管理器提供上下文菜单支持 (感谢 shiroshan)
  • 添加新图标 (由 Alice (四月天), Chi Lei, Kenji Mouri, Rúben Garrido 和 Sakura Neko 设计,感谢 AndromedaMelody 和 奕然)
  • 进行一些额外调整 (感谢 adrianghc, Blueberryy, ChuckMichael, Legna, Maicol Battistini, SakuraNeko 和 Zbynius)
  • 将 7-Zip 源代码从 21.03 升级到 21.06 (由 Dan, lychichem 和 sanderdewit 提醒, 感谢 Igor Pavlov)
  • 在 NSIS 安装程序档案启用 NSIS 脚本解析支持 (由 alanfox2000 建议,感谢 myfreeer)
  • 合并 7-Zip ZStandard 分支的功能 (由 fcharlie 建议,感谢 Tino Reichardt)

项目的未来规划

我们计划像 .NET 运行时那样一年发布一个大版本。用户可以在微软商店中我们的预览体验项目处下载到我们认为可供公众测试的应用包版本。

以下是 NanaZip 的开发计划:

在 1.x 阶段,我们将继续对自解压程序和多语言实现进行现代化,并且将语言文件从 .txt 迁移到 .resw。同时,我们将会添加在 NanaZip 2.x 阶段用到的基于 XAML Islands 的用户界面库。

在 2.x 阶段,我们将会对继承自原有实现的用户界面与核心实现进行现代化,包括使用 XAML Islands 并提供 Windows 11 控件风格、Mica 材质、实现暗黑模式支持、提供可用于第三方应用的 Windows Runtime 组件并发布到 NuGet 等等。

由于我们在 2.x 阶段完成了大部分的现代化工作,3.x 阶段将会遵循用户的建议实现用户希望添加的功能。

在 4.x 阶段,我们希望能够和 7-Zip 社区合作,添加更多能帮助到其他人的功能,譬如让 7z 档案的恢复记录支持。

我们认为我们能按照计划逐步实现 NanaZip 的开发工作,同时我们希望用户能够关注开发路线图, 这里是我们计划的完整版本,同时我们也会根据我们的工作情况来更新我们的计划。

开发团队

在目前阶段,NanaZip 的开发团队有两个人。

  • 毛利,即 Kenji Mouri,NanaZip 创建者,致力于实现代码。
  • 落樱,即 Sakura Neko,NanaZip 社区经理,致力于协调社区事项。

以下是毛利和落樱的感想。

毛利

作为 NanaZip 的创建者,我发现 NanaZip 在发布了第一个公开预览版之后就完全超出了我的预期。

我会尽我所能把路线图付诸于现实,因为我想达到成为一个杰出开发者 (即 Distinguished Developer,缩写 D.D.) 的目标。

我创建 NanaZip 项目是为了提升自己在 Windows 11 上的用户体验,因为当时我没有发现支持了 Windows 11 新式上下文菜单的文件归档工具,而如果不能在新式上下文菜单使用文件归档工具势必会导致生产力的下降。同时由于我是一个桌面应用开发者,于是必须关注最新的 Windows 平台的导致必须得升级到 Windows 11。

最后,我希望我的已提交的 Microsoft MVP 申请能够被委员会通过,方便我用更好的方式帮助大多数人。

落樱

在毛利向我分享最初希望在 Windows 11 上构建现代化文件归档工具之前。我使用过不少文件归档工具并将自己的最终归宿落脚在了 7-Zip 之上。所以在我的朋友毛利提到他的想法 后,我知道我们将要干一票大的(笑

在我们发布 NanaZip 第一个预览版后,这个项目经过了一千多个开发者的一致关注。在预览版发布了以后不久,过后,在这个 2021 年的 11 月微软的开发者就在推特上宣传了我们的项目实现。

毛利之前提到项目的进展超出了他的预期。我是认为人一开始很少能预料到计划的最终结果的。一个项目的命运啊,当然要靠开发者的奋斗,但是也要考虑到历史的行程。

当然我也希望我们能通过这个项目让我们成为更为成熟的创作者,积累更多的人生经验。

毛利和落樱

展开阅读全文
8 收藏
分享
加载中
精彩评论
按照开发计划,会逐渐用 Windows 的那套新技术重构 7-Zip 的那套界面,以提供现代 Windows 风格的用户体验
2021-12-10 13:31
1
举报
7zip-zstd 目前已经成为了我主要的解压缩工具
2021-12-09 13:07
1
举报
是nana, 日文7的意思
2021-12-09 10:57
1
举报
前排支持市集中的个人开源!
2021-12-09 08:20
1
举报
最新评论 (11)
这个除了比7Zip小 ,还有什么优势吗?压缩比大了?
2021-12-10 11:33
0
回复
举报
按照开发计划,会逐渐用 Windows 的那套新技术重构 7-Zip 的那套界面,以提供现代 Windows 风格的用户体验
2021-12-10 13:31
1
回复
举报
下班试用下
2021-12-10 08:56
0
回复
举报
不觉得有什么好的
2021-12-09 20:23
0
回复
举报
小五郎?(草
2021-12-09 17:23
0
回复
举报
我虽然是毛利,但不是小五郎(摊手
2021-12-09 18:44
0
回复
举报
7zip-zstd 目前已经成为了我主要的解压缩工具
2021-12-09 13:07
1
回复
举报
7zip 貌似和 win 11 不兼容, 右键会卡死 ,nanozip 不会
2021-12-09 10:46
0
回复
举报
是nana, 日文7的意思
2021-12-09 10:57
1
回复
举报
娜娜
2021-12-09 14:26
0
回复
举报
前排支持市集中的个人开源!
2021-12-09 08:20
1
回复
举报
更多评论
11 评论
8 收藏
分享
返回顶部
顶部