{TIME} 在阿里巴巴的这一年时间里

初入阿里

带着所有的好奇心来了阿里,因为这是大学时候的想法,大学时期抛硬币选择前端 or 者后端开始,就有了这种憧憬和向往,对于13年时期一个即将主动退学的学生来说,阿里巴巴的的确确是一个遥不可及的目标,13年的阿里已经不再是十年前(03年时期)那样,毕竟中国只有一个神话,一个阿里。对于一个只想纯做Web技术的人来说,阿里无疑是一个最好的选择,前卫的技术栈,神秘的技术体系,有趣的页面结构,都让初探Web世界的我心动不已。

毫无疑问,阿里的确是一家非常好的公司,它给出的待遇无疑是国内业界数一数二的,完全对得起一线码农的价位。稳定的13薪资加上绩效奖金年终奖,也非常适合想要奋斗的年轻人,入职后还有一场有意义的培训,可以说是认识阿里公司里的第一批人脉。和体制内的单位有所不同,在阿里,竞争是相对公平的,很多时候是能者多得,拿得出结果的人能收获的更多一些。无处不在的印证着“适者生存”这个词,在阿里,有两种选择,要么默默无闻的干下去,要么出人头地刷脸提高知名度,两种都有成功的,也有失败的。在很多规范化的事情面前,要么打破常规,要么默默遵循。

无线开发

而我,属于比较沉默的那一类人,对于业务数据并不是很敏感,很多时候我只是单方面比较关心数据的长和跌,很少思考其背后的原因,更多时候我像是一个观察者,看着事态的变化,然后内心慢慢的总结出一套规律,在往后的过程里,会根据之前总结得出的经验结论给出一套风险最小的解决方案。 在没有几乎80%的把握时,很少会轻易做判断和做决定。应该是属于保守型人格,即使拿到很好的结果也不会让我特别高兴,遇到很坏的情况时我的情绪也不会特别糟糕。更多的时候,想做一个观察者。

在来阿里之前,我做的最多的应该是响应式WAP和后台管理系统的开发, 对于纯移动端,甚至混合架构的开发并不了解,而我进入了无线这个领域,并且一开始就只做和无线相关的东西,由于经验不足,一开始花了近别人两倍的时间来适应,为了熟悉Weex的DSL也会追到源码去看, 不懂就问。但是这对我带来的成就感和满足感甚少。

以往的时间里,每当学到新的技术,解决社区内的一些问题时,往往内心会因为这种进步带来喜悦和满足感。虽然累,却觉得非常的快乐。不过在这一年的时间里,我却没有体会到这样的感觉,渐渐的状态有些不好,不过可能只是一段时间的,于是我渐渐的调整好了状态,并花时间静下心来做了一些思考。

我在阿里的时间里,其实每天都会带着很高的精神压力在工作。这种压力其实并不是来源于工作任务(业务还好,基本上我能提前完成),也不是来源于自己,而是一种莫名的压抑,似乎就在周围环绕着你,也许是太多人挤在一个大楼里,感觉到心口和呼吸都有点困难。在阿里,所有人都很忙!甚至忙到没有时间来回答你的问题,在项目启动之后几乎每隔2天就会有一次会议。大家都在紧张的状态中工作,早九晚九。记得刚入职的前2-3个月里,我几乎是每天都10点以后才回去,经常一个人加班到12点-1点,当时是压力且兴奋的状态,就这样,一直保持着过了半年几乎没有什么生活的日子。其实这个时间里,是我感觉到时间过的最快的时候,一转眼,半年就过去了。

在这些一去不复返的日子,亲眼见证了 双十一,商人节时园区昼夜灯火通明,坚守在一线的所有人都全力以赴,为了一个共同的目标,来支撑一次全球最大的购物狂欢。

Weex VS React Native

在阿里做无线自然也离不开Weex,这无疑会让人把它和React Native做对比。 两者解决问题的思路不同,虽然都是跨端,Weex跨三端(Web,Android,IOS), 而React Native只跨两端(Android,IOS), 表面上看Weex似乎更胜一筹,不过经过半年时间的实践来看,跨端项目其实并需要跨Web,有人会反问我说要降级逻辑,其实并不需要降级,一套代码兼容两端往往比兼容三端要来的容易,坑也会少很多, 既然DSL这一层已经可以抹掉大部分差异,只要代码保持规范,表现不一致也是中间层的问题,那么为什么还需要降级?

再从调试工具来说,Weex的调试工具很多时候是需要人肉扫码的,JSError部分对于开发者来说更是黑盒,当然也有Weex DevTools,不过年久失修似乎最近一段时间又有人维护起来了,不过似乎不太管用, React Native则提供了一个相对来说更加成熟的全套调试工具。从社区来说就不太好比较了。

总之我个人来说是比较倾向于React Native的,也许这也是为什么支付宝一直以来都拒绝接入Weex而坚持拥抱H5和社区的原因吧,其实仔细体验会发现,支付宝内的H5页面体验都是极好的,经过深度优化和定制的WebView体验其实并不会比Native差多少。至于开发效率,我认为,和开发工具,脚手架发布流程,应用平台等等都有关系,单方面说哪个效率高,,其实看不出来,返璞归真未尝不是一件好事

从降低成本上来说,开发效率上,使用Weex开发的页面不需要APP进行发版,React Native同样可以,解决的问题是将许多纯展示型的业务工作量全部交由前端这边处理。不再依赖发版自然要灵活一些。适合这种纯电商类的场景,当然H5能不能做到? 当然可以,前面提到过,经过深度定制的WebView优化体验也并不差。 从H5到Native的持续迭代,我认为,最稳妥的做法是先做成H5,流量入口大,业务数据好看且稳定的话,再进行Native化,这样来说一定要稳妥一些。

至于是不是没有React Native或者Weex就不能很好的做APP了么? 当然不是,你看看12306,招行的APP,不一样运作的很好么。但是Weex确实为阿里带来了价值。让前后端的分工更加明确,解放了IOS和Android的生产力

Node?

拿Node来做小型的Web站和微服务是可以的,做大型的Web站当然不行,这些已经有过很多血淋淋的例子,内部当然也有,整个团队的离职也让集团在这种事情方面越发谨慎,近几年Node圈在阿里内部的声音已经越来越弱,到现在几乎无声,在我没有进入阿里之前其实我已经做过这样的断言,然而很多事实都证明了我的猜想,用Node和后端抢地盘这种事情还是算了吧,传统的后端语言经过多年的打磨和应用场景,并不是一个单线程脚本语言所能轻易替换的。很多场景Node+NoSQL并不好解决。

不过Node的确非常适合做为前端必备的工具链,爬虫也好,脚手架也好,都离不开Node生态。前端社区依赖着这些茁壮成长, 所以那种纯拿Express或者koa做后台的这种公司我可能不会考虑,因为结局已经看到了,尤其是数据库还是MySQL的时候, Express+MySQL, 简直爆炸好么。

离社区渐行渐远

我曾今也是一个Github的重度依赖者,在17年之前一段时间几乎是每天都要提交代码,对博客进行一些修修改改。来阿里的一段时间里,工作忙碌的时间让我离社区越来越远, 对于一些持续保持着关注的项目更近有些滞后,例如Webpack出4了,很想修改升级以前的脚手架项目,但是确实没有时间。一个好的项目,我对它进行一些持续的关注,例如React,例如React的一些周边组件。自己的开源项目也没有继续进行跟进,虽然有了一些新的想法,也想要重构, 也许有可以部分转化成ES6代码的需要。 struct就被应用在了1688的wap主搜重构项目中, 灵活的js模板和一些实用的工具函数,在配合新的前后端分离同构的架构中起到了一定的作用。

集团内部大大小小的轮子零零总总,有些由于历史包袱不得不持续维护下去,甚至有些项目已经年久失修也无法从项目中根除。我们所做的大部分工作是尽量贴近集团的统一规范,将一些旧的东西迁移到新的架构上,保证持续演进,最终希望后续的项目都沿用新的方式,而不是继续用旧的。 文档的持续维护也确实是一个问题,需要有专门的人去跟进,否则完全无法持续下去。

但我后来发现, 做技术还是以务实为主,所以我的Github项目多数是务实主义,也不会凭空造个轮子,多数需要解决实际问题,然后活跃度,可能思维方式上已经有所转变了, 活跃不活跃无所谓,更重要的是能不能解决一些实际问题。毕竟在中国,想要在Github上有个长期活跃度,要么是学生,要么是领导(已经不写代码了),要么是自由职业者,然而都是少数少数。大部分人还是为了工作而忙碌。

好看的业务数据

wap站的主搜是主要的大流量入口,经过我们的一系列重构,流量,直接引导买家转化率提高近100%,直接翻了一倍。业务数据的确很好看,阿里看重这种结果,我们也需要这种结果。 18年2月过年回老家县城看了看,发现B类(B2B)的业务确实非常难做,B类商家用户和C类用户有所不同,做生意的人其实更加关注的是利益点,而不完全是用户体验,当然一个大集团的APP自然体验不能做的很差,不能各种问题,但是商家关注的更多是,我的进货价是不是够便宜,我在1688上拿货3块钱一双袜子,我在其他地域的平台网站上拿货2块钱一双袜子,那么我为什么要上1688?假如我在线上交易,一件货批发价3块钱,还要交税,我私下和老板交易,2块5毛钱一件货就能拿到手,还不用交税又能双赢,那我为什么要在线上平台做生意?除了依赖平台流量存活的中小工厂,回县城调研发现其实大部分商家并不依赖1688这个平台,更多的是多一种销售渠道。这让我意识到,看问题不要只从互利网这个行业,互联网这种思维里去看问题,更多的情况是跳出互联网思维,想想其他的情况。这也是为什么B类业务一直都不是阿里的重点。因为B类确实不如C类这样,用户粘性,使用频率和C类APP相比要差了很多很多。

近年来的一系列国际形势的变化,加上外企的纷纷撤离,经济形势越来越差,亲眼目睹了周围的实体店 大量的倒闭,做生意的老板很多都选择关门大吉或者跑路,或者裁员减持。2019年经济会越来越低迷,越来越难过,同样B类的业务更是遇到寒冬,雪上加霜。

除了技术,我们还会什么?

更加看重自己后期软实力的成长,更希望能看到一些除本行业之外的一些渠道信息,管理技巧,所谓读万卷书不如行万里路,行万里路不如阅人无数。困在互联网的行业里,思维比较受限,很多时候我希望能发掘一些其他的门路,这个世界不只有互联网,也不只有技术,还有更多有价值有意义的东西。

总体来说,在阿里这一年是我职业生涯中的一段重要旅程,也看清看淡了许多事情。

后续一段时间会持续关注一下微信小程序 和 公众号