我试图编写一个在Windows和Mac OS X上运行的软件。这个软件与Dropbox的客户端非常相似。以下是特点:
所以我的问题是我应该使用哪种语言,框架。语言/框架应该: 1.核心代码应该可以在代码级别的Windows和Mac OSX上重用。代码级意味着代码可以在跨平台上运行,但我不介意在每个OS平台上重新编译代码
答案 0 :(得分:0)
我认为没有简单的“正确方式”解决方案。
我认为使用C ++ / C很好:
- you will have to use OS-specific API and code to 'talk to system'
- you would use QT, but you want to use 'as less as possible resources' - this is not about QT
这似乎不是一个大项目。所以,我认为更好的方法是使用C ++或简单的C开发它(如果你对其中一个很好)。
您可以在单独的函数/类中编写OS特定代码。然后编写泛型类/函数来进行抽象。
您可以使用#define和#ifdef来使其成为跨平台(当然,您必须为每个平台重新编译它)。
我认为这是唯一的方法,如果您需要为MacOS创建跨平台和非常小的应用程序。取胜。
<强>已更新强>
关于LISP。首先,它需要一台LISP机器。即使您将Windows编译为EXE文件,它也不会“尽可能少地使用系统资源”。
如果它与Dropbox客户端类似,它应该作为服务/守护进程运行 - 我认为使用LISP进行此类任务不是一个好的选择。
答案 1 :(得分:0)
如果你想要小编和交叉编译,那么C / C ++是你最好的朋友,因为很少有其他语言能够高效和快速。对于一个简单的用户界面,你可以使用C++/Tk,我认为Tk有像Tk-Cocoa等特定于平台的项目。
但是如果你想编写跨平台(即在任何地方运行一次编写),那么请寻找基于Java虚拟机的语言。请注意,一旦启动并运行,JVM就会快速高效。
JVM有几种类似Lisp的语言,包括JScheme和Clojure。