【问题标题】:How iOS Google Now can show different card templateiOS Google Now 如何显示不同的卡片模板
【发布时间】:2014-09-24 19:59:20
【问题描述】:
我想知道 iOS Google 应用背后的技术决策。
正如我们所见,在应用程序的 Google Now 功能中,它为不同的场景呈现了许多不同的卡片模板,并且这些模板似乎非常灵活地基于服务器输入。
我想知道这是否都是基于 HTML5 实现的?或者他们只是内置了许多模板并在本地渲染它们?我会投票支持 HTML5 路线,但不确定这是否仍涉及一些本机代码以使其更具响应性?
谢谢!
【问题讨论】:
标签:
ios
objective-c
html
listview
google-now
【解决方案1】:
由于我们(嗯,社区中的大多数人)不是 Google 员工,我们无法告诉您他们真正做了什么,但我想说的是,可以在应用程序中动态执行此操作。
我们确实开发了类似的东西来响应服务器发送的定义,并按照基本规则将它们转换为定制设计的表单。
Google 为不同的平台重复使用这些卡片的设计,最简单的解决方案应该是显示一些 WebView 并使用 HTML5。
【解决方案2】:
我同意凯文的观点,因为这个答案也完全基于个人意见。
我的方法是创建一个 card 类,它将加载一些 JSON 数据和格式使用 HTML 和 CSS。看着每张卡片,以原生方式格式化事物将是地狱。我的意思是,属性字符串不是要走的路。决定哪张卡片获得更大的文字或图片的逻辑太多。
此外,顶部标题很可能也是“localized”,因此您可以获取位置并加载本地化图像。但这就是 Google 的本质。