如何在 .net 中正确同步桌面和移动应用程序?

How to properly synchronize desktop and mobile app in .net?

我想构建一个外语学习应用程序,基于使用抽认卡创建卡片组、单词排序、添加语音(发音)示例、添加图像等(类似于 ANKI 应用程序)。

我想用C#语言和.NET平台来制作。我希望制作桌面和移动应用程序(也可能是网站,但需要考虑)。我的问题是我应该使用什么技术(项目类型)来做到这一点? 这意味着我应该使用带有 WPF 和 Xamarin 的 .net 框架制作桌面应用程序到移动应用程序,然后以某种方式同步它?我想同步桌面和移动应用程序 - 如果有人使用桌面版本然后安装移动应用程序然后 he/she 可以访问整个 his/her 以前的 decks/settings 等等,也许应该我考虑创建帐户? 但我也想知道 .net 核心,多亏了它,我才能让我的应用程序跨平台。

我不知道如何正确地计划它...另一件事是我想在其中使用一些 python 库,我的意思是 gensim 和一般的主题建模,也许还有其他一些神经网络的工具。一般来说,我想在我的 C# 代码中嵌入 python 东西。

总结一下,目的是使用 .net(.net 框架或 .net 核心)创建桌面和移动应用程序,以某种方式使它们之间的 synchronization/connection 然后(如附加功能)使用一些python 主题建模和神经网络工具,用一些东西来丰富整个应用程序。 你会推荐我一些东西,一些正确地做它的方法(一些很好的主题方法),我应该从哪里开始? 到目前为止,我主要使用 wpf/win 形式,还有 entity framework、ado.net 等等。我从未使用过 .net 核心,但我认为是时候了解它了——我想这是未来 :)

我认为使用 Xamarin Forms 是实现目标 Android/iOS/Windows 的好方法。

至于在多个 apps/platforms 之间维护状态(闪存卡等),您将需要您的用户创建帐户。 Dotnet 核心是 api 的绝佳选择。您可以决定使用整体架构或微服务架构。

至于使用 python,dotnet core 允许您从 C# 代码加载和使用 python 脚本。您应该查看 IronPython 以及如何在 dotnet 核心代码中托管解释器。

总而言之,堆栈看起来不错,但您需要了解,比堆栈更重要的是您的整体架构,即所有内容如何联系在一起。

干杯。