跳到主要内容
版本:v0.6.1

ℹ️ 关于

信息

“我找不到我梦想中的跑车,所以我自己造了一辆。” —— 费迪南德·保时捷

GeoChemistry Nexus 是我计划进行超长期维护的第一个项目——我打算至少在未来五年内持续更新它。

有趣的是,它最初被命名为 Geo-Thermometer。起初,我只是想开发一个与地质温度计相关的基础程序,以便于计算和绘图。然而,随着项目的进展,特别是在绘图模块完成后,我突然意识到可以实现一个更宏大的目标。因此,该项目在概念和功能上都得到了扩展,从 Geo-Thermometer 演变为 GeoChemistry Nexus。

在我看来,地质学和地球化学是相对小众的学科。在这个领域,我发现许多软件工具要么年久失修早已停止更新,要么虽然还在更新但门槛极高,阻碍了许多研究人员。此外,我在研究中也看到了一些不够严谨的做法——例如,有人在绘制地质图底图时使用 CorelDRAW 粗略勾勒形状。虽然视觉上差别不大,但从科学研究的角度来看,这种做法违背了严谨的科学精神。

所以我通过:为什么不自己开发一个工具呢?

一个可以整合大量地质和地球化学图表模板,支持各种地质温度计/压力计计算,并扩展到地球化学计算和当前流行的机器学习功能的工具。如果没有现成的模板,它提供可视化绘图工具以便于创建和分享。辅以现代化的界面设计和多语言支持,它允许研究人员在一个软件内完成大部分科学绘图和计算的基础工作。

可视化界面可以显著降低操作难度,而多语言支持降低了学习成本;内置丰富的模板和长期更新将使该程序成为真正有价值且可持续的科学研究工具。

巧合的是,我熟悉 C# 和 Python 等编程语言,并且掌握 WPF 等开发技术。因此,在 2024 年 12 月,我开始开发 Demo。在最初的技术选型阶段,我认真考虑过:什么语言和架构最能实现这一目标?

我的第一个想法是 Python——它可以让我快速原型化,这对开发者来说是个好消息。然而,从用户的角度来看,它有致命的缺陷:首先,执行效率低(虽然数据量小时影响不大,但仍有性能差距);其次,它带来了巨大的安装包。我曾经用 Python 重构了一个最初用 WPF 编写的简单程序。即使打包在一个全新的虚拟环境中,成品也有数百 MB,而 .NET 打包的程序只有十几 MB——差距巨大。强迫用户为简单的功能忍受数百 MB 甚至 GB 的安装和复杂的配置并不是最佳选择。

然后我考虑了 Web 开发。优点显而易见——无需安装,即开即用。但问题在于:一方面,我对 Web 技术的掌握不够全面;另一方面,服务器的长期高昂成本超出了我个人的维护能力。因此,我最终将重心转回了客户端开发。

客户端开发有许多技术方案,但与基于 C++ 的 QT 相比,我更熟悉 .NET。结合 .NET 的高执行效率和 Windows 的普及性,我最终选择 .NET 作为主要开发平台。最初,我也考虑使用 Avalonia 来实现对 Windows、Linux 和 MacOS 的跨平台支持,但在开发过程中,我发现一些项目依赖项与 Avalonia 不兼容,导致迁移成本非常高。以我个人的力量,很难在早期阶段重构这些模块。因此,至少在现阶段,我的工作仍然集中在 Windows 平台上,跨平台版本可能会在未来的某一天实现。

联系我

如果你对软件开发感兴趣并愿意与我合作,或者希望提供建议和反馈、图表模板、算法支持,甚至进行商业合作,请随时通过 maxwelllei@qq.com 联系我。

如果你在使用软件时发现任何不足或问题,请随时提供反馈。由于软件功能日益增加且复杂,测试很难覆盖所有情况,可能会有遗漏或不准确之处。我将尽力修正和优化,为你提供更稳定可靠的用户体验。