自1996年至今,网站的工作方式普遍是由服务器端向浏览器传送整个渲染好的 HTML 文件,下载和刷新需要较长的等待时间。在2012年的今天它迎来了新曙光,这套古老的模式将可能一去不复返了。简单说,新的模式是服务器和浏览器初始化之后只进行纯数据的对话,由浏览器决定怎样渲染它来生成 HTML,远程会话变成了本地的交互,操作动作和数据传输将感觉不到延迟。
Meteor 是一个新鲜出炉的现代网站开发平台,基础构架是 Node.JS + MongoDB,它把这个基础构架同时延伸到了浏览器端,如果 App 用纯 JavaScript 写成,JS APIs 和 DB APIs 就可以同时在服务器端和客户端无差异地调用,本地和远程数据通过 DDP(Distributed Data Protocol)协议传输。因此部分应用如 TODO 列表,网络在线和离线下使用功能完全没有差异,动作响应和数据延迟也完全感觉不出来。 如果简单定义“现代网站”是一个实时交互、超高性能、具备非凡体验的网站,那么 Meteor 就是一个可为开发者以简单高效而且充满乐趣的方式进行现代网站开发的平台,以往开发周期需要几周到几个月的项目,现在可能只需要几个小时或者一个周末的时间就可以完成了。Meteor 构建的应用体验,会让你感觉浏览器刷新按钮和地址栏变成多余的。
Meteor 对于开发者,网站在开发过程中,页面 CSS 样式和 HTML 结构更改时可自动刷新浏览器实现代码的热部署,方便查看运行效果;访客浏览网站,服务器端和每一个浏览器端的数据增删查改都将自动同步推送至服务器和每一个会话终端,不需要刷新页面来查看新内容,新版本代码和数据推送过程也不会打断当前用户的正常浏览。Meteor 如同它的中文名字“飞火流星”一样,夺目闪现,锋芒毕露。
要看这颗“流星”有多快,下面几个简单步骤即可轻松搭建本地开发环境和部署新网站到网络上,整个过程可能不会花费超过5分钟:
1)下载和安装Meteor 本地运行环境:
curl install.meteor.com | /bin/sh
2)创建一个应用:
meteor create try-meteor
3)本地开跑( 运行在 http://localhost:3000/ ):
cd try-meteor
meteor
线上部署,让全世界都可以访问到(
http://36kr.meteor.com):
meteor deploy 36kr.meteor.com
Meteor 开发和运行演示视频:
初步了解,Meteor 本质上是 Node.JS 应用的开发,继承了 Ruby on Rails、Node.JS、MongoDB API 等框架的基础特性,模糊了服务器端和客户端,弱化网络连接质量造成的影响。在官方示例应用中,一个多人实时互动
Leaderboard 游戏应用源代码不足50行,其中没有 MVC 中 Contorler 的概念,也不需要 Callback,仅仅几个简单文件而已,而且它确实是工作了。在浏览器中查看页面 HTML 代码,只引用了一个 CSS 和 JS 文件,数据通过 SocketJS 传输。
Meteor 当前还处于开发预览版,代码以 GPL 协议开源,1.0版本将在一个月到一年内正式推出。你现在可以在
GitHub 上关注它。