实现需要 UI 元素的便携式插件的最佳方法是什么?
我想我的第一个问题是“你需要一个便携式插件吗?”
你在 ViewModel 层或更低层实际需要的接口是什么?
我的猜测是 ViewModel 将看到的跨平台界面可能只包含:
- 一些控制命令(例如启动/停止)
- 一些摘要信息 - 例如视频长度
- 文件访问层 - 这可能与文件路径一样少?
如果是这种情况,那么我可能会在 UI 中的 Controls/Views/UIViews 中实现大部分逻辑,然后将相关命令和值绑定到那些 ViewModel 属性。
所以我根本不会亲自将它作为插件来实现!
我之前做过几个使用视频视图的应用程序 - 一个用于视频捕获(仅限 Android),一个用于条形码扫描。
我发现基本的可用样本效果很好。然而,一旦我开始尝试扩展它们,它们很快就会变得脆弱,它们很难工作,而且它们的开发非常令人沮丧!
我真诚地建议您以 UI 视图代码的形式开始您当前的开发。在你让它工作之后,你可能会找到一个很好的方法来将控件和界面拆分成一个插件——但我怀疑这不会是你大部分时间花费的地方。
例如,对于我的下一个 QR 码应用程序,我计划在https://github.com/Redth/ZxingSharp.Mobile中使用单独的 UI 控件- 在 ViewModel 级别,我希望可以只公开某种作用于解码的命令二维码字符串。