Meteor Web开发框架系列

Meteor简介

Meteor介绍

如果你有仔细观察最近几年的Web开发状态的话,你会发现两种清晰的趋势。第一是,Web应用越来越强大,且与桌面应用的界线也越来越模糊。坦白地说,用户完全不关心应用后面使用的什么技术,他们只是希望有一个好的用户体验,这其中包括点击时能马上响应、也其它用户的实时沟通、与其他服务的记好集成等等。每二个趋势是如此之快地涌现出大量的语言、库、工具、框架、工作流等,以至于开发者们疲于应付,无力追赶。

总之,当前的Web开发的现状是:

  • 用户希望从应用中得到更多方便。
  • 开发者希望减少使不同的库能一起正常工作的担心,或不再所谓的管道代码。

Meteor背后的故事

当Geoff Schmidt,Matt DeBergalis和Nick Martin接受了Y Combinator创业种子加速器后,他们计划建立一个旅游推荐网站。但当他们与其他初创公司交谈后,他们意识到那些创业公司是多么的挣扎,尽管他们在Asana工作时已经解决了同样的挑战。那一个关于协同项目和任务管理的在线平台。于是,他们改变了计划,决定创建一个开源平台,为开发像桌面应用程序那样样干滑的Web应用提供一个坚实的基础。

到2011年12月份, Meteor开发组(Meteor Development Group, MDG) 宣布了第一个开发预览版,名字叫Skybreak,随后很快被更名为Meteor。仅仅8个月后,该项目已融资了1120万美元。这些资金来源于行业大佬们,如如Andreessen Horowitz、 Matrix Partners、Peter Levine(XenSource前首席执行官)、Dustin Moskovitz(Facebook联合创始人),Rod Johnson(SpringSource创始人)。Meteor的GitHub库中一直是排名前20最流行的库之一,在其1.0版本发布后,排名更是跃至指点11位,比Linux内核、Mac OS X的软件包管理器程序homebrew以及backbone.js拥有更多的star。

为什么Meteor会如此受开发者的欢迎呢?或许是Meteor不再让开发都困于底层基础代码的创建,如数据同步,让开发者专注于开发业务功能。随着超过1100万美元的资金注入,投资者发现Meteor非常具有吸引力。正如类似的情况发生在Xen(免费的服务器虚拟化管理程序)、或JBoss(Java的应用服务器),MDG的最终会为企业市场会提供额外的工具。

The MDG 将项目分为4个部分:

  • 诸如命令行界面(CLI)的工具集。这是像nake一样的构建工具和像node npm一样的包管理器的混合物。主要为将要发布的Web和Mobile项目的整体构建与管理。

  • 软件库的集合。这是一整套核心功能组件包,可被自定义组件包进行扩展或者由 npm安装的node模块扩展。

  • 各种协议的标准,如DDP(Distributed Data Protocol)、基于Websocket的数据协议。

  • 服务。官方的托管服务、包托服务器,以及构建集群。

所有的Meteor的项目都使用一个统一的接口进行访问,这样开发人员就不需要知道哪些组件构成了整个Meteor。

Meteor组件

简单的说,Meteor是完全使用JavaScript创建丰富的Web应用程序的一个开放源码的平台。它在一个框架下捆绑和提供了所有需要的功能。它由Node.js、MongoDB、实际的应用程序代码、以及一个强大的命令行工具,组合成了强大的npm和make工具集。因此,它比服务器进程和库的组合要强大许多。这也是许多人喜欢把它称为一个完整的生态系统,而不仅仅是一个框架的原因。但是,即使它超越了其他Web框架提供的功能,在它的核心,它仍然依赖于组件栈来运行应用程序。

Meteor的组件栈是MEAN家族的成员,这也意味着在服务器端Meteor由Node.js驱动。Node.js是一个事件驱动的,高度可扩展的运行服务器上的Javascript运行时环境,它如同Apache在LAMP(Linux, Apache, MySQL, PHP)中所起的作用一样。

所有的数据通常存储在MongoDB面向文档的NoSQL数据库中。Meteor也有支持其他计划(基于SQL)数据库系统的诗雅,但目前唯一的建议是使用Mongo数据库。MongoDB提供了一个JavaScript API,可以以文档或对象的形式访问所有存储的内容。在浏览器中以同样的语言来访问数据,如此一来Meteor可利用此优势实现真正的全栈开发。

所有从零开始创建Web应用程序所需的软件和库都以智能包(smart packages)的形式捆绑在Meteor中,因此开发人员可以更快捷的开始开发。这些软件包包括一个响应式的用户界面库(Blaze),用户帐户管理(accounts)等等。Meteor的CLI工具允许开发者快速建立一个完整的开发环境, 而不需要如何安装或配置服务器软件;Meteor完整地接管了开发应用的基础设施的方方面面。它同时也是一个构建工具,类似于make和grunt,和包管理器,如APT或NPM。比如,它可以快速地编译那些预处理语言,如LESS和CoffeeScript,而不需要事先设置处理流程, 也不需要使用任何命令来为认证添加Facebook OAuth组件。最后,CLI工具应用程序打包,以使应用可以运行在不同的客户端平台,如在浏览器中运行或用为原生移动应用程序运行。

Meteor组件栈的所有部分都无缝集成,所有的核心软件包经过精心设计和严格测试,以保证它们可正确工作。另一方面,如果需要,它完全有可能切换到其他的组件。在一些情况下,可以不使用Meteor全部组件栈,你可以决定只使用Meteor服务器组件,然后在客户端的Angular.js,或者使用java后端,同时使用Meteor前端为所有客户提供实时更新。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容