国内和国外的的互联网公司有差距吗?
主要差距不是技术水平和项目质量,差距一直都是社区,是参与者对游戏规则的熟悉和尊重。但是差距也显而易见。
主要的差距是几个:
1. 世界性的社区参与度和影响力(英语能力在其中可能是一个非常大的因素)。
2. 对各种标准的参与度和影响力(除了英语能力之外,工程师的习惯也是个问题)。
3. 公司本身的low。比如百度前端团队的实力非常强,我很尊敬百度的前端工程师同学们,但是百度公司本身low爆了。
其中1、2两点这几年有非常大的进步。
比如Ali在node.js社区已经是不可忽视的中坚力量。又如BAT以及UC、360等公司对webkit/firefox等都有contributors(虽然严格说浏览器开发本身并不属于前端范畴,但是有非常重大的关系)。
BAT现在都已经是W3C会员,已经开始参与到Web标准的制定,包括提交一些新的草案。
唯一是第3点,虽然BAT都财大气粗,但是公司的治理水平和技术战略离世界级的公司还是有比较大的差距,并且短期内看不到赶上的迹象。(最有希望的或许是腾讯,但是腾讯的风格太过低调,腾讯的工程师似乎也都太低调。)不是说技术上的或者工程师代码能力什么上面的差距,而是说,前端技术发展日新月异,而我们基本处于跟随的状态。能够作为前端发展里程碑的创新,我们基本是零。
什么是里程碑式的创新呢?
比如 jQuery。
比如颠覆前端开发体验的 MVVM 框架。Google 发扬光大的。
比如 Facebook 的 React。
比如JS模块加载器、AMD 规范等。
比如 node,基于 node 的比如express,koa等框架。npm 上排名前十的库,没一个是我们主导的。
比如 css 预处理器。
所有上述的这些,从技术上说,没有什么我们做不出来的。以加载器为例,我们有很牛逼的工程师做出来的加载器可以在性能上超越 requireJS,我们也有基于 AMD 进行局部创新的 CMD。但是,为什么? 为什么上面几乎没有一个东西是我们首创的?重复造轮子是容易的,但是造一个从来没有过的轮子,这事我们没干过。
往大了说,他们发明了万维网,发明了HTML,开发了性能卓越的浏览器。我们呢?做浏览器也是在他们的内核上套个壳。
一个外国人用了几天时间,折腾出了一个 Javascript。然后我们的人花好几年的时间去熟悉它,然后可以被称为语言大师。Google研发了 V8 引擎将它的性能提高好几倍。而我们要是看过 V8 源代码都算大神了。
简言之,工程师的能力和意愿与国外总体差距已经很小,但是公司本身差距较大,这也导致公司主导或发起的项目达到世界级的基本没有。也就是国内顶级公司在拖国内顶级工程师的后腿。
整个(前端)开源业界经过多年发展,已经从下至上形成了一套完整成熟的玩法和运行模式(GitHub 的 Fork 为典型)。国外新的好东西一出来,马上就能吸引到一大批相同志趣且熟悉玩法的人参与,立刻能蓬勃发展。在国内则缺乏这样的人和环境。
一个很小的例子,Sea.js 的 README 里一直写着报告问题的推荐方式,几乎没有人遵守过。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有