JS和iOS之间的类型安全
Type safety between JS and iOS
现在我们有一个javascript应用程序,它被拉入WKWebView。此应用程序通过事件触发消息。我们编写了一个中间层,用于侦听这些事件,进行一些解析,并将结果传递给iOS以进行一些本地工作。
这非常有效;然而,我们有点担心(并且已经看到)类型的安全问题的出现。如果JS API发生变化,那么iOS需要进行调整,并且没有真正的合同来确认一切正常。
我们提出了两个想法:
- 执行合同的更多单元测试
- 使用某种协议缓冲区类型策略来确保模式
有更好的方法吗?有没有一个好的协议缓冲区示例可以做这样的事情?
您可以尝试的一件事是将所有基元作为字符串发送,然后根据键名解析它们。例如,numUnits
将始终是int,或者可能制定一些命名约定,使值的类型显而易见。
您甚至可以使每个值由2个键值对组成,一个用于值,一个用作类型。这会使JSON膨胀,但会使其类型安全。
例如{"numUnits":{"value":"5", "type":"int"}}
相关文章:
- Javascript 类型未定义和 void 之间的区别
- 在 JavaScript 中单击函数时两个日期类型输入之间的差异的代码
- 这些函数类型之间有什么区别
- 如何忽略 Firebase 安全规则中的类型
- 如何在面板中添加在两种类型的谷歌图表之间切换的按钮
- JS和iOS之间的类型安全
- JS:未定义值和未定义类型,以及null值和null类型之间的区别
- 为什么JSON类型是安全的
- TypeScript 构造函数类型安全
- 数据类型 jsonp 和 JSON 之间的区别
- 如何在角度js中计算2种HTML5时间输入类型之间的差异
- Chrome 扩展程序与移动设备之间通过本地网络进行安全通信
- Yesod:在 AJAX 调用中使用类型安全的 URL
- 老计时器如何最好地管理Javascript中的类型安全
- Object.getPrototypeOf(val). tostring()确保DOM类型安全吗?
- 在TypeScript中以类型安全的方式用静态函数从外部库扩展一个类
- 接受或反对node缺乏类型安全
- JavaScript中是否有类型安全的比较操作符等价物
- javascript中的类型安全,或者如何避免很难检测到的类型相关错误
- 主干和TypeScript,一个不幸福的婚姻:构建一个类型安全的“get”