专栏首页性能与架构Meteor平台下网站开发只需数小时?

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),作者:杜亦舒

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • WEB开发将不再重度依赖JS

    Mozilla、谷歌、微软、苹果 4大浏览器一致通过了一个标准:WebAssembly WebAssembly 允许使用更多的语言来开发web应用,并且有接近...

    dys
  • Web前端开发技术栈

    前端领域的发展非常迅猛,大前端的时代到来了,据说每隔12-24个月,前端的难度将增加一倍,从下面的技术栈就可以看出前端领域的丰富度和复杂度 核心概念 HTML ...

    dys
  • 前端模块化工具 Browserify

    Browserify 是什么 Browserify 是一个浏览器端代码模块化的工具 为什么要使用 Browserify 浏览器端的代码模块化有2个明显的...

    dys
  • sublime3 ctags安装

    一、如果Preferences > Browse Packages菜单下没有Package Control目录,我们可以通过以下步骤手动安装Package Co...

    py3study
  • 干货 | 两百条!微信小程序开发跳坑指南

    微信小程序开发过程中,经常会遇到各种坑及疑难问题,为了让各位在开发过程中少走弯路,因此极乐大叔整合了200条跳坑指南,请大家仔细阅读,日后开发绕开这些坑~ 跳坑...

    极乐君
  • 多场景下的AI疫情防控“天网”:解读云边端联动下的全栈AI技术

    传统体温计、体温枪等测温方式需要大面积、近距离接触,既危险又低效。在 AI、物联网等技术的发展与支撑下,红外体温检测仪首先是高效精准排查的第一层保护网,同时又保...

    AI科技大本营
  • 10 个最适合 Web 和 APP 开发的 NodeJS 框架

    在浏览器以外运行 JavaScript 对于 JavaScript 爱好者来说非常神奇,同时也肯定是 web 应用程序开发界最受欢迎的进步之一。全球各地的开发者...

    哲洛不闹
  • js list数据 转 树状 层级 JSON,递归生成树状 层级 JSON

    <!DOCTYPE html> <html> <head> <script> var data=[ {"id":"aaa","parentId":"accoun...

    庞小明
  • Spring Security 在 Spring Boot 中使用 OAuth2【分布式】

      OAuth(开放授权,Open Authorization)是一个开放标准,为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是...

    Demo_Null
  • Modbus RTU驱动程序开发指引

    Modbus RTU 驱动开发 摘要 这篇笔记主要介绍基于飞思卡尔kv4x系列MCU的modbus RTU(Remote Terminal Unit)驱动程序开...

    用户1605515

扫码关注云+社区

领取腾讯云代金券