【问题标题】:Xamarin and Managed Extensibility Framework (MEF)Xamarin 和托管可扩展性框架 (MEF)
【发布时间】:2016-12-19 05:39:52
【问题描述】:

我正在考虑一个新的移动/平板电脑应用程序。

我想让用户开发自己的插件。

想象一下在 Android 平板电脑上运行的收银台应用程序。用户在连接到信用卡读卡器时可以使用多种选择(SquareSum'Up、...)。

如果我的应用程序是旧的 Win32,我会发布一个 API 并让 SquareSum'Up 开发人员创建一个 DLL。然后,该 DLL 将被放置在计算机上的某个位置。在应用程序启动时,我只需要查找那些 DLL 并动态加载它们。

事实上,真正的问题是:是否可以创建基于插件的应用程序?我在这里考虑托管可扩展性框架。很多问题浮现在脑海:

  • 如何部署这些插件?
  • 这是否适用于所有平台(iOS、Android、UWP)?
  • ...

我无法找到有关此的任何文档。

非常感谢您的想法和指示。

【问题讨论】:

  • 你找到答案了吗?
  • @BrunoMartinsPro,我没有得到答案。我的 Xamarin 项目在我真正需要 MEF 之前就死了:D
  • 很遗憾听到@JulienFerraro。

标签: xamarin plugins mef


【解决方案1】:

不确定这是否完全回答了您的问题。

但是,如果您将 DLL 放在可公开发现的位置(例如 /storage/emulated/0 中),类似 MEF 的架构可能会在 Android 上运行。或者,此类插件可以作为单独的应用程序分发,提供可从其他应用程序消耗的服务、内容提供程序和活动。

但是,在 iOS 上,您将无法在 App Store 中发布这样的应用程序,因为 Apple 不允许您在那里使用动态链接库。您可以也许为不在 App Store 上的应用程序这样做,例如企业分发。

虽然它可能不是最好的解决方案。您将始终能够通过 URL 在 iOS 上的应用程序之间导航。但是,这并不是最好的体验,因为这意味着每次您想进入“插件”应用程序做某事时,您都会离开您的应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多