# 如何学习前端

# 前端开发现状

  • 入门简单、深入困难
  • 知识多而杂
  • 技术更新速度快
  • 业务场景复杂
  • 开发需求迭代快
  • 技术体系欠缺
  • 学不动了
  • 岗位缺好的前端

# 前端的发展

PC -> H5 -> APP -> Hybird -> 微信公众号、小程序 -> VR、智能设备。

从PC到移动,再到智能终端,从最早的table,到div+css,再到原生JS+jQuery,再到vue、reactjs,及各大平台的小程序,再到目前的低代码,智能化等,再加上全栈的发展方向,都在应用前端技术。

# 前端人才招聘难

  • 前端应用领域广,岗位需求多
  • 前端人才非常缺少,特别是技术能力强,项目经验丰富的
  • 目前中小型企业对前端开发技术要求低,以往的项目经验,不太能满足中大型企业的技术要求
  • 前端开发主力军年轻化,项目经验偏少,缺少学习方向和方法
  • 技术能力停滞不前,处于所谓的“瓶颈期”

# 学习路线

核心是不断学习和夯实技术能力,不给自己设限,持续加强深度和广度的实践。

首先需要了解技术体系,明确目标方向。

前端开发技术体系

需要抓住工作中核心需求技能,加强实践,深入了解核心技术底层原理,主动了解周边技术的实质或特性,不断迭代,积累和丰富开发经验至关重要。这是一个持续且有效的学习过程。

重点就是围绕工作中的业务进行深入了解。

其次要明确自己的定位。阶段包括初中高级、专家、架构师。

由不知-->了解-->熟悉-->精通-->创新,从广度到深度,不断积累经验,从而由量变达到质变,到成为领域的专家。这是一个循序渐进积累的过程,需要不断强化,夯实能力和经验。

前端的成长过程大致如下:

前端成长过程

成长的过程中,不要设限,不要自我怀疑,要戒骄戒躁,日拱一卒。对自己的代码要有追求,持之以恒。

在不同阶段,不断认清自我,突破自我。深入理解在工作中所用的技术,多进行经验总结,在团队内多进行沟通交流和分享,定有很多收获和成长。

一个人的能力是有限的,学会利用周边资源,不断相互学习,从技术广度,到技术深度,再到开发过程中的软技能,结合业务和团队,积极付出行动,加强实践,不断提升项目承担能力。

不管前端技术未来如何发展,不管自己的年龄有多大,只要深入掌握专业技能,积极的心态应对新技术,都会成为一名优秀的前端开发者。

特别是年龄越大,实战经验越丰富,技术能力也越强,也就自然打破所谓程序员的“35岁”的魔咒。

# 技术转管理

首先一个企业中管理岗位有限。另外,作为技术管理者,核心要求是拥有专业的技术能力和丰富的经验,只有这样才能更好地带领着团队发展,特别是前端开发,技术点多而杂,更要求管理者有丰富的前端开发经验。

从而需要技术管理者,特别是基层技术管理者,代码能力不能丢,学习能力更不能丢,不断像团队开发者学习交流,并进行实战,才能更好地可持续发展。

重点就是技术不能丢,只有技术过硬,才有资格管理别人。

# 提升技术的方法

  1. 保持好奇,勤于在项目中发现问题。
  2. 带着问题去深度思考、查各种资料。
  3. 别偷懒,加上动手验证实测。
  4. 将你的成果用起来,提升项目效果。

书籍推荐:

  • 计算机系统:《深入理解计算机系统》
  • 操作系统:《现代操作系统》
  • 网络协议:《TCP/IP详解》
  • 网络抓包:《Wireshark网络分析就这么简单》

提升技术的同时要注重时间管理

一是精力高度专注。包括抵制手机诱惑、番茄工作法

二是固定深造时间。主要可以分为三个时间段:

首先是工作日固定时间段。要么早起一小时,要么晚睡一小时。每天固定一小时进行学习。中午吃完饭午休前也可以进行碎片化学习。

然后是周末时间。周末可以通过大块的时间集中学习。

最后是通勤时间。如果上下班通勤时间较长,可以通过听书的方式,来学习一些浅度了解的知识,不适合深度学习。建议通勤时间不要太久。

# 总结

根据前端技术体系,结合团队业务的需要,有侧重地进行加强学习和实践

系统的梳理前端技术体系,同步输出,加深理解。

不设限、不否定,不怀疑。挑战自己。