我希望这个问题不会像起初看起来那样广泛。我在<sarcasm>
大量</sarcasm>
的业余时间设计一个软件应用程序。我希望它既是跨平台的又是模块化的。在这一点上,因为我仍处于计划阶段,我几乎可以选择任何语言和工具集。
这让事情变得更难,而不是更容易,因为似乎有很多方法可以实现这两个目标(模块化、平台不可知论)。
我的基本前提是安全性、数据存储、与操作系统的交互以及配置都应该由“容器”应用程序处理——但大多数其他功能将通过插件模块提供。如果我必须在高层次上描述它(不完全放弃我的想法),它将是一个可以完成许多不同工作的单个应用程序,所有工作都致力于同一个目标(有很多不同的事情要做,但所有数据必须交互并且高度可用)。
这不是一个新想法,也不是特别奇特。然而,我发现自己纠结的不是如何去做(我能想到很多方法),而是哪种方法最好。
例如,我知道 Eclipse 实际上体现了我所描述的内容,但我发现一般的 Java 应用程序(Eclipse 也不例外)对于我的需要来说太大而且太慢。用 Python 和 Ruby 编写的桌面应用程序同上(它们都是优秀的语言!)
我不介意将不同平台的代码库重新编译为本机可执行文件。然而,C 和 C++ 有自己的一系列问题。
作为 C# 开发人员,我偏爱托管代码。但我一点也不在 Mono 上出售,但(我可以相信)。
有没有人有任何想法/经验/特别喜欢的框架可以分享?