我必须事先说明这不是一个与编程相关的严格问题,而是一个非常自以为是的问题。我是我国主要的.Net CMS的主要开发者,我不喜欢我自己的产品:)。关于重要与否的管理决策以及在我加入之前完成的大量遗留代码让我每天上班都很头疼。无论如何,在网络行业拥有丰富的经验,并且非常了解C#和编程实践,我在过去的几个月里设计了自己的CMS。现在的问题是,我是一个开源的人,所以我有一个两难的境地。 我是否应该使用C#和.Net来削弱多平台支持,或者我应该完全放弃.Net并开始学习Java,在那里我可以创建一个真正的开源和跨平台的CMS?请不要回答我应该为现有的开源CMS做出贡献。我花了很多时间在寻找类似于我的想法的结构之类的东西后判断出来了。
我不是母语人士,所以请随意纠正我的语法或重新解释我的问题。
答案 0 :(得分:2)
我只关注使用Mono兼容的跨平台库的C#和.NET。
您的代码将能够在绝大多数平台上运行。
答案 1 :(得分:1)
我将从假设.NET和Java都具有大量且等效的支持基础架构,API等开始。您拥有广泛的.Net知识,需要学习其中某些子集的Java等价物才能实现在Java中。
我非常重视学习新东西,所以我没有看到Java的基本问题。但是,如果你需要学习的东西的“足迹”非常广泛,那么它可能会妨碍你的真正目标 - 即构建一些东西。
所以我认为一个重要的问题是CMS学习足迹的大小。我的猜测是CMS非常关注逻辑和数据结构,可能只使用一小组Java API - 网络和文件io,或数据库可能?任何UI可能都是平台中立的Javascript / AJAX吗?
主要替代方案似乎是Mono。我无法谈论在Mono下工作的实践,我猜这很好。我会更关心平台的范围是否足够你。例如,iSeries是否支持?这对你有影响吗?
我个人的偏见是模仿往往不能令人满意,总会有问题。所以我会选择Java。但后来我是一个Java家伙......
答案 2 :(得分:0)
我不确定为什么你会为这个特定的项目使用C#或 Java。我不像我那样精通CMS设计,但我对C#非常了解,而且我很难看到C#在这个问题领域中提供的优势超过了Python,特别是考虑到像Django和Pylons这样的强大框架作为起点点。 (我对Java的了解很微弱。)设计的哪些特定元素会使C#/ Java成为更好的选择?