gpt4 book ai didi

c# - 什么是部署简单服务/守护进程(具有简单 UI)的最佳跨平台方法(Windows/Mac)

转载 作者:数据小太阳 更新时间:2023-10-29 07:31:21 26 4
gpt4 key购买 nike

我对用于开发和将一些简单代码和 UI 部署到 Windows 和 Mac 的选项范围感到困惑。任何人都可以在这里帮助重新找到一个好的方向。我确实喜欢 Ruby,但是如果远离它(例如 java、c#)是有意义的,那就这样吧。人们会为此建议哪种开发选项?

要求1. 支持 Windows & Mac2、安装要一键式,尽量打包所有需要的依赖。3. 需要调度能力——所以要么通过(a)作为服务/守护进程安装,要么(b)安装调度定期调用脚本的能力(前者是首选)4. 功能组件需要 - 能够访问/解析网站,然后能够对我的站点进行 HTTP(S) 调用以存储解析的数据。因此,请使用 HTTP(S) 方法。应用程序需要代理支持,因此用户能够输入代理服务器的主机/端口/用户名/密码。

开发选项 ?? - 这是我需要帮助/建议的地方。想到的许多选项中的一些:1. 在 Ruby 中开发,然后找到打包产品来创建 Windows 和 Mac 安装包 - 不确定这有多可行?特别是如果我需要安装才能有效地安装为服务。2.用Java开发跨平台?但是需要用户安装 JRE 吗?3. 作为 Firefox 插件开发?我没有穿过这个,但即使你可以编写自定义代码,那么我猜问题是 firefox 必须运行。4. 分别开发windows和Mac版本,例如使用Visual Studio Express开发windows版本(假设它可以做HTTP工作并创建用于安装服务的包)。

人们会在这里提出什么建议? (最好写一次,按一个按钮,然后吐出 Mac 和 Windows 安装包)

谢谢

最佳答案

我编写过跨平台 C++ 代码,这就是我们面临的那种决定。

提前致歉,但我不知道您可以为此使用任何跨平台库,系统差异很大,它们将需要不同的部署策略。

建议一:

  • 在 Mono 中构建您的应用程序
  • 构建两个部署策略,将部署问题分解为“安装程序”
  • 在 Windows 上部署一些脚本语言或安装程序应用程序,将您的应用程序插入任务计划程序,或编写一些简单的 C# 代码(见下文)
  • 在 Mac 上使用内置的 UNIX cron 恶魔定期调用您的应用。

我认为这个策略相当简单。特定于平台的工作以部署为中心。该应用程序在运行之前不使用任何资源,并且使用简单的机制来激活它。可以使用文件系统完成日志记录和错误处理。

建议#2:

  • 将独立于平台的代码编写为程序集
  • 根据需要为每个平台编写特定于平台的代码:
    • 在作为 Windows 服务或通过单击一次安装的预定应用程序的 Windows 上
    • 我已经离开 mac 太久了,以至于我不知道那里有什么策略
  • 再次,部署的额外工作

此解决方案的开销是编写更具体的代码来与操作系统支持的特定服务交互。好处是它应该通过额外的努力与操作系统更好地共存(即: Hook 到操作系统级资源管理、报告、日志记录和错误管理)。

注意:Windows 任务计划程序的 C# 接口(interface) here不幸的是,它可能不兼容 Mono。

关于c# - 什么是部署简单服务/守护进程(具有简单 UI)的最佳跨平台方法(Windows/Mac),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1425239/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com