我应该从哪里开始从事Mvvmcross Gtk支持?

时间:2019-06-06 08:45:57

标签: c# xamarin gtk mvvmcross

我的跨平台应用程序需要Gtk平台支持。该应用程序是使用mvvmcross构建的。我检查并没有找到该框架的任何现有Gtk“平台”实现。我有时间去做。我应该从哪里开始?有什么陷阱?

1 个答案:

答案 0 :(得分:1)

更新我看到您在这里https://github.com/MvvmCross/MvvmCross/pull/2697发表了评论,这可能是使聊天保持最佳状态的最佳方式,而不是SO。

您看过twitter convo吗?然后链接到此GitHub issue

从Slodge(Stuart)的评论中,他给出了MVVMCross 3.1所需的基本步骤:

  

有些人以前做过

     

我-适用于此处的主要平台

     

@deapsquatter和@ loqu8 / Tim for Mac

     

@ et-nowis for Unity / Ngui-   https://github.com/et-nowis/mvx-unity-ngui/blob/master/Assets/External/MvvmCross/Cirrious/Cirrious.MvvmCross.Binding.Unity/MvxUnityBindingBuilder.cs

     

现在3.1很稳定了,完成一个完整的主要步骤   平台是:

     
      
  1. 从CrossCore开始-您需要编写一小组扩展   平台-像每个   https://github.com/MvvmCross/MvvmCross/tree/v3.1/CrossCore-相当   每个平台需要什么取决于平台。最主要的是   Droid / Touch平台有Views文件夹-但是这些   可能完全不需要“公正绑定”-   https://github.com/MvvmCross/MvvmCross/tree/v3.1/CrossCore/Cirrious.CrossCore.Droid/Views
  2.   
  3. 构建绑定库-从特定于平台的平台开始   BindingBuilder-每个基本上只添加自定义的“绑定模式”   -TargetFactories-用于平台。请参阅以下示例:      
  4.   
  5. 构建Mvvm平台层。这通常只涉及添加   平台特定的安装程序,演示者(又名NavigationService)和   BasePage(例如,基本活动,基本UIViewController,基本页面)   类。这里的复杂性通常来自以下方面:      
        
    • 支持插件加载(使用Assembly.Load可以很容易地工作,但有时并不像应该的那么容易)
    •   
    • 研究如何导航
    •   
    • 解决“逻辑删除”(希望对于台式机平台来说不是问题)
    •   
    • 弄清楚存储位置和清除绑定的位置(在绑定上下文中)-创建绑定总是比清除容易   他们起来。
    •   
  6.   
  7. 根据需要移植各个插件。...使用入门,   考虑什么,已知陷阱等。
  8.   
     

这些是入门的基本步骤

     

我认为这没什么大不了的-特别是因为v3很漂亮   便携式结构方面不错!

     

对“要考虑的问题”和“已知的陷阱”表示抱歉,但我真的没有   想法-自从MvvmCross v1和   那时是一个非常不同的过程。

     

请保持打开状态,如果您确实选择了此路径,请让我们   只是在这个线程上提问-这就是我们试图做的   215团结一致。

您将不得不根据您所使用的版本调整这些步骤。另外,对于3.1版本,上面提供的链接将被断开。因此,您必须将它们映射到更新的等效项。

除此之外,我知道最近添加了Tizen可能会看看如何添加Tizen,以了解如何进行操作。

我认为这是有可能的,但这是一项艰巨的任务,祝您好运!