我对开发选项的范围感到困惑。部署一些简单的代码和Windows和Windows的用户界面苹果电脑。任何人都可以帮助重新找到一个好方向。我喜欢Ruby,但是如果离开这个(例如java,c#)是有意义的话那就这样吧。人们会为此建议哪种开发选项?
要求 1.支持Windows&苹果电脑 2.安装应该是一键式,并尽可能地包装所有必需的依赖项。 3.需要调度功能 - 通过(a)安装为服务/守护进程,或(b)安装能力安排定期调用脚本(前者是首选) 4.功能组件需要 - 能够访问/解析网站,然后能够向我的站点发出HTTP(S)调用以存储已分析的数据。所以就HTTP(S)方法而言。应用程序需要代理支持,因此用户可以输入代理服务器的主机/端口/用户名/密码。
DEV选项? - 这是我需要帮助/建议的地方。想到的一些选项中有一些: 1.用Ruby开发,然后找到包装产品来创建Windows& Mac安装包 - 不确定这是怎么回事?特别是如果我需要安装才能有效地安装为服务。 2.用Java开发跨平台?但是需要用户安装JRE吗? 3.开发为Firefox插件?我不是这个,但即使你可以编写自定义代码,那么问题就是firefox必须运行我想。 4.开发窗口和窗口Mac版本是单独的,例如使用Visual Studio Express开发Windows版本(假设它可以执行HTTP工作并创建用于安装服务的包)。
人们会在这里建议什么? (很高兴能够写一次,按一下按钮然后让Mac& Windows安装包吐出来)
由于
答案 0 :(得分:3)
我编写了跨平台的C ++代码,这是我们面临的一种决定。
提前道歉,但我不知道您可以使用任何跨平台库,系统是完全不同的,它们将需要不同的部署策略。
建议1:
我认为这个策略相当简单。特定于平台的工作以部署为中心。该应用程序在运行之前不使用任何资源,它使用简单的机制来激活它。可以使用文件系统完成日志记录和错误处理。
建议#2:
此解决方案的开销是编写更具体的代码以与OS支持的特定服务进行交互。好处是它应该与OS更好地共存并做出额外的努力(即:挂钩到OS级资源管理,报告,日志记录和错误管理)。
注意:Windows任务调度程序的{C#接口here不幸的是,它可能不是单声道兼容的。
答案 1 :(得分:2)
Mono将支持跨平台的Windows和Mac要求。
Mono允许我在Windows环境中开发Windows窗体可执行程序集,然后在OS X上使用Mono执行完全相同的可执行文件。
某些GUI控件的行为略有不同,但如果您正在编写服务,则可能无法创建复杂的GUI。
检查mono docs,我看到System.Net.WebClient类已实现,并提供了一种通过HTTP检索数据的简单跨平台方法。
我在Windows机器上使用Visual Studio 2008来完全开发应用程序,就像我任何其他.NET Windows Forms应用程序一样。然后,生成的可执行文件可以直接在Mac机器上运行,方法是将其作为参数传递给单声道运行时。
您可能希望将安装/部署视为实际应用程序代码实现的单独问题。您可能需要为每个支持的平台安装特定于平台的安装程序,但是由于Mono,每个安装程序将在每个平台上部署相同的单个二进制文件(或一组二进制文件)。