JSConf 2015
转眼参加完深圳举办 JSConf 2015 就一个多月了,看着大家在知乎上热烈的讨论着参加 ShenJS 的体验,我也来写写自己的感想:
首先,我就是冲着 尤雨溪 去的。年初的时候接触到 Meteor ,照着教程也做了个 star-microscope ,没想到这个平台的核心开发者居然有一位国人,当然要去膜拜一下啦。 作为第一位开场的嘉宾,也足以看出主办方对其的重视,好家伙,一上来全程飙英语,还好我之前接触过 Meteor, 就着已经了解的东西,勉强听懂了,这次除了 Meteor 的介绍,另外感觉最有意思的地方是,Meteor 并不是一个前端框架,而是一个平台,它可以很好的和 Angular JS , React JS 等其他流行的前端框架结合起来。
接触 Meteor 的时候感觉亮点还是挺多的,比如说:
-
DDP - Distributed Data Protocol,一个分布式数据协议,用来从服务器获取结构化数据,并且当数据变化时接收实时更新。
-
Minimongo 相当于一个跑在浏览器里的 MongoDB 数据库,而 UI State 通过 Minimongo 来和 client & service 的 Data State 做交互。
-
Optimistic UI updates - 得益于上面两点,在 Meteor 中 View 层的改动,首先会在 Client 端的 Minimongo 立刻响应,做出一个临时的动态更新,然后再去检查 Service 端权限,如果有权限则通过 DDP 来将 View 的改动更新到 Service 端,如果没权限,则将 Service 端原来的数据同步到 Client 端,还原操作前的状态,这样会给人一种 Client 端操作实时响应的感觉,加强用户体验。
-
发布订阅模式,Service 端的 MongoDB 存储着全部数据,而 Client 端的 Minimongo 则根据各自的权限只需要存储小量对应的数据。
-
良好的生态 - 官方的包管理系统 atmospherejs 很像 Ruby 的 Gems, 你需要的功能,可能别人已经有现成的包可用,比如帐号登录功能就可以简单的引入 accounts-ui 来快速实现,大大加快开发效率。
而上午最后一个演讲的主题,正好也是一个用 Meteor 和 Angular 做的一个实时应用
其他方面,赫门的前端服务化之路提到的 flipper 让我想到更多的是 Google 的 Polymer 。
Hax 的主题很有意思: JavaScript: The World’s Best Programming language ,其实我觉得一个语言最重要的还是生态,大家一起不停地去改进才是最好的。
还有几个老外用 javascript 来控制硬件,以及使用 WebGL 和 WebVR 带来的炫酷功能。
当然还有一些 React 相关的演讲,这里有个有意思的地方,尤雨溪在 PPT 里说的 Relay / GraphQL 还没 Ready, 而我在写这篇文章的时候,Facebook 团队就已经在 GitHub 上正式放出了 Relay。
可以看到前端技术的发展速度还是相当快的,也许真如赫门说的:
每18个月~24个月,前端都会难一倍
所以,我们还是加紧学习吧!