了解 Meteor

Meteor 的官方网站将自己描述为 “The JavaScript App Platform”,直译的话,就是使用 JavaScript 编程语言构建应用程序的平台。按照套路,我接下来应该开始解释 JavaScript, App, Platform 的各自含义,我才不呢,那是老师干的事,我要从学生的视角讲一讲我是如何发现、了解 Meteor 的。

1477 天前,也就是 2012 年 4 月 10 日,其创始人 Geoff Schmidt 向 Hacker News 提交了官网链接,也就是那一刻,Meteor 第一次向全世界公开亮相,我便是在那时发现它的,当时我对编程还一窍不通,只会写一写静态网页。随后,Meteor 发布演示视频,我一边看一边就能感受到自身热血沸腾,那是一种介于『不明觉厉』与『这就是未来啊』之间的感觉。当年看 Google 的某个小团队对外发布 PubSubHubbub 的演示视频时也是这种感觉,尊贵的你也许无法在这里与我共鸣,但我相信在你的兴趣领域里一定有类似的巅峰时刻,那是一种『活着真他妈好』的幸福。

1477 天后的今天,如果让我说 Meteor 的核心竞争力是什么,我会直截了当地回答:开发者体验(Developer Experience)。当然这不是我一个人说的,这是 Meteor 开发者社区的共同感受。你也许听说过用户体验,即以最终用户为视角在使用产品过程中的体验与感受。同理,优秀的开发者体验允许开发者专注于项目本身,其它琐碎事情它一概帮你解决,这一过程涵盖从初始安装 Meteor 直至最终托管你所创造的项目。

Meteor 的投资者之一是 Marc Andreessen,他经常在 Twitter 上轰炸式地表达自己的观点,其中提到了他对破坏性创新的理解:破坏性创新指将现有的需要较高消费能力才能享用的事物或服务通过创新方式重新打包为适用于普罗大众消费的商品的行为。迁移过来,我发现:将现有的需要较高脑力和熟悉度才能充分发挥作用的科技通过创新方式重新打包为适用于普罗大众享用的技术产品的行为,也是一种破坏性创新。没错,对整个开发者社区而言,Meteor 团队所做的事正是这样一种破坏性创新。

那么,Meteor 对于个体的你我来说,到底意味着什么呢?换句大白话,学习 Meteor 之后,我能获得啥好处?

如果你压根对编程不感兴趣,那么我暂时不指望你对 Meteor 有什么感受,你只需要先对我这个人感兴趣,跟着这个微信公众号一步步走,能感受多少就感受多少,不存在任何压力。

如果你是一名非 JavaScript 语言开发者,也许你从一开始就无视它(指 JavaScript),甚至瞧不起它,没关系,要知道这个微信公众号是先有英文名,后有中文名的,且英文名是 “Learn everything from learning Meteor”,你念出来感受一下这个格局,就知道这里不仅仅是教程。什么时候触到了兴奋点,什么时候再学习都不迟,你上手速度肯定比我快,因此同样不存在压力。

如果你恰好是一名 JavaScript 开发者,我的乡亲抱一个先。不客套了,快去 meteor.com 直接开吃。

如果你是一名资深 JavaScript 开发者,那么应该已具备相应的脑力和熟悉度来克服新手遇到的问题并能够充分发挥其作用,对此我只敢有三点看法:第一,倘若还有精力和好奇心,直接阅读源代码并关注其发展,一定会有收获;第二,可以用它试带新人团队,上手快,出品也快,还能把人给分出来,比如学习力和执行力;第三,Meteor 对开发者的能力有放大效果,初学者花几天时间就能构建出来一个需要资深团队研发一年的产品,但反过来也说得通,做出来的样品看起来高级,其开发者实则未必有多大的能耐。编程的技艺是打磨出来的,想象一下,作为资深 JavaScript 开发者进入这片池子,那岂不是如鱼得水,完全可以创造出有用、好用、耐用的积木,提供给我们这些向精通道路迈进的学习者。

编程就是搭积木,你我可以扮演不同的角色,或使用积木,或制造积木,而 Meteor 正是由一个资深开发者团队制造的特意巧妙结合在一起的几块积木罢了。