使用Meteor开发下一代JavaScript实时Web应用(一)
在文章任何区域双击击即可给文章添加【评注】!浮到评注点上可以查看详情。

enter image description here

简介

在本章中,你将:

  • 了解是什么让Meteor如此特别
  • 阅读关于本书的故事
  • 了解到本书是如何组织的

我们来做一点小实验。假设你在你的电脑上对一个文件夹打开了两个窗口。

现在点击其中的一个窗口然后删除一个文件。这个文件从另一个窗口中消失了吗?

实际上你并不需要完成这些步骤也能知道结果如何。当我们在本地文件系统中做一些修改时,变化将会在所有地方发生而并不需要刷新或者回调。它就这么发生了。

然而,让我们思考一下web中同样的场景。例如,我们在两个浏览器窗口中打开了同一个WordPress网站然后我们在其中一个窗口中创建了一个新的文章。不像桌面,无论你等多久,另一个窗口始终不会发生变化除非你刷新它。

过去的几年中,我们已经习惯了这样的理念:你只可以用短暂、分隔的方式的与网站进行交流。

但是Meteor是互联网框架新浪潮的一部分,它通过构建实时交互的web应用来挑战现状。

什么是Meteor?

Meteor是一个基于Node.js的构建实时web应用的平台。它存在于你的应用数据库和用户界面之间并且确保两者保持同步。

因为基于Node.js,Meteor在服务器端和客户端都使用JavaScript。此外,Meteor也能可在所有环境中共享代码。

以上所有的东西最终产生了Meteor这个平台,它功能强大并且简单易用,而且抽象了web应用开发过程中那些常见的麻烦以及缺点。

为什么使用Meteor?

那么为什么你要花时间学习Meteor而不是其他的web框架呢?除了Meteor许许多多的功能之外,我们相信原因可以归结为一点:Meteor简单易学。

不像其他框架,Meteor可以在几个小时之内构建一个实时web应用。如果你之前做过前端开发,你已经熟悉了JavaScript而不需要去学习一门新的语言。

Meteor可能是你需要的最理想的框架,或者不是。但是既然你可以花几个晚上或者一个周末的功夫上一些课程,为什么不试试Meteor看看它是不是你想要的呢?

为什么要阅读这本书?

在过去六个月的时间里,我们一直致力于Telescope,一个开源的Meteor项目,它可以让所有人创建自己的社交新闻网站(想想Reddit或者Hacker news),人们可以在上面提交链接并且投票。

我们学习了很多东西来创建这个应用,但是想找到解决我们问题的答案并不容易。我们需要从不同的地方将那些碎片化的东西拼凑在一起,在一些情况下甚至要发明我们自己的解决办法。在这本数中,我们想要分享我们的经验,以及教你如何从零开始一步一步创建一个功能丰富的Meteor应用。

我们在本书中需要创建的应用是一个Telescope的简单版本,我们叫它Microscope。在创建它的过程中,我们将会讲解所有我们需要创建的元素,例如用户账户,Meteor collections,路由等等。

当你阅读完这本书后,如果你想要更进一步的了解,你可以以轻松的阅读Telescope的代码,它里面也会遵循的相同的模式。

关于作者

如果你想知道我们是谁以及为什么你应该相信我们,这里有一个简要的背景介绍。

Tom Coleman来自Percolate Studio,一个注重于质量和用户体验的web开发工作室。他也是Meteorite以及Atmosphere仓库的联合创始人,同时也是许多Meteor开源项目的幕后推手(例如Router)。

Sacha Greif作为一名产品经理和web设计工程师在一些创业公司例如Hipmunk以及RubyMotion工作。他是Telescope以及Sidebar(基于Telescope)的作者,同时也是Folyo的创始人。

章节和侧边栏

我们想要让本书对于Meteor新手以及高级用户都有用,因此我们将章节分成了两类:普通章节和侧边栏。

普通章节将带领你创建一个用用,并将尽可能的向你解释一些重要步骤而不会纠结于一些细节。

另一方面,侧边栏将会深入Meteor的复杂部分,并将帮助你更好的理解Meteor背后东西。

因此如果你是一个初学者,在第一遍阅读时大胆的跳过侧边栏章节,然后在你已经玩转了Meteor之后再回来阅读。

提交代码 & 实时例子

再约对本编程书时没有什么比突然意识到你的代码和例子中的代码不同步并且怎么也运行不了更让人郁闷了。

为了防止这种情况的发生,我们设置了一个Microscope的Github仓库,对于每一步代码发生的变化我们都将直接链接到这次git 提交。另外,每一次提交将会对应着一个实际的例子,因此你可以用它来对比你的本地例子。下面是一个例子:

但是要注意虽然我们提供了代码的git仓库但是这并不意味着你应该从一个git checkout到下一个git checkout。亲手输入代码将会更有利于你的学习。

一些学习资源

如果你想要了解更多关于Meteor的具体细节,Meteor的官方文档是最好的资源。

我们同时也推荐Stack Overflow来应对问题和疑问,如果你需要实时帮助那么#meteor的IRC channel也是一个很好的选择。

我需要git吗?
虽然熟悉用git进行版本控制并不是阅读本书的必要条件,但是我们强烈推荐它。

如果你想要快速入门git,我们推荐Nick Farina的《Git比你想象中简单》(Git Is Simpler Than You Think)

如果你是一个git新手,我们同时推荐Github for Mac应用,它将帮助你在不使用命令行的前提下克隆和管理仓库。


本系列文章译自Discover Meteor,正版图书购买地址:http://www.discovermeteor.com

如果你觉得本文对你有帮助,请点击下面的链接为我提供赞助。

评论
发表评论
暂无评论
WRITTEN BY
张小俊128
Intern in Baidu mobile search department。认真工作,努力钻研,期待未来更多可能。
TA的新浪微博
PUBLISHED IN
使用Meteor开发下一代JavaScript实时Web应用

介绍Meteor框架的基础知识,帮助你快速上手用Meteor开发实时web应用

友情链接 大搜车前端团队博客
我的收藏