Ton*_*ony 25 .net c# c++ qt frameworks
我的团队正计划开发一个最初针对Windows的应用程序,但最终将跨平台部署(Mac,Linux和可能的嵌入式设备).我们的决定是使用C#/ .NET还是通用C++(使用Qt作为用户界面库).我们预计通过使用C#,我们可以通过提高C++的生产力来更快地以更低的成本开发我们的产品,但是我们正在考虑C#的跨平台实现是否足够成熟.我们想要推广到其他平台的时候.
你们中任何遇到过类似情况的建议吗?
Pav*_*aev 40
尽管Mono具有所有潜在的跨平台功能,但对于跨平台目的,C++/Qt只是比C#/ WinForms或C#/ Gtk#更成熟的选择.通过使用更高级别的语言可以获得的任何生产力提升可能会被处理Mono的限制所抵消.
小智 15
仁,我很担心你问题的措辞.
"我的团队正计划开发一个最初针对Windows的应用程序,但最终将部署在跨平台(Mac,Linux和可能的嵌入式设备)上."
该计划是否跨平台做?我可以推断,代码最初是针对Windows编写的,然后,可能会在稍后的某些时候花费精力来修改项目以实现跨平台功能.这不利于您的健康或团队的健康!这里需要做出明确的商业决策.跨平台开发的黄金法则之一是以绝对平等对待所有目标平台.
你可以在嵌入式环境中使用C#吗?它已经在商业上完成了吗?只是好奇.
"我们通过使用C#来预测这一点,我们可以更快地开发我们的产品,并且由于比C++提高了生产力,所以可以更快地开发我们的产品"你的意思是什么'预测'?你在做什么事实和数据这个预测?不要忘记,某些项目的编码工作量低至将产品推向市场所需总工作量的20%.因此,计算机语言的生产率比较问题可能并不那么重要.根据我的经验,在所谓的生产力标准上选择计算机语言并不高效.
"我们正在赌博"我同意这一点,赌博似乎与计划的含义相矛盾.问题是:有什么风险?
你考虑过国际化吗?
是的,我很挑剔但是为这个项目付钱的人可能会更加质疑.
书:C++中的跨平台开发:由Syd Logan构建MAC OS X,Linux和Windows应用程序 - ISBN 032124642X给出了所涉及问题的概念.
我使用C++/Qt参与了Windows,Mac和Linux的跨平台和国际化项目.后者适用于这两个问题.我对Qt的一个不同之处在于它不是成语中的现代C++,也不鼓励使用现代C++习语.就像MFC一样.
Mat*_*ieu 14
我用C++/Qt开发了多年的平板软件.
我强烈建议您使用此解决方案进行开发.
这样的解决方案为您带来所有平台的性能!
此外,Qt不仅是一个GUI框架,而且为您提供了一个完整的网络框架,数据库,I/O,强大的支持以及一个非常巧妙的国际化系统框架!
最后,Qt在它支持的所有平台上提供原生外观.
关于性能,Mono/C#是否相当于C++/Qt?
Hen*_*sel 12
问题的答案是:这取决于!(你的程序员在C#和C++中的技巧,如果他们在C#中真的快得多,等等).
只是备注:
Mono项目提供了一个平台(2.0版支持.NET 3.0),可以在Mac或Linux系统上使用.包括LINQ等微软代码糖.
我在许多跨平台项目中采用的方法是以非常便携的语言(C++)编写项目的"核心",然后实现UI(以及与操作系统相关的任何其他内容,例如某些类型的数据)访问)使用对各种平台上的任务有效的语言.
只想指出你不会只选择一种语言.
您是否只在所有平台上设置了一组UI代码?我鼓励你考虑两个具有共同核心的独立UI,实际上没有替代原生UI.
在这种情况下,您可以在C#中使用Winforms/WPF作为Windows UI,使用ObjC中的Cocoa作为OS X UI,使用C#中的GTK作为Linux UI.所有这些都将使用能够在Mono和.NET上运行的通用C#核心.Mono使用ObjC相对轻松.
如果你想跨平台,C++肯定是要走的路.
编辑:我认为你应该根据你的项目选择你的语言,而不是喜欢一种语言,因为你只是习惯了它.虽然C#可能提供跨平台支持,但它最初设计为仅在Windows上运行.
Mark Maslar也有一个好处,根据您要开发的应用程序,基于Web的应用程序将完全独立于平台.
归档时间: |
|
查看次数: |
7130 次 |
最近记录: |