白鹭开发者李昌平:不卖“鸡汤”只卖“白菜”的程序员

白鹭时代正式推出的以“探索、分享、改变”为主旨的“白鹭顶级开发者”计划,已正式开放申请,希望能够通过该计划为更多开发者伙伴,提供专业技术支持和社区知识服务,同时携手打造顶级开发者个人的业界品牌。

白鹭时代此举,吸引了大量移动互联网开发者,特别是HTML5开发者群体的高度关注。

李昌平成为首批“Egret顶级开发者”之一,这位以“卖白菜”自居的技术老兵,历经从ASP、FLASH 、H5、 再到PHP等多种技术语言的转型,并免费为开发者提供了很多实用干货。

500.jpg

每次技术转型的背后都经历了怎样的努力和尝试?分享达人又是怎样炼成的?我们对李昌平做了一次个人专访,看看这位“技术玩家”如何完成从“小白”到“大牛”的逆袭……

1.很高兴今天能够采访到大名鼎鼎的“卖白菜的”,能为大家介绍一下自己么?

大名鼎鼎就过奖了,其实我仍是新手,有很多东西要学习,也要向技术大神看齐。在武汉理工大学计算机系2002届毕业之后,我就走上的IT行业这条“不归路”,一做就是10年+。

2.你是怎么接触到Egret的呢?学习Egret的途径和路线是什么?

接触到Egret还是通过微信中曾火爆一时的《围住神经猫》游戏,后来才了解是用白鹭引擎开发的。当时H5虽然还不太普及,但我觉得这块一定有市场。 

学习Egret之前,我是学过AS3的,之前也对比了几种H5移动框架,如CreateJS/JQM等,Egret是采用TS开发的,TS跟AS又很像,再加上Egret的SDK又跟AS的机制几乎一样,学习成本自然就降低了,上手也就简单许多。

3.听说你在Egret论坛、QQ群人气很高,因为“卖白菜的”而衍生了很多“卖XX”成员,比如“卖土豆的”、“卖内裤的”,甚至还有“卖身的”……为什么给自己起名“卖白菜”呢?

“卖卖家族”算是民间非赢利组织,没有老大,大家都是老大,因为大家都对“卖”字情有独钟而聚到一起。

本来最早就想起个英文的白菜(Cabbage)的,后来想在中国还是用中文的吧,就变成了白菜了,白菜一般比较大众化,容易接受,好记,口语化强烈。

大家都很爱“白菜价”,所性就起了“卖白菜的”,两层含义,卖就是提供给予,白菜便宜,比起鸡汤实惠得多,大家更爱吃。

4.你建立了一个针对Egret开发的“白菜”类库,封装了大家开发中常用的方法,非常实用,为什么会这么做?

当时的白鹭引擎上手虽然简单,但是辅助的类库还不多,不像AS的类库那么成熟。为了自己用着方便,所以就慢慢完善起来了,从此简化了很多写法上的麻烦,但又不影响白鹭自身体系,升级也方便,代码移植也方便。

此外,一些新人会在群里问很多基础的东西,每次都要重复解答,没有很多参考的示例和文档(当时的文档有点LOW,现在的文档很上BIGGER),所以就分享出来方便新人快速上手,还可以作为一套示例来快速学习、掌握白鹭。 

5.你不但封装了“白菜”类库,还封装了针对Egret的各种微信分享的源码,并且开源了,因此很多人都学习你的代码,这么做的初衷是什么呢? 

封装微信是因为2015年1月,微信正式推出JSSDK,这对开发者来说是个非常利好的消息。因为自己以前是NET后端,就用C#写了两套微信分享源码自己用。

后来的PHP也是一个偶然,因老板说要上电商,而大型电商一般都是用PHP,所以我就花了两周时间学完了PHP,又用PHP写一套微信分享的源码,这都是前奏。

我之前用白鹭主要是做SPA微场景,写的东西不能自定义分享,因此我用白鹭整合了PHP微信分享,这样白鹭做的应用也可以利用微信来自定义分享。

因为群里人问的太多了,再加上论坛上的微信分享新版没有,索性就分享出来了,其实都是偶然发生的,如果能得到大家的认可,我也很荣幸。

6.据你与Egret开发者的交流经验,他们比较集中的困惑是哪些?你觉得目前Egret哪些方面能够做的更好?

目前白鹭发展的很快,布局了很多方向,期待还是更完善的工具流体系和稳定的、持续性服务体系,这样就可以帮到更多的开发者,获取更大的认可度。

这里我更期待青雀Lark的完善,它也是一套完整的移动应用解决方案,线上/线下开发+云端平台+数据接口,应该还能提供一些定制化的需求,可以参考或借鉴百度H5可视化页面制作工具和FRAMEWORK7的UI框架体系。

7.从最早的ASP建站到 FLASH地产项目、 H5的响应式与瀑布流网站、Egret的单页场景应用与内裤的简化封装,以及分享了白鹭微信与后端语言整合,现在又进入PHP领域,为什么要尝试这么多技术种类呢?一路走来,有什么收获?

其实我的发展历程也是公司的发展历程,最早是3P(asp/php/jsp)时代 ,当时选择ASP也是因为简单上手容易,可以让静态网页变成动态网页,可后台管理和维护,那是一个很古老的时代了。

FLASH地产项目,要求比较高,从量到质的提升,这跟3P没有可比性,地产要求就是包装与形象,所以广告公司,网络公司,营销公司都会跟地产开发商保持长期合作关系,也是当时地产行业最火,利润也最高,从形象展示来讲,FLASH的交互性是当时市面上最强的,没有之一。

H5响应式与瀑布流是后面出来的,就是一套代码适配多端,招人与维护成本降低,但是还是有弊端的,适应的场景要根据业务不同来选择组配方案,一般格子结构的都可以考虑响应式,瀑布流多用了个人主页(personal homepage)或微站(minisite)或者一些素材资源站等。

8.能否谈谈你对HTML5移动行业(游戏和应用等)的认识?觉得H5的前景怎么样?

H5游戏我接触的不多,但是H5应用已经相当普遍,应用市场非常大,再加上微信公众平台第三方的植入,更多浏览器厂商的植入,未来渠道和流水会更、更大、更广。

H5是一个不错的行业,有很多好的特点,非安装,即点即用,随着4G/5G发展,流量不成问题的时候;随着手机硬件的发展,性能不是瓶颈的时候,那是H5必然会成为主角。

H5在很多领域都有很好的发展,比如视频,教育,应用,游戏等都会有长期的优势,如降低人力成本,维护成本,适应多变的客户需求,扩展性更强,方便管理等。

9.作为一名技术老兵,对技术新人的成长,你有何建议?

未来应该是全栈工程师,不只通吃前后端还有项目经验,目前H5前端会是一个不错的岗位,但未来前端的压力也更大,要求会更高。

做为一个后端的程序员,我以后也会考虑转向前端开发或全栈开发,与更多的人分享交流经验。

对技术新人来讲,要补基本功,现在的武功秘集太多了。你要选好方向,然后执着坚持也可以闭关修炼,要系统的学习一门技术,不要只是一味的百度找码员,那就失去了程序员的方向。

技术只是生产力,要多磨练项目经验与团队合作方式,技术会不断更新和变更,但项目经验变化不大,主动参与项目,敢于承担责任,新人要给予试错的机会,但机会也是自己争取的,这都是双向互补原则,跟开源原则类似。

后面就是靠个人的努力,学会在学习中找方法,在工作中找办法,形成自己独有的工作能力,然后模块化,插件化,可扩展地适应公司的发展需求。

10.平时除了工作之外,你还有什么业余爱好?

平时也没有太多爱好,喜欢看科技和数码类文章,还喜欢骑车,听歌,打打羽毛球,写写诗。

在小编的软磨硬泡下,“白菜大师”终于答应展示了一篇近作,以供大家鉴赏。(PS:最后一句真的不是偶们要求加上的……)

《码》

抬头一片天,俯首白菜地,

拾起又丢下,默默两鬓白,

伸手沉思状,眼神逗迷离,

窗前无处寻,踪影瞬间无,

晴天雨霏霏,路人魂悚然,

键鼠齐张弩,双屏自由飞,

忙时未等闲,炫舞字飘然,

除却三身汉,不留一味香,

袅袅风捉影,亭亭欲沾湿,

风坡路上急,摇曵蜒飞雨,

肝胆相间照,乾坤大挪移,

风残雪映梅,枝花翠生柳,

茫茫千古事,断肠在天涯,

惜花万载舟,风雨共飘摇,

不吝自身黑,不啬外宇白,

共创一世情,同饮一界怀,

牵白鹭,共枕眠,码出新世界.