成为一个优秀的前端还需要掌握哪些技术?

本人有三年的前端开发经验,已经掌握H5、CSS3、Jquery、Vue、React Native、Node.js等技术,自己封装过UI组件库,Js工具库,目前感觉自己处于一个迷茫期,掌握的技术感觉再深入学习下去也难有进展,又不知道还需要学习些什么,求各位前辈大佬指点

阅读 596
评论
    7 个回答

    结合我的经验,这个时候属于业务驱动走到头了,除非公司发生变化,比如:

    1. 业务出现变化
    2. 业务量出现变化
    3. 团队结构、团队规模出现变化

    自己主动谋求变化很困难。一般来说,完全自主的学习不太容易,大多数人,大多数时候,业务驱动要靠谱得多。所以解决方案也是顺其道而行之:

    1. 换工作
    2. 主动拓展新技术架构
    3. 改进团队协作流程和工具
    评论 赞赏

      基础! 深度! 为什么没人说?

      你知道 H5标准有多少吗,h5怎么解析渲染?
      你知道css怎么渲染吗?css语法标准? css渲染顺序? css渲染性能?
      你知道vue背后实现的逻辑是什么吗?vue真的能精通使用吗?
      node js 真的完全掌握了吗? node服务架构? node bff 了解过吗? node能做那么多事情。真的掌握了吗? 不是会个 fs ,ssr, express,koa 你就掌握了node好么?
      自己搞组件库? 你真的知道你的组件库和优秀的组件库距离是什么吗?

      做过 没有任何用,自己做了那么多事情, 都不知道自己差在哪,有什么好迷茫的?前端技术的曲线没那么快有瓶颈好么。

      不要听他们 搞这搞那的。 基础好了,扎实了, 什么玩意上手都快。如果都是半瓶水。你研究1年有何用?很多东西你看不到的。

      评论 赞赏
        本人有三年的前端开发经验,已经掌握H5、CSS3、Jquery、Vue、React Native、Node.js等技术,自己封装过UI组件库,Js工具库

        赞同 @Meathill 说的,如果是业务驱动的话,到这可能就差不多到瓶颈了。

        问题是,你的技术栈又不一定要由业务驱动

        如果你自己不知道自己想学习什么,想称为一个什么样的工程师,你换一家公司,也可能只是原地打转,毕竟多数公司的业务都是类似的。

        我说说我的情况,题主看看有没有参考意义。

        我想成为什么样的人,什么样的工程师,决定了,我会去学什么东西,哪怕这个公司没有实践机会,我也会去创造机会,或者说,换家有这个机会的公司。

        在这个前提下,我作为半路出家的前端开发,我期望我能够

        无障碍阅读英文文档(最好听说读写无障碍
        熟悉完整的开发工作流,并有自己的一套完善的流程
        扎实的算法,数据结构,计算机网络协议知识
        擅长,但不局限于前端

        上面都在我的学习规划内,也有一个大概的时间点,对应到技术栈细节,我目前正在学习的是

        CI/CD
        Typescript
        计算机基础课

        并且,我一直在写英文博客,目前看英文文档基本无障碍。

        所以,我觉得,题主需要思考的是,

        题主期望自己2年或者几年后,成为一个怎样的工程师,然后基于这个期望,给自己制定一个学习规划
        评论 赞赏

          我也是三年经验的前端,深刻体会到在一个领域潜心钻研下去的重要性。

          不管几年经验,前端通用型技能的是要掌握的,比如说:

          • JS: Object/Array.prototye.*,Map,Set,in,of,Promise,async/await,解构,let,const,箭头函数
          • DOM:自定义事件,data-*,MutationObserver,IntersectionObserver,ResizeObserver
          • CSS:传统布局,flex布局,rem,em,vh,vw,过渡transition,动画animation,CSS自定义变量,CSSOM
          • 框架:Vue技术栈/React技术栈 对用到的框架深入实践和学习
          • 存储:localStorage,sessionStorage,blob url,window.reload,IndexedDB
          • 工程:webpack及其plugin,loader以及构建升级和优化,npm/yarn,git git-flow,nginx
          • 通信:hosts,域名,cdn,http(s),跨域,强缓存协商缓存,cookie,mqtt
          • 工作流:vscode,chrome devtools,linux,vim,ss
          • 常用库:axios ,moment,lodash,echarts,fabricjs,cropperjs
          • 数据结构和算法:栈,队列,双指针(快慢、对撞),排序,递归,二分,leetcode,面试题
          • 巨人:mdn,github,stackoverflow,google,segmentFault,百度
          • 各种第三方sdk:七牛云存储,阿里云OSS,高德地图,阿里云语音识别等等

          还有,别给自己设界限,偶尔学习一下服务端的东西,会反哺对前端的理解。

          另外再告诉你一个秘密,996模式的话学得更快,毕竟 迭代需求实践 出真知。

          还有,注意身体。

          曾经有人质疑我前端为什么要会一些linux和刷leetcode?

          linux和git的话,基础的要掌握吧。 cat、vim、mkdir、rm、ls、cd、ifconfig这种基础的命令。

          git的话,rebase,cherry-pick,reset,add commit push等等这种基础的。

          leetcode的话,一直for for不像回事吧。 常用的得会吧。 基础的数组类的,字符串类的。 排序、快慢指针、对撞指针、递归、二分。

          还有很多前端的精细领域,说实话我也有点迷茫在不断探索

          • 前端组件库
          • 数据可视化(canvas、webgl牵扯出的图形学无底洞)
          • 前端工程化
          • native移动端
          • H5移动端
          • 音视频处理
          • webVR
          • 无障碍访问
          • IOT
          • Node.js中台

          技术服务于业务,高效稳定的实现需求,认真负责的不断维护和升级,你就是No.1。

          评论 赞赏

            悄悄的给你说webgl可以深入了解下

            评论 赞赏
              鸿则
              • 2.1k

              感觉我自己是类似的情况,目前欠缺的是对术的深入了解,基本的东西都会,但是感觉又都不太会,以下是我感觉值得深入了解的

              1. 3D可视化技术。学会简单使用three.js是不够的,要深入了解底层原理WebGL,另外学习一种3D建模工具,比如blender,应付3D可视化需求
              2. 熟练掌握Canvas和svg,会简单使用没啥用,要能熟练应付2D可视化需求
              3. 浏览器媒体处理技术,比如Media Source Extensions API,Web Audio API
              4. 学习一下原生移动应用开发,React Native、Ionic应付不了大部分完整的app需求
              评论 赞赏

                WebGL 水太深了,真的时术业有专攻,去年尝试做了一个年会大屏弄得太自闭了;
                可以考虑 serverless 深入业务层,又是一片天地,够我们折腾好久了.

                评论 赞赏
                  撰写回答

                  登录后参与交流、获取后续更新提醒