专访魏子钧:喧嚣后的HTML5和JavaScript将长存
魏子钧简介:专注于Web应用开发,HTML5技术研究,以及基于HTML5的移动游戏引擎开发,关注移动互联网领域的动态。熟练掌握流行Web开发技术,精通JavaScript语言。从事过五年Java相关的开发工作,熟悉Java、J2EE应用开发,有PHP、Python开发经验。05年毕业于大连的辽宁师范大学,毕业后直接进入了大连东软。曾就职于上海普元信息、惠普中国、盛大创新院。现已离职,打算投入到创业大军当中。
计算机初体验
CSDN:你何时开始接触计算机,又是如何走上程序员这条道路的?
魏子钧:我第一次接触计算机是在小学四年级的寒假,报名参加了当地一所大学办的面向小学生计算机学习班。现在回想起来,自己蛮幸运的,因为那个学习班里的老师真的很认真很用心,课程安排的也很有价值。当时很多社会上的计算机培训班无非是教打字、教CCED、WPS一类的基础。但是,我参加的这个学习班把编程作为重点,当时在那里学习了GWBASIC、DBASE和FoxBase。初次接触到编程我就爱上了它,虽然当时还没有“长大了一定要做个程序员”这样的想法。但是,我想那时候对编程的这份最初的热爱,是我走上程序员这条路的一个最主要的诱因吧。
CSDN:谈谈你是如何不断提高自己编程技术的?
魏子钧:其实我一直不觉得自己编程技术有多高,尤其是随着交际圈子的扩大,接触到越来越多的牛人后,我只能说自己只是在编程的某些方面熟练一点、知道的比某些刚入行的同学多一点,仅此而已。一下是我总结的5点学习经验:
1. 多动手实践,业余时间多写一些小东西。
2. 多学习开源项目的源码
3. 要学习某技术时,一定要去阅读一本相关的权威书籍。“有互联网了,什么都能搜到,不需要去看书了”这种观点千万要不得。
4. 不仅要低头钻研技术,也要主动的多与外界交流,无论是什么领域什么层次的人,总是能教会我们一些有益的知识的。
5. 多把自己写的东西展现给别人看,敢于暴露自己的不足。
CSDN:你 在学习HTML5、JavaScrpit的过程中,有什么故事可以分享?你最喜欢的编程语言、编辑器和工具有哪些?
魏子钧:我走上前端这条路也算是一种机缘巧合。念大学的时候,用FrontPage、DreamWeaver做过一些网页,同时自学了ASP和php。由于接触计算机比较早,可能在某些方面还是有一些优势,所以后来有幸参与到学校论坛和网站的建设,接触到了很多后端和前端的知识。毕业后进了东软电信事业部,当时正好处在企业软件从C/S架构转型到B/S架构的大潮中,而很多传统软件开发公司前端人才储备并不是很足,所以我用自己在大学里接触到的那些前端知识,为公司做了一些事情,从此慢慢的走上了前端路线。但是那时候做事情,基本上是按模块划分,所以我自己也有幸参与到从数据库,到J2EE服务端,再到前端的所有开发工作,这对我后来的成长起到了很关键的作用。尤其是如今node.js火爆之后,突然觉得自己以前学到的很多知识又有了用武之地。
前端开发工具原本就不是很多,无非是各种编辑器,每个人都有自己的所爱,我就说一说我常用的编辑器:Mac——Sublime Text 2,Windows——Notepad++ 。对于前端来说,各种浏览器以及浏览器的调试工具自然也是必不可少的。现在还会偶尔写写Java,所以Eclipse还是离不开的。
HTML的未来
CSDN:你怎么看HTML5、JavaScript的发展?HTML5会成功替代Flash吗?
魏子钧:我觉得 HTML5和JavaScript在度过现阶段的喧嚣和热闹之后,未来会如同C语言一样,变成一种长久存在的经典的技术。即使它本身的版本会不断的演变下去,会不断有新的争议产生,但是只要Web标准不死,HTML和JavaScript一定能成为软件开发中的一种常规武器,被广泛的应用。
关于HTML5和Flash的问题争论很久了,我的观点始终不变。
1. HTML5就是有很多地方不如Flash。
2. 两者在有些领域有竞争,那么这时候选择谁,不取决于两者本身,而取决于研发团队的技术实力和目标用户的需求。
3. 两者在很多场合是不冲突的,可以各自走好自己的路,甚至是协同作战。
4. 最后,谁也无法取代谁,因为他们不是为了取代对方而存在的。即使有一天Flash真的被替代了,那么它也绝对不是被HTML5杀死的。
CSDN:越来越多人使用HTML5和JavaScript,你认为Web应用会取代本地应用么?你自己怎么看待本地和Web应用两者之间各自的优势?
魏子钧:Web技术和Native技术不冲突,而且他们之间合作的意义更大,因为Web和Native之间的差异更大,而且很多差异是会长久存在的。 本地应用功能强大、性能高,Web应用简约不简单,灵活易上手、跨平台易分发,两者有着诸多方面的互补。
我觉得未来会有越来越多的应用采用混合架构,应用UI,或者基于网络的远程页面等模块用Web技术实现,对设备底层操作或者是高性能的操作用Native实现,充分发挥两者的优点。
CSDN:你认为Node.js的流行对Web前端开发会有什么影响?
魏子钧:我觉得Node.js对于Web前端开发的影响主要是,让前端工程师有了一个扩展自己知识体系的快捷的桥梁。大多数前端工程师其实也是渴望了解和熟悉后端的开发,但是一些人没有时间和精力去学习Java、.NET、Python、Ruby等。而Node.js的出现,可以大大缩短学习的成本,让前端工程师可以更快捷的去一窥服务器端的神秘。即使依然做不了专业的服务器端工程师,了解后端的相关的知识对前端工程师意义巨大。
对于希望借助Node.js来提升自己价值的前端工程师一定要记住一点:Node.js并不能保证让一位优秀的前端工程师变成合格的Server端工程师。Server端也没有什么东西是其他技术难以实现(只能靠Node来实现)的。所以对Node.js不可盲目迷信,结合团队成员技术结构(是否有足够能力驾驭Node)以及项目的实际情况来选择。
CSDN:你认为前端技术在移动开发领域有哪些独特之处?
魏子钧:我觉得对于用户而言,没什么独特的,很多Web技术的优良特性是用户不关心也难以感知的。但是对于有些研发团队而言,Web技术相对低廉的跨平台移植成本确实是蛮有吸引力的,当然有吸引力的不止这一点(这个话题牵涉到Web技术的优劣分析)。同时,市场上Web研发人员储备相对充足(和iOS等技术人才相比),这对于某些团队来说也算是一个好消息。
CSDN:对于Web开发的未来,你觉得那些技术最值得开发者关注,或者需要开发者掌握?对于希望学习Web开发的初学者,你有什么建议?
魏子钧:在未来很长一段内,所谓Web前端技术本质上肯定还是HTML+CSS+JavaScript。这里面最重要的我觉得还是JS。JS掌握好了, 未来即使再出来HTML 6 7 8 ...,我相信也能快速掌握。因为HTML新的版本无非带来一些新的API、 新的标签、新的CSS属性,这些东西的学习成本相对而言还是很低的。
而且虽然浏览器兼容问题会长久的存在下去,但是事实上浏览器彼此之间在代码兼容性上的问题越来越小了。所以过去耗费前端工程师大量精力的”跨浏览器兼容问题“在未来成本会很低,而“ 如何运用JS来操控HTML+CSS,以满足日趋复杂的业务需求和高质量的用户体 验”将成为重中之重。
对于初学者的建议简单来说就是三个字“不轻视”。首先,不要觉得Web技术学起来很简单。单独来看HTML、CSS、JS似乎都不难,学习每一样的成本看起来都不高。但是三者的融合还是需要耗费大量的精力去学习的,而且“灵活、好玩、应用广泛但却有硬伤的JS”本身也没有看起来那么容易驾驭。其次,不要觉得Web技术能做的事情很简单。很多没有从事过Web开发的人,一直觉得前端开发就是做网页、切图,在校学生用DreamWeaver也能做的很好。这种说法是完全错误的,我相信随着整个行业的发展,大家会慢慢意识到前端技术的意义和价值。
CSDN和ITeye记录的成长
CSDN:你在学习或工作中,是怎么接触到CSDN和ITeye的?社区对你的工作和学习有什么影响?
魏子钧:我和很多人一样,在学校时就经常上CSDN的论坛,在那里得到过很多朋友的帮助。后来知道JavaEye(现在的ITeye)则是通过搜索引擎。真正成为ITeye重度用户则是从它开办博客开始。说到ITeye对我的帮助,主要有三方面:一是确实学习到了很多知识,解决了很多问题。二是认识了很多朋友。三是在ITeye上,我通过分享自己的一些东西,也收获了一些知名度。虽然所谓知名度只是一种虚名,但是必须承认,这对我的人生起到了很大的积极作用。 我确实非常感谢ITeye这个平台。
在常混ITeye的时候,确实发生过很多好玩的事情,有些甚至是不堪回首。例如,我在ITeye上还发表过挺IE6的幼稚言论,或者是发表过一些那时候自以为不错,但现在看起来很丢人的东西。但不管怎样,那些都记录了我的成长,我不后悔有这些回忆留在那里。
CSDN:你对CSDN有什么建议?
魏子钧:随着互联网的发展,人们学习、分享、沉淀知识的方式和渠道非常之多,BBS、论坛、门户、博客、WIKI、搜索引擎、SNS网络等。在这种情况下,经营一个技术社区变得异常困难。在这方面我也没什么心得体会,也难以给出什么好的建议,我就简单说说我的期待吧。希望未来CSDN能够发挥更强大的整合能力,去与各个垂直领域的优秀社区或团体合作,让CSDN成为够广度也有深度的平台。