前阵子用 Node.js 做的一个小玩意终于上线发布了,借着 SegmentFault 博客刚申请通过,上来扯淡一下。

Google Glass 和 Mirror API 是一个很碉堡的机制。云端储存着 Glass 上的一切数据,第三方应用通过 Mirror API 操作云端上的数据,会触发 GMS 推送,进而把更改同步到 Glass 上;用户在 Glass 上的操作,也会在同步周期打包同步到云端,并且通过事先设置的 HTTP 钩子 POST 给应用。

而数据怎么在 Glass 上展示呢?用户在 Glass 上看到的信息单位称为卡片,一张卡片用 HTML 组成,具体可以玩玩官方的这个可视化编辑器(GAE,你懂的)。Glass 已经给 articlesection 这些标签预先定义了 CSS,能够满足大部分需要,但也可以自己用 <style> 增加样式。

说到 Node.js,这个小玩意完全是用 Node.js 搭建起来的。Mirror API 是优雅的 RESTful 设计,因此和 JavaScript 的结合毫无违和感!对于 Google API 服务的调用,个人不太喜欢官方的 SDK,因此做了一个库:oauthic-google

// 初始化
var client = require('oauthic-google').client({
    clientId: 'q298ajhzxkkp019cjzkoq01'
  , clientSecret: '228bnzokjpasiodufc'
  })
  .token(accessToken, expiresAt)
  .refresh(refreshToken, function (token, expiresAt, next) {
    // saveToDb(token)
    return next()
  })
  .expired(function (token) {
    // log(token + ' has expired and could not be refreshed.')
  })

client.get('/mirror/v1/timeline', function (err, res, timeline) {
  // ...
})

高端洋气上档次。。。

题叶 · 2013年10月28日

Glass 相当于浏览器客户端 HTML 的开发吗?

回复

XiNGRZ 作者 · 2013年10月28日

稍微有点不一样。HTML 只起到了提供数据的作用,不能包含 JavaScript,所有交互都是 Glass 本身进行的。也就是说 HTML 只是用来显示一个静态页面。

回复

题叶 · 2013年10月28日

交互的话是说 DOM 操作吗? 这不用 JS 可有点怪了

回复

XiNGRZ 作者 · 2013年10月29日

还是理解错了。Glass 上的界面不是网页,只是一张纯静态的界面。用户能做的只有点击打开菜单,菜单是 Glass 原生的,不是 JS 实现的,可以自定义。

回复

题叶 · 2013年10月29日

现在已经有文档不? 求教程 :P

回复

XiNGRZ 作者 · 2013年10月29日

回复

Leck1e · 2013年10月30日

求眼镜~~哈哈!

回复

Amo · 2013年11月04日

羨慕眼鏡!學習了

回复

载入中...
XiNGRZ XiNGRZ

1k 声望

发布于专栏

9up

6 人关注