前端从小白到架构要知道的3点

1.前端的技术体系

前端代码运行在浏览器之上,并不和操做系统耦合,就像java运行在jvm同样,都是在平台之上,而平台是能够作移植和适配的。前端这些年的发展,总体能够分为两方面,平台之上的前端发展,和平台自己的发展。前端

前端代码的运行平台如今不仅限于pc端浏览器、移动端浏览器,也能够是app中的hybrid的页面,能够是node上的后端或者作工程化的代码,能够是electron作的桌面端,还能够是weex、rn等经过打包后运行在Android和ios上的原生应用,甚至是嵌入式的应用。这些都是基于js引擎和渲染引擎作封装和扩展而实现的前端代码的运行平台。vue

平台之上的前端发展包括js自己es六、es7的不断演进,包括vue、angular、react等的mvvm和组件化,由于有了虚拟dom而实现了平台无关。这些代码是能够运行在各类平台和环境的,对应的技术也更加的通用和核心。java

平台自己提供的api因环境的不一样而不一样,不须要过分深刻细节,只要对总体的思路和脉络有所掌握和理解,具体开发的时候能够定位到文档中对应的位置就能够了。而平台之上的前端核心技术,才是咱们的核心技能和竞争力,包括对js语言包括es六、es7等的熟练度,包括对vue、react、angular自己机制和基于这些机制封装组件的掌握等。node

这两部分代码(平台无关的代码和与具体平台耦合的代码)会经过架构来合理的有机的组合成一体,架构的基础也就是对这两部分的理解和掌握,这时候你也要学习一些设计模式或函数式等组织代码的思想,才能设计出易于理解和维护,易于迭代和扩展的优雅架构。react

前端这些年风起云涌、百花齐放,不能一锅端的所有学习,工做之余很难有那个精力,咱们主要要作的就是对核心部分的语言和框架还有架构更好地掌握,对平台的特性和能力还有机制有总体的理解就够了。新的库或框架分门别类的层次化的融入到你已有的知识体系中去。前端在变,认知体系的骨架不变。ios

2.面试和工做中的业务和技术

面试问两方面,一方面是你的项目经历,主要是其中的纯技术和一部分业务的技术方案。另外一方面就是技术自己了,包括语言的基础、逻辑能力、架构思想、对框架的掌握程度等,主要就是一些具体的代码和抽象的思想。es6

因此,不能过分关注业务,多关注技术自己,项目是一方面,技术自己的成长更重要。面试

若是能作一些沉淀会更好,若是有技术博客或者开源项目,面试成功率会增长,由于这些可以更全面的看到你的实力,光靠面试是不行的。并且作这些的过程当中也能理清思路,帮你更好的掌握,并且持久化也方面之后查看,这些是伴随你整个职业生涯的,与公司无关。后端

还有,看文档很重要,由于你全部的使用方式全部的业务代码的组织都与框架相关,你要优化也要对框架有全面掌握,最起码知道有什么东西。并且对框架了解以后,你也能区分出什么代码应该使用什么封装形式,好比dom操做的逻辑是应该放到组件里仍是封装成指令等。设计模式

固然,若是你到了管理层,业务的情况直接关系到你的kpi,这时候你就要把更多精力放在业务上了,之后你面leader岗也更可能是管理技巧和业务和一部分技术的考察。但前期仍是应该以提高技术,积累项目经验为主,其中项目经验就是用技术解决业务问题的方案的经验。

3.最重要的态度

最重要的是要主动的去思考和作事,而不是被动的接受需求和技术方案,被动的工做,被动工做的叫作码农。

要有本身的想法,不管是否成熟或正确,好比你要作产品的这个功能,你会怎么设计流程,你若是本身作ui,你会怎么设计,你若是作mvvm框架,你的思路是什么。主动的思考,用你的思路去整合接受到的信息,你就会造成本身的观点和见解,并且一旦有一些你验证后发现是正确的,那么你对它的掌握程度会很是高。

想法的表达有各类形式,聊天、文章、具体的代码等等,输出和表达的过程是理清思路、疏通细节以及把你的想法传递出去的过程,也颇有必要。

总之,主动思考和作事,不断输出和接受反馈,才能变得更有主见,对技术有更深刻的理解,慢慢也就会拥有话语权。

总结

前端从小白到架构须要接触和学习大量的知识,须要经历大量的项目实践,知识和技术方面须要体系化的去整理和扩展,才能在前端的发展洪流中游刃有余。对于项目经验要区分出那些是通用的技术,那些是用技术解决业务问题的方案,这些你的经验才真正的有价值且可复用。

若是说上面两点是术的话,主动的态度才是道。惟有主动的学习和思考,才能对技术有更加深刻的理解和掌握,也会更有主见,有鞭辟入里的观点,这种态度最终会让你造成上面所说的知识体系和对大量解决业务问题的技术方案。

有了体系化的前端技术和大量针对业务问题的技术方案的积累以后,你是作全局的架构,仍是作细节的底层实现,whatever,随你喜欢。

相关文章
相关标签/搜索