专访《Javascript设计模式与开发实践》作者曾探:爱编程 爱生活

发表于12小时前| 2742次阅读| 来源CSDN| 8 条评论| 作者夏梦竹

专访曾探图书作者Javascript前端开发
width="22" height="16" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2015-06-12%2F2824939-JavaScript&type=3&count=&appkey=&title=%E4%BB%96%E6%98%AF%E4%B8%80%E4%BD%8D%E5%9B%BE%E4%B9%A6%E4%BD%9C%E8%80%85%EF%BC%8C%E4%B9%9F%E6%98%AF%E4%B8%80%E5%90%8D%E5%81%A5%E8%BA%AB%E6%95%99%E7%BB%83%EF%BC%8C%E7%88%B1%E7%94%B5%E5%BD%B1%E3%80%81%E7%88%B1%E9%9F%B3%E4%B9%90%EF%BC%9B%E6%9C%AC%E6%9C%9F%E7%AC%94%E8%80%85%E9%87%87%E8%AE%BF%E7%9A%84%E5%98%89%E5%AE%BE%E6%98%AF%E5%9B%BD%E5%86%85%E7%9F%A5%E5%90%8D%E5%89%8D%E7%AB%AF%E5%9B%A2%E9%98%9F%E8%85%BE%E8%AE%AFAlloyTeam%E3%80%81%E9%AB%98%E7%BA%A7%E5%B7%A5%E7%A8%8B%E5%B8%88%E6%9B%BE%E6%8E%A2%EF%BC%8C%E8%AF%B7%E4%BB%96%E5%88%86%E4%BA%ABJavaScript%E5%BC%80%E5%8F%91%E7%BB%8F%E9%AA%8C%EF%BC%8C%E5%B9%B6%E5%B0%B1JavaScript%E3%80%81HTML5%E6%9C%AA%E6%9D%A5%E5%8F%91%E5%B1%95%E5%89%8D%E6%99%AF%E5%81%9A%E4%B8%80%E7%95%AA%E8%A7%A3%E8%AF%BB%E3%80%82&pic=&ralateUid=&language=zh_cn&rnd=1434372416247" frameborder="0" scrolling="no" allowtransparency="true">摘要:他是一位图书作者,也是一名健身教练,爱电影、爱音乐;本期笔者采访的嘉宾是国内知名前端团队腾讯AlloyTeam、高级工程师曾探,请他分享JavaScript开发经验,并就JavaScript、HTML5未来发展前景做一番解读。

他是《JavaScript设计模式与开发实践》的图书作者,也是一名健身教练,爱电影、爱音乐,本期笔者要采访的嘉宾是国内知名前端团队腾讯AlloyTeam、高级工程师曾探,请他分享JavaScript设计模式、技术实践经验,并就JavaScript、HTML5未来发展前景做一番解读。告别宅男程序员也有不一样的活法。

曾 探

CSDN:首先请介绍下自已、公司以及所负责的领域。

曾探:我叫曾探,目前在腾讯即通应用部AlloyTeam团队从事手机QQ周边业务的开发。

CSDN:市面上关于JavaScript的书籍有很多,为何你还会想到编写《JavaScript设计模式与开发实践》一书?这本书的思路是怎样的?对读者而言如何学习这本书,您有哪些建议呢?

曾探:目前市面上确实有许多关于JavaScript的书籍。但一方面,我本身非职业作者,也不靠稿费生活,所以市面上有多少JavaScript的书籍其实跟我自己的关系不大,我的任务就是把书本身尽量写好。另一方面,市面上跟JavaScript设计模式有关的书比较少,目前的2本都还有一些缺点,所以希望我的这本书能起到一些互补的作用。

其实我写这本书的初衷是介绍一些平时日常开发中总结的技巧,但又不想写成如同《JavaScript开发100招》这样的主题,所以正好就借设计模式这条线把这些技巧给输出来。对于这本书的阅读方式,其实没有特别的建议。因为书本身还是以非常简单易懂的方式来写的,从第一页开始,或者是某一页开始都可以,应该不会有太多障碍。

CSDN:许多优秀的JavaScript开源框架都运用了设计模式,适合程序员常用的设计模式有哪些?

曾探:这些设计模式既然被前人总结出来,说明都是经过了大量项目和实战验证的。没有说哪些设计模式适合程序员,而另外一个设计模式不合适程序员,都是要看具体的场景来决定。

不过作为JavaScript开发者,接触过最多的设计模式应该至少有观察者(发布-订阅)模式、代理模式、单例模式、装饰者模式、状态模式等等。

CSDN:JavaScript有很多框架和库,如何在众多资源中建立属于自己的技术栈?

曾探:我们大多数人主要都在从事上层业务开发,拿公司的工资,给公司做需求(当然如果有公司愿意让你从事计算机科学研究,那也非常好)。 所以我们使用的大部分框架和库,首先是跟业务需求密切相关的,在业务开发的过程中,去使用和熟悉或是改进某个框架,都是非常好的学习机会。

把所有想学的技术列出一个清单,然后一样一样去学, 这是很难有机会全部实现的。在工作的业余,如果有时间,我们可以挑选一些最想学,或者是近期最需要的技术进行学习。当然,我们最需要的其实不是自己的技术栈里有多少东西,而是培养学习能力,随时可以把新东西放进自己的技术栈。

CSDN:现如今JavaScript越来越火,你认为同构JavaScript是Web的未来吗?

曾探:JavaScript这门当初不怎么起眼的语言,已经成了世界上最流行的语言之一。除了浏览器开发,我们也用Node.js做了许多有趣的东西。在腾讯内部,已经有许多业务的服务端语言使用的就是Node.js。当然,我们现在说同构JavaScript就是Web的未来还为时甚早。就像当初很难想象JavaScript会成为世界上最流行的语言,也预测不了诺基亚在短短几年从兴盛到衰败。不过这对于前端工程师来讲,是一个非常值得想象和期待的事情,需要我们大家一起努力。

CSDN:HTML5版街头霸王是你主导开发的吗?你认为HTML5目前已达到成熟阶段了吗?你怎么看待HTML5的发展前景?它会成为移动互联网的未来吗?

曾探:《HTML5版街头霸王》是我2012年写的一个业余项目(点击这里访问),当时是当作学习canvas的一个练手项目,虽然整体还不错,但也有一些没有实现完美的地方,比如游戏中的图片是从网上找的,有些图片有大小不一样的透明边,当时为了省事,没有去掉这些透明边,就把图片的大小当成了人物的大小来使用,所以碰撞检测看起来有时候会有些小小的问题。

HTML5应该说还远没达到成熟的阶段,HTML5的概念虽然已经出来了很多年,但真正标准在2014年10月才发布。HTML5的发展前景还是值得期待,不过现在说他是移动互联网的未来确实还太早,毕竟现在用HTML5做的移动端页面,不管是性能还是体验,都跟Native相差比较大,特别是一些复杂的项目和游戏,HTML5还远远达不到Native的效果。不过事情总是在发展,期待HMTL5越来越好。

CSDN:拜移动大潮所赐,你认为前端工程师将面临什么样的机会和挑战?

曾探:就我个人而言,除了上班时间已经很少打开电脑了。原先用PC能做的事情,现在手机几乎全部可以完成,可以预见这个趋势在将来还会更加明显。在这种情况下,原先在PC上开发的前端工程师很多都转向了移动Web开发。包括AlloyTeam也是这样,现在绝大部分时间都在做移动端开发。对于前端工程师来说,可能要学习一些新的知识,这不是坏事也不难,程序员应该保持学习的心态。 不管是PC开发还是移动开发,我们都在用相同的方式来改变人们的生活。

CSDN:给前端开发的开发者分享下您的经验吧。

曾探:其实我自己只能算一个普普通通的前端开发者,不算聪明也算不上特别努力,我本人的经验和经历也很平凡。不过我相信不管是前端开发者,还是后台、终端开发。最重要的是有一颗保持学习的热情,会喜欢这个职业,而不仅仅是为了一份糊口的工作。在工作中认真完成业务需求,从中学到必需的技能。业余时间里可以买一些经典的书籍来整理和总结自己的知识库,有时间的话可以参与一些开源项目,有个自己的技术blog,可以有一些工作之外的爱好,但别在类似技术QQ群之类的地方浪费太多的时间。提高不是一天两天的事情,但时间久了便会水到渠成。

CSDN:很多人认为,IT男是宅男,不懂得享受生活,而你却不同,你喜欢电影和音乐,还是一名健身教练,你是如何做到的?你平时一天的工作状态是怎样的。

曾探:我也认识许多非常有才的程序员,程序员是一个相当聪明的群体,聪明的人能做好许多事情,而不是仅仅写代码。我一直觉得工作和生活是不矛盾的,工作无论如何也只是生活的一部分。程序员的职业特点注定了对健康的损害比较大,在25岁往后人的器官开始不可逆转的老化之后,久坐和不运动带来的危害更大。所以程序员更要有意识地多运动,至少运动会给你一个跳动更强烈的心脏,可以背女朋友越过某个路上的小水沟。当然,加班赶项目的时候也比别人抗得久。

对我自己而言,一周大概会去3-4次健身房,踢一次足球或者游泳。当然也会遇到很多有其他事情的时候,不管怎样,一周抽出5个小时来锻炼肯定是没有问题的。

现在我工作的大多数时间都在做一些公用的工具,或是能提高大家开发调试效率的东西,还帮忙参与一部分团队管理的工作。晚上下班之后一般会去健身房待上一个小时。有时候也像刚毕业时候一样加班,总体在说,在Alloyteam工作是一件非常开心的事情。

作者简介:曾探,国内知名前端团队腾讯AlloyTeam,高级工程师;《JavaScript设计模式与开发实践》一书作者。曾参与Web QQ、QQ群、Q+开发者网站、微云、QQ兴趣部落等大型前端项目的开发。有过Java、Python和JavaScript的开发经验,业余作品有HTML5版街头霸王等。 平时喜欢电影和音乐,业余时间也是一名健身教练。

专访《Javascript设计模式与开发实践》作者曾探:爱编程 爱生活相关推荐

  1. JS代理模式《JavaScript设计模式与开发实践》阅读笔记

    代理模式 代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问. 保护代理和虚拟代理 保护代理:当有许多需求要向某对象发出一些请求时,可以设置保护代理,通过一些条件判断对请求进行过滤. 虚拟 ...

  2. 《JavaScript设计模式与开发实践》阅读摘要

    <JavaScript设计模式与开发实践>作者:曾探 系统的介绍了各种模式,以及js中的实现.应用,以及超大量高质量代码,绝对值得一读 面向对象的js 静态类型:编译时便已确定变量的类型 ...

  3. JavaScript设计模式与开发实践系列之单例模式

    本系列为<JavaScript设计模式与开发实践>(作者:曾探)学习总结,如想深入了解,请支持作者原版 单例模式 实现单例模式 单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的 ...

  4. 《JavaScript设计模式与开发实践》模式篇(12)—— 装饰者模式

    在传统的面向对象语言中,给对象添加功能常常使用继承的方式,但是继承的方式并不灵活, 还会带来许多问题:一方面会导致超类和子类之间存在强耦合性,当超类改变时,子类也会随之 改变;另一方面,继承这种功能复 ...

  5. JavaScript设计模式与开发实践——JavaScript的多态

    "多态"一词源于希腊文polymorphism,拆开来看是poly(复数)+ morph(形态)+ ism,从字面上我们可以理解为复数形态. 多态的实际含义是:同一操作作用于不同的 ...

  6. 《JavaScript设计模式与开发实践》模式篇(5)—— 观察者模式

    发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状 态发生改变时,所有依赖于它的对象都将得到通知.在 JavaScript 开发中,我们一般用事件模型 来替代传统的发布- ...

  7. 《JavaScript设计模式与开发实践》模式篇(3)—— 代理模式

    代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问 故事背景: 假设当 A 在心情好的时候收到花,小明表白成功的几率有 60%,而当 A 在心情差的时候收到花,小明表白的成功率无限趋近于 ...

  8. JavaScript设计模式与开发实践 | 02 - this、call和apply

    this JavaScript的this总是指向一个对象,至于指向哪个对象,是在运行时基于函数的执行环境的动态绑定的,而非函数被声明时的环境. this的指向 this的指向大致可以分为以下4类: 作 ...

  9. 《JavaScript设计模式与开发实践》原则篇(3)—— 开放-封闭原则

    在面向对象的程序设计中,开放封闭原则(OCP)是最重要的一条原则.很多时候,一个程序具有良好的设计,往往说明它是符合开放封闭原则的. 当需要改变一个程序的功能或者给这个程序增加新功能的时候,可以使用增 ...

最新文章

  1. PTA 基础编程题目集 7-18 二分法求多项式单根 C语言
  2. Mac iterm2 终端优化
  3. for..in..遍历循环的简写模式
  4. python安装caffe_Linux下caffe的安装
  5. 线性代数、概率 入门书籍推荐
  6. Golang语言slice实现原理及使用方法
  7. Java普通工程转换成标准的maven工程
  8. 如何对报表的参数控件赋值
  9. Windows 启动方式总结(转)
  10. 微型计算机键盘ins代表,微型计算机技术69124.ppt
  11. 微信公众号网页授权步骤过程
  12. Directx11教程(58) 鼠标控制摄像机
  13. 听说根域名大部分在美国,美国能让中国从网络上消失?
  14. 【ROM制作工具】合并分割system.img和userdata.img文件修改教程
  15. ARM64+树莓派4b+JLINK仿真器实验环境搭建指南
  16. 记录一次Excel表格的误删恢复操作,WPS版
  17. PointNet学习笔记(一)—— 论文
  18. 【React】1128- 如何在 React 组件中优雅的实现依赖注入
  19. Python实现对哈利波特小说单词统计
  20. 数据上传虚拟服务器,如何上传数据到虚拟主机

热门文章

  1. html如何添加关闭按钮,大神你好,请问怎么在以下代码的div中添加一个关闭按钮?...
  2. accessors 作用_lombok @Accessors用法详解(一看就能就懂)
  3. 求水仙花数 以及 最大公约数最小公倍数 以及 冒泡法 以及字母大小写的转换 以及简单选择排序法 以及斐波那契数列
  4. 访问其他程序中的数据(ContentResolver的CRUD操作)
  5. 全球变暖java_全球变暖 蓝桥杯
  6. cmake之 ADD_LIBRARY()
  7. Python @函数装饰器用法
  8. sql IFNULL
  9. Leetcode 74. 搜索二维矩阵 (每日一题 20210907)
  10. 重温强化学习之无模型学习方法:TD(lambda)