QA
1. 前端的主要工作,以及前端的好处及坏处
前端工程师的主要工作上面已经做了详细的介绍
好处,emmm,在我看来
- 工作绝对是有挑战性,能挖掘自己的潜力,让自己持续不断的学习进步
- 随着企业纷纷开辟线上的场地,是非常缺前端工程师的,即好就业
- 技术产物是最接近用户的,能够获得极大的成就感
坏处,我客观的说几个
- 技术更新比较快,需要持续不断的学习
- 技术种类比较繁多,容易劝退刚会一点,没有人指导方向的初学者
- 容易原地踏步
2. 前端如何入门,前端学习的阶段(学习步骤)
阶段一:页面还原
- 了解CSS,HTML的基本语法,熟悉常用属性的编写
- 达到能对常见的页面(不包含复杂动画与交互)进行1:1的静态还原
学习资料:
- 菜鸟教程我一直觉得是个不错的入门学习的网站
学习过程主要是了解其所拥有的能力,而不是刻意去记住xx属性怎么拼写,有什么作用
在大致了解起基本能力后可以试着看几个综合案例的实现
- 这里随便找了个案例
在看视频学习时,当遇到素材问题时,可不必与教程一模一样,我们的目的是学习这个过程,在实现上可以有自己的思考,素材可根据自己喜好替换或者留白
阶段二: 赋予页面活力
- 了解JS的基本用法,能简单的对页面进行控制
学习资料:
资料始终是作为辅助学习工具,初学过程得自己判断章节的取舍,而不是按照目录 挨着挨着学
在了解基本语法后就可去学习网站上找一个 结合了js的综合案例
当能通过查阅资料来完成自己页面想法的时候,差不多就算入门了
阶段三:趁热打铁
- 在学会了使用 传统的“三剑客”开发页面后,接着体验一下现代的开发框架开发
此时针对JS基础薄弱的同学,推荐Vue.js入门,如果觉得自己的JS还不错可以考虑 React.js
这两个都是js的框架,本质上也是js,即由js的基础能力构成的一个拥有完备工程开发能力的工具
如果不习惯看官方文档的学习方式,可自行网上找其它的学习资料,相信此时的你已经拥有自己的一套方法搜寻资料
不过最终还是会回到学习文档这里来
阶段四:返璞归真
- 此时的你应该已经具备开发一个普通项目/页面的能力了
此时就需要重新系统的弥补自己的基础能力(JS为主,CSS为次要),相信二次的学习,会有很大的收获,过程中会产生一些顿悟
javascript:
css:
阶段五:无尽的探索
此时你已经是具备一定的实战经验,拥有扎实的基础知识支撑:
可以在后文列举的 开发技术中 探索自己感兴趣的内容
又或者不满足于只能实现静态网页,可以学习一些后端的技术(最低成本基于Node.js的后端能力)
后面的路,自己去探索是最好的,去寻找自己感兴趣的方向,先广度,后深入探寻
3. 前端学习有什么需要注意的吗
- 重视基础内容,尤其js,会的不在多,在于精
- 切勿急于求成,觉得自己能随心所欲的写出一个页面就沾沾自喜,能够完成学校的项目,觉得自己找工作就没问题了
- 不骄不躁,脚踏实地的学习
4. 校招-前端学习进入大厂的方式
了解:听说过这个概念,知道是干什么的
熟悉:能快速地利用这个技术构建一个可用的应用
精通:读过源码,了解其原理,可对其修改以满足某些特殊需求
- 扎实的前端技术
- 熟练掌握js,css,html
- 具备一定的实战项目开发经验
- 对框架(Vue/React)的原理有一定了解,能复现或者清楚的描述出来
- 对前端工程化有自己的理解和实战经验
- 一些额外的开发能力(能够描述清楚技术的原理)
- xx插件
- 小程序
- 桌面应用
- 移动App
- 跨端开发技术
- ...
- 扎实的计算机基础知识(切勿轻视)
- 操作系统
- 算法与数据结构
- 计算机网络
- 设计模式
- 加分项(我认为)
- 有一定的后端开发能力
- 服务端开发经验
- 数据库
- 多人协作项目的开发
- 熟悉Git
- 了解Linux的基本用法
- 会部署自己的前端工程
- 自己的个人博客
- 实习经验
校招考点在这里也做了总结
5. 前端学习如何可以快速做出一个项目(学什么)
希望快速得到结果:
了解一下html,css怎么用如何书写,通过查阅资料,就可以开发一个简单的页面
如果希望丰富页面的交互,了解js的简单语法,根据自己想要的查一下BOM,DOM API
能够通过查阅资料 写出代码(自己能懂每一行是什么意思)实现自己的项目
后续快速开发(JS基础薄弱的话)就可以学Vue框架(🍬)有时间的话,一周看完一个实践教程不成问题,过程中肯定会遇到很多 不解的东西,此时就需要记下来,下来去查资料,然后消化吸收,差不多1-2个实战教程后,能够入门框架的使用,自己也能更快速的实现自己想要的东西
接下来就需要回过头去 认真看一下JS
6. 做一个桌面小程序或者微信小程序需要学习什么除了三件套之外
小程序厂商约束了开发的规范,阉割了一些 “三剑客” 的能力,实际开发 还是运用的这三者,只是换了一些概念
即学习成本只有:熟悉特定厂商的开发规范文档,与开发工具(IDE)的使用
如果不知如何入手,看文档看不懂,就推荐找一门小程序的实战课程看一下
如果想同时开发一个能在多个平台上线的小程序,推荐去学习一个跨端开发框架,后文有介绍
如果做 桌面应用的话,推荐学习Electron框架即可,所使用到的技术依旧是三剑客,只是需要遵循框架的开发规范
7. 进入大厂除了必要的前端知识,还需要什么知识。比如后端,数据库之类的需要吗
- 计算机基础知识
- 有一定的实战项目经验
- Git
- 关于后端技术
- 非必须,但技多不压身,你会别人不会 这就是你的优势,我相信你也不满足于只写静态页面
- 数据库:非关系数据库,关系数据库 会使用一个
8. 进入大厂需要准备什么以前端来说,比如项目,或者奖,是必要的吗
- 项目是一定需要的
- 在筛选简历环节环节,除了学校和你的能力基本介绍信息之外,就是看你简历上的项目,来判断你的实际开发能力,如果简历上一个项目都没有,那你简历上还剩什么?
- 奖:非必须
- ACM此类知名的算法大赛获奖是含金量最高的,其它的程序设计比赛或者项目竞赛奖我觉得至少需要省一及以上
9. 关于目前开发框架现状
- 曾经流行: JQuery,UI库(Bootstrap,Layui),requirejs(模块化方案)
- 现在流行: 组件化开发,Vue,React,Angular,Svelte
10. 与前端开发相关技术有哪些
- 平台相关
- 桌面应用:Electron,NW.js
- 跨端开发:Native,React Native,Cordova, Weex,uni-app,Rax(阿里),Taro(京东),Chameleon(滴滴),Hippy(腾讯)等 --- 百花齐放
- 一端开发多端复用:代码复用
- 端指:web,ios,Android,小程序等
- web:Vue,React,Angular,Selvte
- 类型支持:TypeScript,Flow
- 构建工具:Webpack,Gulp,Grunt,Vite,Rollup,Snowpack
- 服务端:Node.js -> express,koa,egg 等
- css预编译:SASS、Less、Stylus
- ..无穷无尽..
以上只是对一些前端技术做了一些列举,并不全面,来说明现在前端繁荣的生态,下面专门做了一个相对详细的列举
前端相关开发技术列举
1. Web开发
开发框架
UI组件库
- Vue: ElementUI,iView,Cube UI,Vant,vuetify,Ant design
- React: Ant design,MATERIAL-UI,Chakra UI
2. 跨端开发
一套代码,多端复用
桌面应用
移动应用
3. 游戏引擎
4. 服务端开发-Node.js
5. 数据可视化
6. 构建工具
7. 工程化中使用工具
8. 度量监控
9. 智能化
其它
- TypeScript
- ...