QCon琐记

上周有机会参加了一天半的QCon,虽然感觉QCon越来越水,但是还是有些收获的,这里简单记录下来

Nodejs

其实,这次QCon没有nodejs的主题[汗]…,正因为没有,反而说明nodejs的热度已经过去了。

曾经火了两年,现在,曾经感兴趣的都已经体验过了,估计和我感受一样,nodejs不过是前端工程师偶尔玩玩后端的玩具,真正适合用nodejs的项目并不多。

而从前端js迁移到后端nodejs的学习成本,并不亚于从0开始学php这类简单脚本语言!

除了学习成本高,nodejs其他两个让人不爽的地方:

  1. 异步,导致代码回调嵌套太深,而后来给出的解决方案又太麻烦,可操作性不强
  2. npm库太乱,很多工具包更新不及时

而所谓统一前后端语言,个人觉得也完全没有必要:分开前后端,让开发者更清楚Http的界限在哪儿 ,哪些是跑在你服务器里的,哪些将运行在用户浏览器里。前后端的工作方式差别太大,所以了解这些,对开发者很重要

不过瑕不掩瑜,碰到需要webscoket的地方,nodejs还是很有优势的,去年年初做的一个nodejs小项目现在跑的还很平稳

全栈开发

所谓“全栈开发”,现在还没有统一的定义,大部分人得理解,就是一个人可以解决前后端的所有开发,至于说还要解决UI、测试,甚至还要自己扛机器,那就纯粹扯淡了

全栈到底是好还是不好,个人觉得视实际的公司、项目而定,如果是有很多业务的新公司,总是会有各种探索性的小项目,那么全栈工程师的优势明显:机动灵活,节约人力成本。

反之,如果是已经成体系的“大”项目,那么还是将前后端分开的好,这样即便于维护、也可以让各端做的更精。

因为人的精力有限,能做到“全栈”,就意味着都不会太专业。

小之美好

这是一个妹子讲自己所做的公共插件的主题,大意是,将功能庞大的服务项目,解体成一个个单独功能的小服务,其实这也是近几年软件工程的主要方向

将一个个小服务做好、做精,各个小服务都可以单独修改、单独上线,这样就能更加机动灵活、提升开发效率,降低维护成本

创业团队

开发人员如何创业,或者说技术如何参与到创业团队中,由于本人刚刚参加过一个创业团队,所以对相关的一个讲座深有感触

讲座提到一个4个人的创业团队,一个前端,三个后端,前端除了负责前端开发,还要负责交互和视觉;后端除了负责后端开发,还要负责产品功能。这样的一个团队,做出来的产品,并不亚于有很多产品大牛主持的东西

这里并不是说要干掉产品经理,而是尽量让技术也能参与到产品的设计中

如何让技术可以全身心的投入到开发中,最简单的办法不是拼命压缩项目周期,而是让技术本身觉得是在做自己的项目,所谓“将士用命 士子用心 文不贪财 武不怕死”,这样不仅开发效率更高,开发质量也会比仅停留在“简单做事”层面高的多

水电工

这个不是QCon的主题,纯粹是自己的一点心得

虽然我自己经常自嘲开发工作就像建筑工人,但二者还是有本质差别的:一个房子,必然是一砖一瓦建起来的,但是一个项目,却不一定真的需要一个字符一个字符的敲到电脑上~~

如果非要做个类比,开发者更像装修中水电工。水电工布设的各种管线,最终会被瓷砖、墙漆盖上。专业,或者说有良心的水电工会按照规程去布设管线,即使它们后来被盖上了,再来一个水电工要修改线路的时候,或者说其他人需要在墙上做打孔操作的时候,只要看到线路的入口和出口,按照一般的规律,就可以轻易的判断出线路的走向

更有甚者,在你之前,比如房子建设阶段就已经埋设了一些管线。如果一个水电工发现了这些基础设施,并且能够正确使用它们,就可以大大节省业主的成本

而专业的开发者正是需要这样的匠人精神:不见得什么东西都要自己从0做;自己做出的东西,也是对后续开发者友好的

轻应用

两、三年前,就在大家都忙着做所谓移动端“web app”的时候,却苦于找不到优秀的“母体”

使用普通手机浏览器?手机端浏览器种类比pc端更乱,兼容起来太难,而且不仅入口需要用户输入url,还需要注册之类的流程,用户入门门槛有点高

自己做app?自己能做app,干嘛还要搞体验要差一些的“web app”?

就在这时,微信公众平台很空出世,消息/扫码解决了入口问题,oauth解决了注册/登录问题,新出的jssdk,还可以实现很多普通web页无法实现的功能

可以预计,未来两年,基于微信的轻应用、小游戏会越来越多、越来越火

 

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

*