使用Xamarin和Mac部署iOS应用程序最经济高效的方法?

使用Xamarin和Mac部署iOS应用程序最经济高效的方法?,ios,xamarin.ios,xamarin,Ios,Xamarin.ios,Xamarin,我在.Net和一些Python方面有很强的背景。经过多年的PC工作,我家里的主要(唯一)机器是Mac 我有一个iOS(和Android)应用程序的想法,这将是一个完全的爱的劳动,基本上没有赚钱的可能,但我仍然想这样做。使用Xamarin并仅使用Mac,部署应用程序最经济高效的方法是什么 我需要一个数据库来启动应用程序。我知道我可以以相当低的成本使用MSAzure,但我知道Xamarin对SQL数据库的许可是一个完全的预算杀手。我知道我可以公开web服务,但这需要用.NET编写web服务,我想只在

我在.Net和一些Python方面有很强的背景。经过多年的PC工作,我家里的主要(唯一)机器是Mac

我有一个iOS(和Android)应用程序的想法,这将是一个完全的爱的劳动,基本上没有赚钱的可能,但我仍然想这样做。使用Xamarin并仅使用Mac,部署应用程序最经济高效的方法是什么

我需要一个数据库来启动应用程序。我知道我可以以相当低的成本使用MSAzure,但我知道Xamarin对SQL数据库的许可是一个完全的预算杀手。我知道我可以公开web服务,但这需要用.NET编写web服务,我想只在Mac上完成这个项目

那么,数据库选项是什么呢?我可以将Xamarin直接挂接到MySQL吗?有人能提供从Xamarin连接到MySQL的示例代码吗?哪些是更好的仅MySQL提供商?我不需要网络主机,只需要数据库


还有其他我忽略的潜在成本/许可证吗?

您永远不想将数据库直接公开给移动客户端。您总是希望有某种服务将您的db请求代理到外部世界

如果您的客户端足够简单,可以在应用程序大小限制下使用,那么您可以使用Xamarin的免费层。否则,您可以使用独立层。您不应该需要业务层。如果这是一个可行的开源项目,我相信您可以要求Xamarin捐赠一个许可证

你还需要一个苹果开发者许可证,99美元/年,用于部署

您可以使用MSSQL、Azure、MySQL等为服务器端数据库供电。您可以使用ASP.NET、PHP、Ruby等编写Web服务—服务器端没有理由必须是.NET,除非这是最适合您的。您可以在Mac上运行VM并运行VS2013 Express for ASP.NET,也可以使用Xamarin Studio直接在Mac上运行(不确定Mono下对此的支持级别,但这是可行的)。大多数其他选项都可以在OSX中本机写入


除了Mac硬件,苹果开发者帐户的其他绝对费用只有99美元。

你永远不想将数据库直接暴露给移动客户端。您总是希望有某种服务将您的db请求代理到外部世界

如果您的客户端足够简单,可以在应用程序大小限制下使用,那么您可以使用Xamarin的免费层。否则,您可以使用独立层。您不应该需要业务层。如果这是一个可行的开源项目,我相信您可以要求Xamarin捐赠一个许可证

你还需要一个苹果开发者许可证,99美元/年,用于部署

您可以使用MSSQL、Azure、MySQL等为服务器端数据库供电。您可以使用ASP.NET、PHP、Ruby等编写Web服务—服务器端没有理由必须是.NET,除非这是最适合您的。您可以在Mac上运行VM并运行VS2013 Express for ASP.NET,也可以使用Xamarin Studio直接在Mac上运行(不确定Mono下对此的支持级别,但这是可行的)。大多数其他选项都可以在OSX中本机写入


除了Mac硬件之外,苹果开发者帐户唯一的其他绝对费用是99美元。

对于使用C#的Mac上的web服务,请查看ServiceStack的v3分支。还有一个ServiceStack.OrmLite,它是一个数据库客户端(MySQL、SQLite、SQL Server等),它有一个SQLite实现,将在带有Xamarin.iOS和Xamarin.Android的本地机器(移动)上运行。

对于带有C#的Mac上的web服务,请查看ServiceStack的v3分支。还有一个ServiceStack.OrmLite,它是一个数据库客户端(MySQL、SQLite、SQL Server等),它有一个SQLite实现,将在本地机器(移动)上运行,带有Xamarin.iOS和Xamarin.Android。

核心数据呢?虽然不是数据库本身(而是对象图管理),但它可以用于持久化大量数据。如果他只需要本地存储,他可以使用SQLiteYes,很抱歉我没有澄清这一点。它需要是一个服务器数据库,分发给所有用户。核心数据呢?虽然不是数据库本身(而是对象图管理),但它可以用于持久化大量数据。如果他只需要本地存储,他可以使用SQLiteYes,很抱歉我没有澄清这一点。它需要是一个服务器数据库,分发给所有用户。我应该提到的是,我需要这是一个分布式数据库您将分发一个SQLite文件或使用web服务从服务器同步本地SQLite文件。您不打算在移动设备上运行服务器数据库引擎,这没有意义。将客户端与ServiceStack组件同步非常简单。我应该提到,我需要将其作为分布式数据库—您将分发SQLite文件,或者使用web服务从服务器同步本地SQLite文件。您不打算在移动设备上运行服务器数据库引擎,这没有意义。将客户端与ServiceStack组件同步非常容易。