Meteor平台下网站开发只需数小时?

前阶段看到一篇文章,说以往花费数周时间才能完成的网站,现在使用 Meteor 只需要几小时

很好奇Meteor是个什么技术?怎么大幅提高开发效率的?就了解并试用了一下

Meteor的中文是“流星”,了解后发现它的确如“流星”一样飞快,对于创业团队和快速原型开发真是太适合了,值得学习和使用

Meteor 是什么?

Meteor 是一个基于 nodejs 的全栈实时开发平台,目前只支持 Mac、Linux,Meteor还引入了 Cordova,支持快速封装 IOS、Android 移动应用

全栈

基础构架是 Node.JS + MongoDB,并把这个基础构架同时延伸到了浏览器端,所以你可以用js完成前端到数据库的全部工作

实时

Meteor使用分布式数据协议DDP 来处理实时通信,使用WebSockets或Ajax长轮询来支持这种协议

事实上 Meteor 提供了两个MongoDB数据库:客户端缓存数据库、服务器端MongoDB数据库

当用户更改一些数据时,在浏览器中运行的js代码会更新本地MongoDB中的数据,然后向服务器发出一个DDP请求

然后客户端代码继续运行,因为它不需要等待服务器回复,与此同时,服务器在后台更新,如果服务器操作失败,那么客户端js代码会依据从服务器新返回的数据立即进行调整,这种调整称为延迟补偿

Meteor 为何高效?

(1)Meteor是一个开发平台,而不是一个框架

例如你要使用LAMP开发一个网站,首先需要在服务器上搭建apache\php\mysql的环境,然后选择一个php开发框架进行安装,配置好数据库连接信息,启动apache和mysql,这时就可以访问页面了

使用Meteor的话,只需要一个命令来安装Meteor,然后启动,这时,web服务器、MongoDB 就已经就绪,可以直接访问了

(2)前后端统一使用 JavaScript 进行开发

例如使用LAMP开发,常见的代码流程:js ajax 调用php,php调用mysql,封装json数据返回给客户端进行处理

Meteor用js开发,MongoDB的接口是js的,并且MongoDB的文档结构就是json,所以就可以直接使用js操作数据库,得到的就是json结构数据,js直接在页面处理数据

(3)开发模式下,编辑更改代码后自动刷新浏览器,方便开发者查看运行效果

(4)自动编译(CoffeeScript、LESS、Stylus)、压缩合并、分发应用所包含的客户端 JavaScript、运行在于服务器端 Node.js 容器中的 JavaScript 以及 HTML 、CSS 和其他静态文件

(5)Meteor的核心API提供了很多及其便利的服务

例如用户系统,只需要运行一个命令加载用户系统模块,然后在页面中添加一行代码嵌入用户系统,那么你的网站就支持用户注册和登陆了,Meteor帮你自动实现了从页面到数据库的代码

之后会再介绍下体验过程

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2015-11-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java后端技术栈

SSH设置别名登录远程服务器

一般使用ssh访问远程服务器的命令是:ssh username@ip地址, 例如:ssh root@112.232.12.12,然后输入密码即可访问。

32530
来自专栏小狼的世界

通过设置双网卡实现VirtualBox虚机上网及主宿互访

最近,经过一些研究,终于调通了VirtualBox虚拟机互连、主宿机互连、以及主宿机连接互联网。下面分享一下。

16120
来自专栏web编程技术分享

JSP+Servlet 小练习,简单版本的在线聊天室

45960
来自专栏IT技术精选文摘

不丢数据的Mysql集群方案设计

方案一、多主同步复制PXC方案 PXC即Percona Xtradb Cluster,它采用Galera引擎,可以实现多个节点间的数据同步复制以及读写并且可保障...

819100
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Sandstorm安全地运行流星应用程序

Meteor是一个JavaScript框架,允许Web开发人员编写一次JavaScript代码并在客户端和服务器端重用它。本教程介绍了部署Meteor应用程序的...

15230
来自专栏DT乱“码”

原 如何保障数据库的高可用

24620
来自专栏腾讯云数据库团队的专栏

MySQL 数据库的高可用性分析

MySQL 数据库是目前开源应用最大的关系型数据库,有海量的应用将数据存储在 MySQL 数据库中。存储数据的安全性和可靠性是生产数据库的关注重点。本文分析了目...

9.4K10
来自专栏软件测试经验与教训

看图说话:文件上传(File Upload)漏洞示例

作为测试人员,我们常常听到“安全测试”这个词,但鲜有人真正做过安全测试。从我们的职责“保障质量”角度来说,说是一种“失职”也不为过。那么安全测试是什么,究竟怎么...

24540
来自专栏北京马哥教育

MySQL Master High Available 理论篇(二)

六、核心参数详解 6.1 参数矩阵图 ? ? Local Scope 每个server域的参数 在application 配置文件(app.cnf)中:[ser...

29370

如何在Linux上搭建Terraria 游戏服务器?

Terraria是一款二维沙盒游戏,类似于Minecraft(我的世界),允许玩家在开放的世界中探索,构建和战斗。2015年,Terraria开发者宣布支持Li...

91630

扫码关注云+社区

领取腾讯云代金券