前端开发
生活
调查类问题
前端工程师
前端入门

前端是不是很难学?

关注者
89
被浏览
109,464

60 个回答

我觉得前端、后端、数据库都不算难学。最难的地方始终是把前端和后端连起来的那一截。

发布于 2019-04-10 14:45

作为一名游走在一线6年+的前端打工人, 发表一下问后感.

首先我的感触是前端是所有其他编程语言(go, java, python, rust等)里最好入门的编程语言. 前期学习前端的难度很低, 我们只需要掌握好:

  • html5标记语言
  • css3样式规则和语法结构
  • javascript基础编程知识和语法

就可以快速着手前端网页的开发, 并且是“所编即所得”的, 我们可以方便的看到自己所编写代码的实现效果. 比如这样一个简单的页面:

但是如果想在企业完成业务模块或者相对复杂的系统, 还是有很多知识要学习的, 当然随着越往后的深入, 前端能实现的价值也更大, 接下来分享一些我总结的前端学习路线, 方便大家快速高效的学习前端.

  1. css3 学习路线

2. javascript学习路线

在掌握了基本的前端编程能力之后, 我们可以根据自己的喜好, 规划一下未来的前端研究方向, 这个和大家分享一下前端工程师的职业发展路径:

3. Vue学习路线

vue在国内非常流行,也被很多公司使用, 对于vue的学习可以从文档入手,熟悉基本用法和高级技巧, 然后通过成熟组件库和工程化工具来开发实际项目. 接下来分享一下有关vue的学习路线:

当然如果大家对react感兴趣, 也可以研究学习react, 毕竟很多有名的开源项目和产品也是用react写的:

4. 数据结构与算法学习路线

当我们对前端和企业常用框架有了一定了解之后, 我们就可以学习一下比较深入的内容, 比如数据结构与算法. 接下来和大家分享一下我总结的常用的数据结构与算法学习内容:

当然最近数据可视化和图形学也是很多企业热门招聘的方向, 大家可以对 canvas有一定的了解, 这里分享一下canvas的学习路线.

5. Canvas可视化学习路线

越往后我们发现前端衍生出来的知识越来越多, 比如说跨段端, nodejs服务端开发, 各个厂商的小程序等, 这里分享一下我多年研究nodejs的一些学习路线:

后续对于前端从技能到求职再到职场发展, 我会持续输出一些心得和经验, 希望对大家有所帮助.

发布于 2023-02-14 23:25

前端难不难是一个阶段性的问题,以过来人的角度给大家分析分析。

第一阶段:现在资料很好找了,想要知道前端掌握什么技术可以就业也非常简单。难点在于毫无头绪,要学的太多。

第二阶段:如果你能在上一个阶段认真做好学习计划,踏实学一两个月夏利,就会发现前端其实也听见但的。

第三阶段:随着深入的学习,就会发现前端变得越来越难,可能你写出的页面很丑,根本拿不出手。这时候,为了提升就要研究前端各种UI框架以及组件,这是一个过渡期。毕竟不熟悉组件以及框架之前,Js的坑你都要踩与喜爱。

第四阶段:用UI组件写了一段时间之后,会发现前端又非常简单了,无非就是复制粘贴的事。在第四阶段是一个分水岭,沉迷复制粘贴的话是不进则退的路上。但是也有人去研究原理,框架的底层、组件封装方法运行的原理。

第五阶段:深入研究各种框架原理,底层问题,这时候可能又会进入前端很难的阶段。

阶段问题

很多自学的小伙伴觉得,我能找到工作就好了。还有一些在职新晋前端,迷茫于如何自我提升,也有一些在职前端觉得太忙了,没时间自我提升。每个阶段都会有各种各样的问题,希望这篇文章能帮助到大家。

一、自学前端

每天学习6小时的安排如下:

  • HTML+CSS:20-25天
  • JavaScript:20天
  • 环境基础:15天
  • Bootstrap(15天)、jQuery UI(15天)、Amaze UI;流行的前端框架: jquery mobile、angular.Js(20天)、Vue.js(20天)、React.js(20天)
  • Echarts(1周)、 tableau(1周)

前端学习课程分享:

HTML+CSS-->移动web->JavaScript基础-->Web APIs->数据交互&异步编程-->Node.js-->Vue2+Vue3-->React核心技术-->微信小程序

前端自学经验:

最主要的就是做计划以及获取一份专业的 路线图。上面答案中都给到大家了,依照自己的时间进行学习计划,题主有一定的基础,可以温习一遍直接学后面掌握不太好的内容。

无论是书籍还是视频,都是学习知识,但是前端是强实践的。所以所学知识要投入到应用当中,因此有了一定的基础知识后,要做项目。

前端现成的轮子很多,所以日常的基础工作CV就可以完成了。但是在学习阶段,切记不要去各种复制粘贴。不要让自己陷入一种难得不想做,简单的不屑做的局面。有效的进阶方法就是技术重构。

二、新晋前端如何提升

在日常工作中就可以学习,比如:

  1. 自己公司的业务是否前后端分离,如果没有尝试自己分离;
  2. 形成自己的UI库
  3. 根据业务形态,整理公共业务
  4. 前端重复工作自动化
  5. 形成优化、统计体系
  6. 建立页面转化漏洞模型
  7. 做ABTesting

一点一点来说,也就是不管出于什么考虑,前后端是一定要分离的。如果SEO有需求,那么后续推进Node.js方案。毕竟现在SEO真的很难做,短期看不到效果很多公司就放弃做了,不如花钱来的实在。

形成UI库,也就是两点:是否可以复用,是否可以定制。如果说多加考虑一点,就是是否可拆分。

公共服务:这个就是不UI库上面那种和业务有直接关系的内容,而是 passport这种。包括了用户的注册、登录,个人资料管理。甚至有一些认证,与公司账号相关的内容。如果可以将这些内容整理好,对自己未来的工作提供了很大的便利。

前端工具化:比如你们的前端静态资源是如何组织的,怎么打包的。资源是如何缓存的。这类问题,使用grunt/gulp一类的构建工具可以轻松做到,如果有公共框架文件还需要引入种子文件的概念。

以上只是提供了一些思路,详细说明的话太多可以先学习可以注意的地方了。其实不管大公司还是小公司真的能学到很多东西,但是你把自己定位一个小公司的螺丝,那自我提升就很难说了。

三、如何扎根资深前端

对标阿里的前端:

  • P6:高级前端工程师,需要的是基础扎实、框架灵活应用、组件化思维、工程化能力;
  • P7:前端专家,需要的是核心框架原理、 底层设计逻辑、前端知识体系,业务意识;
  • P8:前端高级专业,技术变现能力,架构能力,软技能。

以上只是总结性回答,因为不同的岗位,不同业务要求的前端会有一些差异。具体的还是要关注下JD,一般大厂的JD会写的很清楚。小公司的JD会写的比较模糊,但越是模糊的JD应聘就越难,他们想要找到足够优秀和有眼缘的人。

在2021年的时候,阿里巴巴发布了前端知识图谱,历经1年的时间整理从初阶>中阶>高阶的维度讲述了前端的成长路线,囊括了前端初学到热门领域717个知识重点。

初阶,从初学者视角,逐步阐述 HTML、CSS、JavaScript 等前端基础知识。

中阶,从工程师视角,分别展开技术原理,工程链路、 性能优化等综合能力知识。

高阶,与“技术产品”的“技术方向”保持保持一致,按“技术方向”分别展开领域专业知识。

发布于 2023-02-07 16:00

现在对前端的要求是越来越高了,不但要求会基础的html css JavaScript,es 6.还要求熟练使用各种框架vue react node.js……

但虽然前端的技术门槛提高了,但是它的技术天花板却没有提高,我们很少见到月入超过2万的前端程序员,不是吗?

其实现在学习前端只是刚开始入门的时候比后端容易,但是到后期大家都是殊途同归,所以前端开发程序员的职业后期的话就有点费力不讨好了。

前端程序员会感觉学的东西越来越多,技术更新迭代越来越快,但是工资却没有提升,每天很累却在原地踏步,所以觉得很难。

有能力的可以去大厂做一些技术复杂度高的前端工作,或者转移下后端。

我是 @IT锅炉野野 ,一位喜欢保护韭菜的程序员,关注我,很值得。

发布于 2023-02-08 10:19

入门还算简单,但是初级现在很难找工作了。入门了你就知道,你准备接触的是一个非常庞大的只是体系,要有心理准备

发布于 2019-03-07 10:50

难不难学这个因人而异

没有捷径可走是肯定的,但有些办法可以让你少走很多弯路,比如跟着我学,seriously

编辑于 2019-03-12 12:36

前端是不是很难学?

这个要怎么回答你呢。

我个人觉得呢,学习本身就是一件不容易的,那不容易的事的话,也就会难一些了。坚持一天的学习确实是比较简单,长期保持坚持的学习哪就会比较难了,因为只要少部分人才可以做到。

如果是找一份前端的工作的话,我觉得是不是很难,那难度的话肯定还是有一点的。

不过只是学习前端的入门基础,可以说是比较简单的,难度不大,因为html和css在前端里面的话会比较简单些,标签,布局,属性等等,这些的话也就是多实操,学完可以先模仿网页,然后在自己独立去做页面,html和css也就差不多的,难度比较大的是css深入层次方面,这个确实是比较难的。

html和css的话一般学习在15天左右,接下来也就是JavaScript的学习,html5,css3等。

发布于 2020-11-23 09:32

什么技术都有难与容易的一面。

前端是一开始入门简单,后面也是和其他编程技术一样,越来越难,而且前端现在是一个非常庞大的知识体系了,技术要覆盖的范围也很广了。

现在前端要掌握的技术包括:除了基本的 html 、javascript、css 外,还有 js 的三大框架 vue、react、angular;后端语言 node.js ;小程序;打包工具 webpack 。

当然你也不用全部都会,毕竟笔者工作了两年,angular 和 小程序也还没怎么实践过呢。你只要对 html 、javascript 、css 有一定的基础,再精通一两门 js 框架(比如 vue ),也是能胜任不少前端岗位的工作的,毕竟项目中不是全部技术都要用的。

而且现在的前端技术更新非常快,要不断学习新的技术,要有心理准备。

一万小时定律:一个人想要在一个领域成为专家就需要持续不断的付出一万小时的努力。

所以想从事前端开发,那就只有 努力学习,努力学习,努力学习 !

发布于 2019-03-21 13:00

我觉得还好,不然不会有那么多转行的。不难学但是你要学的精却不容易

发布于 2020-02-21 17:08

前端入门相对其他编程语言来说简单的多,但随着内容的深入,难度也会增加。

想从事这一行就要有坚强的毅力,坚持一天学习很容易,长期坚持每天学习也是件难事,很多人学着学着就放弃了,只有少部分人能坚持下来。

很多初学者刚开始学前端都是一脸懵逼的状态,不知道前端该学什么,怎么去学。下面推荐一条学习路线,首先前期需要先学好HTML、CSS、JS,把基础打好,这些相当于前端的骨架。其次是vue、react框架,真实开发项目都会用到,国内找工作的话vue是必学的,react最好也要学一下,对之后的晋升或者进大厂都很重要。有精力可以再学学小程序和一门后端语言node。做几个项目,现在找工作来说,基本都要有项目经验。

1、前期需要先学好HTML、CSS、JS,把基础打好。

(1) HTML+CSS

视频教程imooc免费: HTML+CSS基础课程-慕课网

参考文档:菜鸟学院(基础、简单): HTML 教程 | 菜鸟教程

参考文档:菜鸟学院(基础、简单): CSS 教程 | 菜鸟教程

(2) JavaScript

JavaScript初级

视频教程imooc免费: JavaScript入门篇-JavaScript入门视频教程-慕课网

参考文档:菜鸟学院(基础、简单): JavaScript 教程 | 菜鸟教程

JavaScript高级

视频教程imooc免费: JavaScript进阶篇_JavaScript视频教程-慕课网

参考文档:菜鸟学院(基础、简单): JavaScript 教程 | 菜鸟教程

2、前端框架

(1)vue一款偏向于移动端的JS框架,轻量级。数据驱动交互,学习起来非常容易。,它可以不依赖与Jquery框架独立使用帮助你开发一个友好的移动端界面。一个前端开发必要掌握的技能,一款流行的JS框架。

视频教程imooc免费: vue视频教程 | imooc

参考文档:菜鸟学院: vue 教程| 菜鸟

(2)react框架,比较起vue,它更复杂一点,重量级一点,但是实现大型的项目也很快速便捷。掌握它也成了诸多公司入职要求,相信学习过vue这类数据驱动框架,在学习起这个就会容易很多。

视频教程imooc免费: react教程-慕课网

参考文档:菜鸟学院: react教程 | 菜鸟

3、小程序,提供一个简单高效的应用开发框架和丰富的组件及API,帮助开发者在微信中开发具有原生APP体验的服务。

视频教程imooc: 入门微信小程序开发

4、Node是一门后端语言,很多公司都要求前端至少掌握一门后端技术。

Nodejs教程1(node,grunt,restful,npm...): 进击Node.js基础(一)-慕课网

NodeJs教程2(node,grunt,restful,npm...): 进击Node.js基础(二)-慕课网

如果你基础都学了一遍,就可以参加自学团中小怪组织的实战项目了。带着你把前端项目撸一遍。会有产品、UI、前端、后端的小伙伴一起协作配合,最后做出成品,真正锻炼到大家的各项能力。

如果你是前端小白或者打算转行进入前端这个行业,不知道未来该怎么学习,都可以加入我组建的自学团,每天一起打卡学习,分享学习资料,定期组织实战项目,匹配学习伙伴,我会严格监督你们的。下面是我们「前端自学团」的小伙伴们一起讨论问题的部分截图。

看完记得给我点赞,想加入自学团和小伙伴们一起学习可以给我留言!

发布于 2021-01-26 09:00

网上大多数人都说前端技术是互联网里面比较简单的技术,也就是写一写页面。没错前端开发的入门门槛确实比较低,前端开发的学习曲线是先快后慢的,一开始学习是比较容易的,CSS和HTML比较简单易学,所以造成了前端简单的表面现象。

也正因为如此,前端开发领域有很多自学成“才”的同行,但大多数人都停留在会用的阶段,因为后面的学习越来越困难,每前进一步都不容易。

并且前端开发工程师不仅要掌握基本的前端开发技术,网站性能优化、SEO和服务器端的基础知识,而且要学会运用各种工具进行辅助开发以及理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持等。

总的来说,前端前期的学习比较简单,后期学习较难。但只要前期基础打得扎实,后期的学习自然而然就可以轻松掌握了。并且学习是讲究方式方法的,有效地学习才能更加轻松。

我组建了一个前端自学团,在团里会给大家分享前端的学习方法;监督大家学习打卡,养成良好的学习习惯;给大家匹配互相监督学习的小伙伴;分享时下最先进最适合大家的学习资料;定期组织大家一起进行项目实战。

想要加入的小伙伴可以私聊我或是给我留言,欢迎大家加入我们前端自学的大家庭。

发布于 2020-07-17 08:24

因人而异。

对于年龄32周岁以下的大学学历的人来说,经过4个月左右的线上直播课系统学习,踏踏实实学的。

培训完在一线城市找个万八千的前端工作还是很容易的~

对于完全不懂代码的人来说,看到密密麻麻的代码一行一行的都是英文就潜意识觉得好难。

作为一个运营小编,我之前也这么认为,后来我也下载了编辑器学了一个星期的前端,我也能照葫芦画瓢写出很简单的静态页面,只要踏踏实实学,经常联系,是可以学会的。

英语不好也没啥关系啊,常用的编程单词就那么些,工作中遇到了不会可以查~

学前端和谈恋爱不一样,只要努力了就一定会有正向结果的,努力就可以了,找个工作啥的根本到不了拼天赋的地步~

最后分享一些前端面试题给大家,手打原创非搬运:

丁鹿学堂前端培训:丁鹿学堂:前端面试详解之promise(一)

丁鹿学堂前端培训:丁鹿学堂:前端面试js异步解决方案之generator详解

丁鹿学堂前端培训:丁鹿学堂:前端面试异步解决方案详解(二)

丁鹿学堂前端培训:丁鹿学堂:前端面试分享之手写promise(上)

丁鹿学堂前端培训:丁鹿学堂:前端面试之手写promise(二)

丁鹿学堂前端培训:丁鹿学堂:前端面试压轴系列之手写promise(完结)

丁鹿学堂前端培训:丁鹿学堂:面试爱问的js异步任务总结(二)

丁鹿学堂前端培训:丁鹿学堂:面试爱问的js异步任务总结

发布于 2023-02-07 15:46

针对于0基础学前端,确实还是有一定的难度,尤其是入门过程中的一些难点,这些难点没有啃透,学员在学习中就会望而生畏,产生放弃、退学等畏难情绪。


今天这篇文章主要从入门阶段到精通会遇到的难点,学前端其实就像奥特曼升级打怪兽,需要循序渐进。

一、HTML+CSS阶段

  1. 编写具有语义化的利于SEO的页面

很多初学者都是只要布局出和设计图一样的页面就可以了,不会考虑页面的语义化以及SEO。这样一旦养成习惯后期很难改变这种意识。虽然说SEO对于管理系统这些可以不用考虑,但是对于网站、网页却十分重要。

2.基本结构标签的掌握

很多初学者一上来就学习body内的标签,对于<!DOCTYPE>、<html>、<meta>这些标签关注比较少。但其实标签分为很多类型,不同类型特点不同。有的标签就算改变类型也不能拥有其特点。

3.盒子模型

盒子模型大多数初学者都知道,但是不同类型的标签有些可以设置margin、padding有些却不能。
margin在使用不当的时候还会出现margin塌陷,拖拽的现象

4.浮动

什么是标准文档流,什么是浮动流。浮动有什么特点,会带来什么影响。如何清除浮动,什么是BFC这些是浮动中的难点。

5.定位

不同定位相对的参照物都是谁,不同的定位对元素的类型会造成什么影响,不同定位在工作中都用在什么场景。

6.Transform

Transform的特点是什么,为什么性能要比使用js改变left、top高,transfrom-3d使用。

7.网页优化

在先不考虑工具压缩,treeshaking的情况下,如何合理布局,减少无用标签,如何首次有效绘制,减少无用css,选择更有效的选择器等

8.不同浏览器兼容

虽然已经抛弃IE低版本,但是不同浏览器,移动端还是存在兼容差异。这些在开发中也是很头疼。

二、JavaScript阶段

  1. 数据格式处理

现阶段开发都是以数据为核心。很多时候后台传递过来的数据都需要更改格式结构,这个过程还是比较费头发。

2.作用域、作用域链、闭包、垃圾回收

面试的时候很喜欢提问闭包,很大程度是因为很多人理解的闭包有问题(建议去看《javascript高级程序设计》),还有就是闭包涉及到性能。

3.DOM兼容

虽然现在开发框架使用多,但是DOM的兼容却是刚接触前端时候比较麻烦的知识,除了要记大量的语法,还要考虑兼容写法。

4.BOM兼容

BOM因为属于浏览器对象模型,每个浏览器都有差别。所以在使用BOM语法的时候就比较麻烦。

5.高阶函数、回调函数

绕晕初学者的东西。

6.原型链

Javascript语言设计的核心,因为作者的设计问题,会导致很多问题初学者很难理解。例如:
console.log(Function instanceof Object);//true
console.log(Object instanceof Function);//true
console.log(Function instanceof Function);//true
console.log(Object instanceof Object);//true

7.宏任务微任务

Promise、then、setTimeout、async只要这些混在一起的面试题,初学者能倒一片。
测试一下吧:
const first = () => (new Promise((resolve, reject) => {
console.log(3);
let p = new Promise((resolve, reject) => {
console.log(7);
setTimeout(() => {
console.log(5);
resolve(6);
console.log(p)
}, 0)
resolve(1);
});
resolve(2);
p.then((arg) => {
console.log(arg);
}); }));
first().then((arg) => {
console.log(arg);
});
console.log(4);

8.面向对象

ES6之前,前端没有类的概念,用构造函数等方法模拟,这个过程比较难,还有初学肯定是面向过程,变成面向对象写法的时候也是比较难

9.异步处理

Promise、generator、async在刚接触的时候会比较难理解。

三、框架阶段
到了框架,其实使用的话只要多看多练就可以了。难点不在这里。这个部分难点在于:

1.环境搭建
很多框架、工具在开始环境搭建的时候非常头疼,不同电脑系统硬件差异,浪费大量时间

2.工程化搭建
到了这个阶段重点就是团队合作,项目工程化,自动化。如何提高编码、测试、维护阶段的生产效率是比较难的。

3.项目优化
框架只是提高了代码性能的下线,想要性能再提升还需要了解更多知识。这一块也是优秀前端需要具备的

4.数据可视化处理

简单的展示非常简单,所有图表插件都是5分钟上手、但是一旦涉及功能复杂,用插件还不如自己写,自己写又丑需要大量时间美化。十分头疼。如果再涉及到3d。贝塞尔曲线就是噩梦。
如果是自学前端,除了有较强的学习能力和自律性外,还需要有学习路线图,掌握哪些是前端学习重点、难道等。

编辑于 2022-03-24 15:47

你可以每个领域提一个类似的问题,然后看下面培训软文的多少。

越多的门槛越低

发布于 2020-11-08 05:42

我觉得前端一点都不难学。

软件开发难就难在看不见摸不着上。而前端相对于其他方向来说,是最容易看得见摸得着的。

服务器端写了半天,你只能通过发送几个请求、Debug一下来,看看console。

前端就不一样了,HTML、CSS都是直接看到,JS直接在Chrome里面改,改完就体现出变化。

发布于 2019-03-12 21:34