网站开发只需数小时?Meteor 说这才是未来
原文: http://www.geekpark.net/topics/211573/
那个想要挑战过去数十年沿用至今的网站开发模式的新势力来了。
Meteor 是从 YC 孵化而出的现代网站开发平台,希望构建一个极简的网站开发环境。
以往使用最好的工具、花费数周时间才能完成的网站,现在使用 Meteor 只需要几小时。你可以利用周末或者一个咖啡无限续杯的编程马拉松活动日开发出一个完整的应用。
你不再需要:搭建服务器运行环境、在云端部署 API 接口、管理数据库、纠结是否使用 ORM 层、在 JavaScript 和 Ruby 间来回切换或是处理「将数据失效信息广播给客户端」这种工作。
互联网的工作模式最初被设计为上世纪 70 年代的大型机那样:应用服务器渲染好整个屏幕(网页),然后通过网络发送到各个简易终端上显示。只要用户执行了操作,比如点击一个链接,服务器都会重新绘制整个屏幕然后发送,下载和刷新需要较长的等待时间。过去的十几年中,互联网基于这种模式一直运行良好,并催生了 LAMP、Rails、Django、PHP 等技术。
但这套古老的模式将可能一去不复返,一些拥有大笔预算和充足研发时间的顶尖团队,正在利用 Javascript 开发运行于客户端的应用。这类应用具有固定界面,局部内容操作变化不再需要重新加载整个页面,并且具备数据实时更新特性:来自任一客户端的更改变化都会即时反映到所有人的屏幕上。
换句话说,大家所熟悉的通过 F5 刷新页面的操作将在未来成为往事。
这是因为 Meteor 将此类应用开发过程简化了一个数量级,并且更加富有趣味性。基于 Meteor 技术 的应用构建体验,会让你感觉浏览器刷新按钮和地址栏是多余的。
Meteor 帐号系统视频演示
Meteor 所做的减法
Meteor 在简化开发方面做了大量工作:
开发模式下,编辑更改代码后自动刷新浏览器,方便开发者查看运行效果。
自动编译(CoffeeScript、LESS、Stylus)、压缩合并、分发应用所包含的客户端 JavaScript、运行在于服务器端 Node.js 容器中的 JavaScript 以及 HTML 、CSS 和其他静态文件。
代码热部署特性使得新版本代码和数据的推送过程不会打断当前用户的正常浏览。
Meteor 通过核心 API 提供了数据发布订阅、Mongo 数据库访问、用户账户系统、Session、实时模板操作、Blaze 模板渲染处理、响应式计算、Restful 服务调用、Email、静态资产访问等功能。同时,基于 Package 系统提供加密开放授权、SSL、D3、jQuery、Backbone 等数量众多的社区开源库、共享模块支持,以满足应用开发需求。
其他特性:
- 平台支持 Mac、Linux、Windows(未来会有官方支持,暂时只有第三方解决方案);
- 原生支持使用 Jasmine, Mocha 以及 Selenium 编写的应用测试(Velocity 为官方响应式测试框架);
- 应用性能分析工具 Kadira(社区开发);
- 新的 Package 管理系统,支持编写、发布共享并具有版本管理特性。
- 最新版本中引入了 Cordova,支持封装 IOS、Android 移动应用。
- 基于开放的 DDP 协议,Meteor 未来还将支持数据在智能硬件、浏览器、移动应用间的无缝流动。
Meteor 的七项原则
1. 纯数据对话。服务器与客户端初始化后只传输数据,由客户端决定如何渲染。
2. 一种语言。前后端统一使用 JavaScript 进行开发。
3. 无处不在的数据库。浏览器端使用与服务器端一致的 API 访问本地数据库。
4. 延迟补偿。在客户端使用预取和数据模型模拟技术,提供接近零延迟的数据库连接体验。
5. 全栈响应式。实时作为默认模式,从数据库到模版的所有层面上,都应当具备可用的事件驱动接口。
6. 社区生态友好。Meteor 开放源代码并能与现有的开源工具和框架整合,而非取代它们
7. 简单即生产力。让事情看起来简单的最佳方式就是让它真正变得简单,通过干净且具古典美的 API 来实现。
Web 应用崛起的中坚力量
从 Web 应用到移动应用,每次创新的背后都是新的开发技术在支撑。未来趋势是物联网、信息实时化,在互联网基础服务与各种平台设备前端之间,Meteor 有望成为流行的实时应用开发解决方案,在下一轮创新进程中发挥重要推动作用。
与其他实时类应用开发技术(Node+Socket.io,Derby,网易 Pomelo,百度 Clouda,StreamSocket 等,)相比,Meteor 在框架功能完整度、项目质量、开源活跃度、开发规划及进度、开发者社区建设、资金支持等方面均有优势。
Javascript 飞速发展成最受欢迎的网站编程语言,而 Meteor 在这一领域处于 Javascript 社区的领先核心位置。Meteor 解决了简易性和可扩展性的问题,可以发展成为企业网站发展的重要平台。我们非常高兴能与 Meteor 合作构建新一代网站制作工具。
Meteor 从 YC 孵化,并获得著名风投 Andreessen Horowitz 领投的 A 轮 1120 万美元的巨额投资。Andreessen Horowitz 的合伙人 Peter 称。
使用 Meteor 的创业公司 Lookback 已经获得了 200 万美元的种子轮投资,而另一家云存储创业公司 Streem 的公司已经被知名云服务商 Box 收购。
目前 Medeor 是完全免费的,任何人都可以使用或者修改。至于盈利模式,Meteor 打算通过向大型企业出售额外工具来整合到其现有的 on-prem 和 off-prem IT 基础设施来获得利润。
网站开发只需数小时?Meteor 说这才是未来的更多相关文章
- 产品开发也要看阵容,APP开发只需五步变得靠谱
最早认识的一个朋友是程序员,曾经到一家外包公司接单子,小外包公司经常遇到的问题就是和需求方谈产品功能.客户要做外包,对方让他一次性报价,但是客户连功能点自己都不清楚,这时朋友说还是按照具体功能点来做吧 ...
- 嵌入式驱动开发只设备数---dts
http://blog.sina.com.cn/s/blog_ad64b8200101e7q0.html
- 开发只懂 AFN ?搞定 NSURLSession 才是硬道理
由于傲娇的苹果在 iOS9 之后已经放弃了 NSURLConnection,所以在现在的实际开发中,除了大家常见的 AFN 框架,一般使用的是 iOS7 之后推出的 NSURLSession,作为一名 ...
- 玩转Django2.0---Django笔记建站基础十一(一)(音乐网站开发)
第十一章 音乐网站开发 本章以音乐网站项目为例,介绍Django在实际项目开发中的应用,该网站共分为6个功能模块分别是:网站首页.歌曲排行榜.歌曲播放.歌曲点评.歌曲搜索和用户管理. 11.1 网站需 ...
- 开发Web版一对一远程直播教室只需30分钟 - 使用face2face网络教室
转载自:https://blog.csdn.net/wo_shi_ma_nong/article/details/88110111 在“为网站开发远程直播教室的折腾过程及最终实现”中,介绍了如何使用f ...
- 「MacOS」将网站转换为应用程序,只需一个Unite
unite mac有着非常强大的功能,能够轻松的将网站转换为macOS上的应用程序,除了现代化的网页浏览功能以外,Unite for Mac下载还包括特定于macOS的功能,通知,TouchBar支持 ...
- java开发区块链只需150行代码
本文目的是通过java实战开发教程理解区块链是什么.将通过实战入门学习,用Java自学开发一个很基本的区块链,并在此基础上能扩展如web框架应用等.这个基本的java区块链也实现简单的工作量证明系统. ...
- 【开源】Westore Cloud 发布- 没后端没SQL没DBA,只需 javascript 开发云端小程序
Westore Cloud - 隐形云,NoBackEnd,NoSql,HiddenDB 好的设计便是感觉不到设计的存在 开发小程序,但是:没有后端!没有运维!没有 DBA!没有域名!没有证书!没有钱 ...
- 只需十四步:从零开始掌握 Python 机器学习(附资源)
分享一篇来自机器之心的文章.关于机器学习的起步,讲的还是很清楚的.原文链接在:只需十四步:从零开始掌握Python机器学习(附资源) Python 可以说是现在最流行的机器学习语言,而且你也能在网上找 ...
随机推荐
- 1 web应用
web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端/服 ...
- 一步一步学Linq to sql(一):预备知识
什么是Linq to sql Linq to sql(或者叫DLINQ)是LINQ(.NET语言集成查询)的一部分,全称基于关系数据的 .NET 语言集成查询,用于以对象形式管理关系数据,并提供了丰富 ...
- android Intent onNewIntent 什么时候调用
1.activity A 的lanch model 为singleTop 此刻,A在activity 栈顶,那么就会调用A 的onNewIntent 如果A不在栈顶,则不会调用. 2.activity ...
- android 布局preview 技巧
最近开始看老外写的文章,博客,嗯,不能说比国人写的好,但是感觉看着很爽.真的,一手资料就是爽. 嗯,自己做得不错,第一次看外文博客,我知道自己怎么看的,一句话一句话看下来的,越看越有感觉. 下面这个 ...
- django之python3.4及以上连接mysql的一些问题记录
首先,祭出大杀器whl https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient django1.x与django2.x 在项目的写法上有一些区别 ...
- 用Mapreduce求共同好友
import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs ...
- 10.bootstrap分页,点击哪个分页号,哪个分页号就active
1.分页,点击哪个分页号,哪个分页号就active <nav> <ul class="pagination"> <li><a href=& ...
- python学习笔记一:数据类型
一.Python文件类型 1.源代码 hello.py: 1 #!/usr/bin/python 2 print "hello world" 2.字节代码:python源文件经编译 ...
- Android color颜色-色号总结
code时经常会用到颜色,然而对于像我这样的对于颜色不是很敏感的同学来说,就很痛苦了. 我想要某种颜色,但是又说不出来具体是哪种:这边总结了一下color种类以及色号. <?xml versio ...
- 抓包工具 - Fiddler - (二)
<转载自 miantest> 在上一篇中介绍了Fiddler的基本使用方法.通过上一篇的操作我们可以直接抓取浏览器的数据包.但在APP测试中,我们需要抓取手机APP上的数据包,应该怎么操作 ...