在编程的早期,我使用Visual进行学习。它教会了我许多概念,而且我能够制作一些很酷的程序(在我看来,无论如何.)。我已经将我的视野扩展到基本的C/C++、PHP和MySQL。
我最喜欢的项目之一,我想变成一个多平台(对于x86/x64)窗口应用程序,并拥有开放源码。我已经决定了许可证,但我想知道,在我开始用一种新的语言开发之前,我如何选择使用哪种语言,即多平台,并允许创建窗口?我不希望使用web技术,因为应用程序一次将处理大量本地文件。
这不是关于哪种技术更好的问题,而是哪种技术对这个项目有用的问题。我知道一些事情必须是可能的,因为有一些应用程序运行为Mac二进制文件,Windows二进制文件,甚至Linux二进制文件,都在windows中运行(如VLC媒体播放器、Firefox (Ice Wheazel)等等)
发布于 2014-04-13 15:37:38
这主要取决于你所瞄准的平台。
如果您只针对PC平台(这些平台都不是很奇特的),那么您就有许多关于语言的选项(C++、Java、Python、Go等)。以及跨平台图形用户界面框架(Qt、GTK、SWT、Swing、wxWidgets等).在为PC专用程序选择语言时,可移植性不应该是主要考虑因素(几乎所有非操作系统特定的程序都应该是可移植的)。
如果你想瞄准个人电脑和更多的东西(网络或移动),你需要更高的可移植性。架构风格至关重要,因为您希望将特定于平台的部分与可移植代码隔离开来。解决可移植性需求的最流行风格是分层体系结构(可移植代码进入中间层)。每一层都可以(而且经常是)用不同的语言编写。您可能需要考虑在只使用PC程序的情况下,将您的代码构造成层(特定于操作系统的东西可能会弹出)。
当目标不仅仅是个人电脑时,语言的可能性就会缩小。根据您感兴趣的特定平台,它还可以使以一种语言编写所有东西变得不可能(除非您已经为编写自己的编译器做好了准备)。
上述清单既不详尽,也不完整。
在选择技术之后,我建议设计层间的接口,然后规划实现。
发布于 2014-04-13 08:37:50
每个OS都为可执行文件和共享库使用自己的文件格式,每个OS也有自己的应用程序API来与其交互。这意味着一般情况下,为OS A构建的二进制文件不能在OS B上使用。
编写可在多个平台上使用的应用程序的方法有两种:
在选择一种用于多平台开发的语言时,主要考虑的事项是
https://softwareengineering.stackexchange.com/questions/235811
复制相似问题