【科技】ThoughtWorks黄峰达:利用横向扩展方法,快速学习前端新框架
本篇文章3247字,读完约8分钟
黄峰达,thoughtworks软件开发工程师从小就接触软件编程,现在集中在物品的互联网、前端开发行业。 我喜欢写技术文案,分享研发成果,长时间活跃在csdn、segmentfault、github等网站上。 现在,支持前端进步的项目( github/artisanstack )已经开始,欢迎参观。
在这次采访中,黄峰达介绍了他在前端开发行业的学习经验和做法的妙招。 他是前端入门简单、精通越来越困难、竞争越来越激烈的行业,前端开发人员除了必须了解前端知识外,还必须了解后端技术,代码清洁,测试前端开发人员实现高度重要的技能
csdn :请先做一下自我介绍。
黄峰达:你好,我叫黄峰达。 毕业于西安文理学院电子新闻工程专业,现就职于thoughtworks软件企业。 我是从小学开始编程( logo语言)的程序员,很有趣。 现在重点是物品的互联网、前端的开发。 在csdn、segmentfault长时间活跃,写技术文案,刷github。
csdn :你什么时候开始投资前端开发行业的? 背后有什么故事?
黄峰达:大一时认识朋友,在后来的大学期间,我们经常搭档过一点私生活,做网站。 一到暑假,我就给几家互联网企业投了简历,获得了关于前端的实习机会。 大二点,我们开始租linux服务器,做了一点web应用程序,正式踏上了我们的旅程。 因为自己有一点美术基础,能做设计和页面实现的工作,所以开始了尖端的工作。 之后,开始关注node.js,衷心感受到尖端技术如百花一般,深入技术基础。
csdn :你是如何积极参与前端技术的快速发展的? 有无相关演讲、书籍、博文、社区活动等。
黄峰达:说到贡献,还没有呢。 也就是说,在github上写一点demo,结合博客输出,比如写前端测试、开发的副本,在一点社区写新框架的入门知识。 除此之外,已经启动了一个旨在帮助前端进步的项目( github/artisanstack )。 这个项目的目的是寻找代码写得不干净的前端项目,添加测试并重建。 通过重复项目练习来提高js的代码水平。 前端技术近年来发展迅速,但许多开发者没有与之相应的项目能力。
csdn :你关注前端技术吗? 我通常通过那些渠道获得前端技术的相关情况第一。
黄峰达:现在我关注的前端技术是dsl、es6 proxy、hybird的应用。 对dsl来说,我可能关注的是抽象行业相关代码,而不是dsl本身。 前端框架层出不穷,第二是需要每几年重建一次系统。 javascript通过独特的灵活性+函数编程,实现内部dsl变得比较简单,在实现外部dsl方面有很多参考例子。 如果我们的行业层和基层紧密结合,我们使用新技术的可能性就很小。 es6有很多新的特征,眼前一亮就是proxy,这种语言从此就有了元编程的特征。 ionic把层封装在cordova中,使开发更快,更多的企业开始使用ionic框架开发hybird应用程序。
关于尖端技术的相关情况的来源,可能会有点失望,但毕竟新技术会层出不穷。 几年前开始backbone的流行意味着技术的革新是基于原来的技术。 好好学习osgi和nlp等后端知识,把这些知识拿到前端去试用。 但是恐怕有三种来源: thoughtworks技术雷达、企业邮件和github。 企业邮件将不方便讨论。 通常是一点项目的release,附带一点技术堆栈。 在github上一般有点趋势等,但不实用。
在thoughtworks技术雷达中,如果某个框架是被判断的状态,很大程度上意味着该框架被企业某个项目采用。 如果一个框架处于试验状态,可能会证明这个框架被多个项目采用。 例如,目前的hybird框架ionic在雷达上的试验状态,以及react.js去年在多个项目中采用。 总结起来,技术雷达的技术比国内大型企业的试用快半年左右。
cdn :你能谈谈今天的成果,自己的一点学习方法或者很棒的方法吗?
黄峰达:对前端开发者来说,很多以前传来的cs课程有意弱化了这方面的知识,大部分前端知识只能从网上的副本中获得。
学习新框架时,我的习性是以横向扩展的方法学习的。 也就是说,基于原来同一个行业内的知识。 刚开始接触react时,根据原始backbone的项目费用更换view层,将新的技术堆栈重新用于新项目。 优点是这在某种程度上降低了学习的难度,学习速度比较快,缺点依赖于原来的知识储备。
要深入理解代码的原理,请从第一个commit中查看代码,然后隔开间隔查看release。 这比任何文件都清楚,在制造新车轮时有更明确的设想。
csdn :你现在在哪个企业工作? 你的企业在开发时首先采用那些前端技术吗? 前端技术体系结构是什么样的?
黄峰达:在thoughtworks担任软件开发工程师。 企业开发使用的尖端技术是五花八门,谈谈我们的项目吧。 现在我们的项目有移动网站,有使用requirejs管理依赖关系、前台backbone、后台提供api前后的分离框架。 在测试中,jasmine完成了单元格测试,并将selenium用作项目的功能测试。
csdn :现在企业打算采用有点受欢迎的/新的前端技术吗? 企业尝试这些技术的理由是什么? 通过你的研究你认为这些技术的优缺点是什么?
黄峰达:因为我们在一个小项目中使用了微服务结构,这意味着框架和语言对我们业务的限制微乎其微。 换句话说,使用新框架没有以前那么难。 最近,我打算在项目中采用react和响应性设计,将现在的桌面版和移动版集成,使用react native构建app。 我觉得我们很有趣。 我们可以试着一次构建我们的应用程序。 react担心的是代码紧密结合。 在集成过程中,代码逻辑变得多而复杂,难以维护。
csdn :目前前端的新技术正在发展。 你认为前端开发人员/企业应该如何选择新的前端技术?
黄峰达:现在的前端有太多可选的技术堆栈,如backbone、react、angluar和vue。 个人认为,除非出现react引入virtual dom这样的新概念框架,否则很难引起我的有趣之处。 毕竟,一项技术在原有技术的基础上迅速发展,决不会凭空出现新技术。 对前端开发者来说,光靠学习,与学习相似的框架只是在浪费时间。 对企业来说这是很大的好处,毕竟对今后来说迁移价格比较低。
在进行技术选定时,现阶段需要首先考虑选择客户端渲染还是服务端渲染。 使用服务终端渲染时,尝试使用微服务体系结构非常重要。 这减少了代码的结合。 在客户端渲染中,前后端本身是分离的,没有这样的问题。
csdn :你认为优秀的前端开发者需要具备那些技能吗? 我应该如何提高自己的前端技能?
黄峰达:我认为代码的清洁、测试是重要的基本技能。 毕竟,对于普通的尖端开发者来说,完成工作已经不是什么难事了。 但是,因为代码写得不正确,所以很容易看到长函数和magic number等坏味道的代码,结果是这样的代码变得很难读,越来越需要调试。 测试本身就是艺术,如果每个测试用例只能测试一个功能,你会发现代码更容易阅读。 不仅可以在这个过程中删除一点无用的代码,之后我们有信心重建代码。
除此之外还有模式,无论是面向对象还是函数编程都存在模式。 模式在某种程度上是更高级的抽象化,在面向对象方面有很多设计模式和设计,在函数编程中也是如此。
csdn :请分析前端开发者未来职业的快速发展前景。
黄峰达:作为从前端人到全栈的程序员,我经常看到前端的开发者。 通过web本身强大的跨平台功能,可以开发hybird应用程序。 此外,javascript作为后端服务的特征,前端开发人员不限于前端开发。 换句话说,在这个年代你可以用javascript做以前不同行业的人做的事。 不久的将来,repo只有一个就可以运行run everywhere。
但是,入门越简单但越熟悉困难的行业,竞争就越激烈。 (折笼:陈秋歌)
标题:【科技】ThoughtWorks黄峰达:利用横向扩展方法,快速学习前端新框架
地址:http://www.greenichiban.com/news/19903.html
免责声明:国际科技时报是中国具有影响力的科技媒体,以全球视角,第一时间呈现最新科技资讯。所著的内容转载自互联网,本站不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2031@163.com,国际科技时报的作者:何鸿宝将予以删除。