一、小程序前端开发所需技能
小程序前端开发技能要求
随着移动互联网的迅猛发展,小程序已经成为了越来越多企业和个人开发者作为移动应用开发的首选方式。作为小程序前端开发人员,要想在竞争激烈的行业中脱颖而出,就需要具备一定的技能和知识。下面是小程序前端开发所需的一些核心技能。
1. 熟悉基础的前端开发技术
在进行小程序前端开发之前,你需要具备一定的前端开发基础。这包括HTML、CSS和JavaScript的基本知识。你需要熟悉HTML标签和DOM操作,掌握CSS样式布局和动画效果的实现,以及了解JavaScript的基本语法和常用的API。
2. 掌握小程序框架
小程序开发通常会使用一些流行的框架,如微信原生框架、Taro、mpVue等。你需要熟悉这些框架的使用,掌握它们的核心概念和基本语法。了解小程序框架的使用可以提高开发效率,降低开发成本。
3. 理解小程序的开发原理
作为小程序前端开发人员,你需要深入理解小程序的开发原理。你需要了解小程序的生命周期、页面路由、组件化开发等核心概念。只有理解了这些原理,你才能更好地进行小程序的开发和调试。
4. 掌握异步编程
在小程序的开发中,涉及到很多异步操作,比如网络请求、数据获取等。因此,你需要掌握异步编程的技巧,了解Promise、async/await等常用的异步编程方式,以提升开发效率和代码质量。
5. 代码调试和性能优化能力
作为小程序前端开发人员,你需要具备一定的代码调试和性能优化能力。当出现问题时,你需要能够通过调试工具和技巧,快速定位和修复问题。同时,你还需要了解一些性能优化的技巧,以提升小程序的加载速度和用户体验。
6. 持续学习和自我提升
小程序前端开发是一个不断发展和更新的行业,新的技术和工具层出不穷。因此,你需要具备持续学习和自我提升的意识。通过学习最新的技术和关注行业动态,保持对前沿技术的敏感度,才能在竞争激烈的市场中保持竞争力。
总之,小程序前端开发需要熟悉基础的前端开发技术,掌握小程序框架和��发原理,具备异步编程能力,以及拥有代码调试和性能优化的能力。同时,持续学习和自我提升是不可或缺的。只有不断学习和积累经验,才能在小程序开发的道路上越走越远。
感谢您阅读本文,希望本文对您了解小程序前端开发所需技能有所帮助。
二、动力系统工程师所需技能?
熟悉动力系统管理,并具有高压线路规划设计和管理能力;熟悉动力机械设备的运行和维护;熟练运用CAD,对GMP具有较深的认知;具有较强的协调、沟通、执行、监督、指导能力。
动力工程师是负责制定动力系统的操作流程和安全规范,在节能降耗的前提下维持动力系统的正常运行,并定期对动力系统进行保养检修的专业技术人才。
三、前端开发者升职所需时间?
如今Web前端行业是一门吃香的技术,更多的人选择了Web前端开发工程师的职业。想要掌握Web前端技术的内容,能够达到企业的就业要求,需要付出更多的时间及努力。只要真正不断提升自身的技能,才能走更远。 如果你想要快速学习Web前端技术,专业全面的学习方式比较好,一般费用在2W左右,4-6个月左右。专业学习适合零基础的小白迅速成长,学习曲线先快后慢,也适合有一定基础的学员进阶学习,巩固知识的基础上,稳步进步突破职业瓶颈。
四、关于前端技术的分界,初级,中级,高级前端工程师分别因该掌握什么技能?
口说无凭,可以看一下招聘网站的要求。
初级前端工程师:
抛开一些与技术无关的信息。
初级前端工程师一般要:
掌握 HTML CSS JavaScript 前端基础三剑客,掌握就是对这三个东西要会用,并且知道一些重要的概念是怎么回事(大厂需要手写实现)比如 HTML 的语义化;CSS 的盒模型,高度坍缩,浮动,定位,弹性布局等;JavaScript 的原型链,继承,深拷贝,防抖节流,作用域以及 ES6 的 Promise 等等。
熟悉一个前端框架 Vue 或者 React 及其周边生态,熟悉的意思是用它们写过项目,并且知道一些基础概念和懂一点点原理,比如 Vue 过滤器,计算属性,v-if 和 v-show 等,双向绑定原理等。
扎实的计算机基础言外之意就是熟悉计算机网络,特别是 HTTP,TCP,还有操作系统特别是进程相关的知识。
基本数据结构和算法基础,比如概念数组和链表的区别等,还有快速排序,冒泡排序等。(中大厂要求树和图以及相关算法)
后面都是加分项:
模块化,编译和构建工具言外之意就是了解 webpack 打包工具,比如 loader 和plugin 等;以及 babel,简单了解即可。
有服务端基础加分。
中级前端开发工程师:
中级前端开发工程师除了掌握初级的知识之外,更要求深入原理,比如 Vue / React 等前端框架的原理;要很熟悉前端工程化的东西,比如模块化,构建,项目重构等,这就对 webpack,babel,等工具,设计模式等知识提出了更高的要求;还要对前端性能的优化等。说到底就是能完全掌控住一个项目的架构设计,优化等,作为小 leader,这要求我们同时有业务能力和技术的积累。
更新中...
五、前端开发工程师待遇?
比较好。
前端开发工程师是一种非常热门的职业,随着互联网的快速发展,前端开发工程师的需求量也越来越大。根据不同公司、地区、经验和技能水平的不同,前端开发工程师的待遇也会有所不同。以下是一些一般性的参考:
1. 薪资水平:前端开发工程师的薪资水平一般比较高,初级前端开发工程师的月薪一般在8000元-15000元之间,有一定经验的中级前端开发工程师的月薪一般在15000元-25000元之间,高级前端开发工程师的月薪一般在25000元-40000元之间。当然,这只是一般的参考,具体薪资水平还要根据实际情况而定。
2. 福利待遇:前端开发工程师的福利待遇一般也比较好,包括五险一金、带薪年假、节假日福利、绩效奖金、培训等。有些公司还会提供额外的福利,如员工旅游、生日福利、股票期权等。
3. 发展空间:前端开发工程师的发展空间也比较广阔,可以向UI设计、前端架构师、全栈开发等方向发展。在不同的公司中,前端开发工程师的职责也会有所不同,一个前端开发工程师可以承担不同的职责,如页面开发、交互设计、前端框架开发等。
需要注意的是,随着前端开发技术的不断更新和变化,前端开发工程师需要不断学习和更新知识,以保持自己的竞争力和市场价值。
六、vue前端工程师优势?
优势首先便是更具有竞争力,在同等面试条件下,拥有vue框架技术的比不具有vue框架技术的竞争力更强。
其次是阔宽了自己的知识面,Vue 的生态非常繁荣,有特别多配套的周边工具 vuex、vuex-router、element、elenent-admin 等等,掌握了vue框架的同时你也就掌握了其他的配套工具的使用。
然后是培养自己的自学意愿和能力,因为vue框架不是谁教就会,必须得自己去实践和学习。
七、一个优秀的前端工程师应具备哪些技能?
建议学习前端和找前端工作前细品一下本文。
你品,你细品,就会忍不住和评论里大家一起站队。(手动狗头)
————————————————————————————————————————
不开玩笑了,希望我们能为你提供一点参考方向。
不同公司,不同岗位,不同业务背景对优秀前端的要求可能会有差异,我们以阿里巴巴淘系技术部的一则JD为例,来拆解一下,不同级别的前端工程师应该具备什么样的技能。
JD
业务背景淘宝内部最大创新项目之一,大团队已有百人规模,大部分项目处于保密阶段,前景远大职位描述1.负责组件库与业务页面开发。2.带领团队完成技术产品实现。3.负责大型多应用架构设计。4.利用前端技术与服务端协同完成团队业务目标。职位要求0.掌握图形学,webgl或熟练使用threejs框架,熟练canvas相关渲染及动画操作的优先。1.熟练掌握JavaScript。2.熟悉常用工程化工具,掌握模块化思想和技术实现方案。3.熟练掌握React前端框架,了解技术底层。同时了解vue以及angular等其他框架者优先。4.熟练掌握react生态常用工具,redux/react-router等。5.熟悉各种Web前端技术,包括HTML/XML/CSS等,有基于Ajax的前端应用开发经验。6.有良好的编码习惯,对前端技术有持续的热情,个性乐观开朗,逻辑性强,善于和各种背景的人合作。7.具有TS/移动设备上前端开发/NodeJS/服务端开发等经验者优先。
首先,总览全部的要求,会发现这个职位虽然提到了3d相关的技能,但是大部分却是应用开发相关的能力,所以这个职位并不是想找专业的3d领域同学,而是需要一个工程化能力强,对3d有了解的同学。
0.掌握图形学,webgl或熟练使用threejs框架,熟练canvas相关渲染及动画操作的优先。
初级:
- 学习过图形学相关知识,知道矩阵等数学原理在动画中的作用,知道三维场景需要的最基础的构成,能用threejs搭3d场景,知道webgl和threejs的关系。
- 知道canvas是干嘛的,聊到旋转能说出canvas的api。
- 知道css动画,css动画属性知道关键字和用法(换句话说,电话面试会当场出题要求口喷css动画,至少能说对大概,而不是回答百度一下就会用)。
- 知道js动画,能说出1~2个社区js动画库,知道js动画和css动画优缺点以及适用场景。
- 知道raf和其他达到60fps的方法。
中级:
- 如果没有threejs,你也能基于webgl自己封装一个简单的threejs出来。
- 聊到原理能说出四元数,聊到鼠标操作能提到节流,聊到性能能提到restore,聊到帧说出raf和timeout的区别,以及各自在优化时候的作用。
- 知道怎样在移动端处理加载问题,渲染性能问题。
- 知道如何结合native能力优化性能。
- 知道如何排查性能问题。对chrome动画、3d、传感器调试十分了解。
高级:
- 搭建过整套资源加载优化方案,能说明白整体方案的各个细节,包括前端、客户端、服务端分别需要实现哪些功能点、依赖哪些基础能力,以及如何配合。
- 设计并实现过前端动画引擎,能说明白一个复杂互动项目的技术架构,知道需要哪些核心模块,以及这些模块间如何配合。
- 有自己实现的动画相关技术方案产出,这套技术方案必须是解决明确的业务或技术难点问题的。为了业务快速落地而封装一个库,不算这里的技术方案。如果有类似社区方案,必须能从原理上说明白和竞品的差异,各自优劣,以及技术选型的原因。
1.熟练掌握JavaScript。
初级:
- JavaScript各种概念都得了解,《JavaScript语言精粹》这本书的目录都得有概念,并且这些核心点都能脱口而出是什么。这里列举一些做参考:
- 知道组合寄生继承,知道class继承。
- 知道怎么创建类function + class。
- 知道闭包在实际场景中怎么用,常见的坑。
- 知道模块是什么,怎么用。
- 知道event loop是什么,能举例说明event loop怎么影响平时的编码。
- 掌握基础数据结构,比如堆、栈、树,并了解这些数据结构计算机基础中的作用。
- 知道ES6数组相关方法,比如forEach,map,reduce。
中级:
- 知道class继承与组合寄生继承的差别,并能举例说明。
- 知道event loop原理,知道宏微任务,并且能从个人理解层面说出为什么要区分。知道node和浏览器在实现loop时候的差别。
- 能将继承、作用域、闭包、模块这些概念融汇贯通,并且结合实际例子说明这几个概念怎样结合在一起。
- 能脱口而出2种以上设计模式的核心思想,并结合js语言特性举例或口喷基础实现。
- 掌握一些基础算法核心思想或简单算法问题,比如排序,大数相加。
2.熟悉常用工程化工具,掌握模块化思想和技术实现方案。
初级:
- 知道webpack,rollup以及他们适用的场景。
- 知道webpack v4和v3的区别。
- 脱口而出webpack基础配置。
- 知道webpack打包结果的代码结构和执行流程,知道index.js,runtime.js是干嘛的。
- 知道amd,cmd,commonjs,es module分别是什么。
- 知道所有模块化标准定义一个模块怎么写。给出2个文件,能口喷一段代码完成模块打包和执行的核心逻辑。
中级:
- 知道webpack打包链路,知道plugin生命周期,知道怎么写一个plugin和loader。
- 知道常见loader做了什么事情,能几句话说明白,比如babel-loader,vue-loader。
- 能结合性能优化聊webpack配置怎么做,能清楚说明白核心要点有哪些,并说明解决什么问题,需要哪些外部依赖,比如cdn,接入层等。
- 了解异步模块加载的实现原理,能口喷代码实现核心逻辑。
高级:
- 能设计出或具体说明白团队研发基础设施。具体包括但不限于:
- 项目脚手架搭建,及如何以工具形态共享。
- 团队eslint规范如何设计,及如何统一更新。
- 工具化打包发布流程,包括本地调试、云构建、线上发布体系、一键部署能力。同时,方案不仅限于前端工程部分,包含相关服务端基础设施,比如cdn服务搭建,接入层缓存方案设计,域名管控等。
- 客户端缓存及预加载方案。
3.熟练掌握React前端框架,了解技术底层。同时了解vue以及angular等其他框架者优先。
初级:
- 知道react常见优化方案,脱口而出常用生命周期,知道他们是干什么的。
- 知道react大致实现思路,能对比react和js控制原生dom的差异,能口喷一个简化版的react。
- 知道diff算法大致实现思路。
- 对state和props有自己的使用心得,结合受控组件、hoc等特性描述,需要说明各种方案的适用场景。
- 以上几点react替换为vue或angular同样适用。
中级:
- 能说明白为什么要实现fiber,以及可能带来的坑。
- 能说明白为什么要实现hook。
- 能说明白为什么要用immutable,以及用或者不用的考虑。
- 知道react不常用的特性,比如context,portal。
- 能用自己的理解说明白react like框架的本质,能说明白如何让这些框架共存。
高级:
- 能设计出框架无关的技术架构。包括但不限于:
- 说明如何解决可能存在的冲突问题,需要结合实际案例。
- 能说明架构分层逻辑、各层的核心模块,以及核心模块要解决的问题。能结合实际场景例举一些坑或者优雅的处理方案则更佳。
4.熟练掌握react生态常用工具,redux/react-router等。
初级:
- 知道react-router,redux,redux-thunk,react-redux,immutable,antd或同级别社区组件库。
- 知道vue和angular对应全家桶分别有哪些。
- 知道浏览器react相关插件有什么,怎么用。
- 知道react-router v3/v4的差异。
- 知道antd组件化设计思路。
- 知道thunk干嘛用的,怎么实现的。
中级:
- 看过全家桶源码,不要求每行都看,但是知道核心实现原理和底层依赖。能口喷几行关键代码把对应类库实现即达标。
- 能从数据驱动角度透彻的说明白redux,能够口喷原生js和redux结合要怎么做。
- 能结合redux,vuex,mobx等数据流谈谈自己对vue和react的异同。
高级:
- 有基于全家桶构建复杂应用的经验,比如最近很火的微前端和这些类库结合的时候要注意什么,会有什么坑,怎么解决
5.熟悉各种Web前端技术,包括HTML/XML/CSS等,有基于Ajax的前端应用开发经验。
初级:
- HTML方面包括但不限于:语义化标签,history api,storage,ajax2.0等。
- CSS方面包括但不限于:文档流,重绘重排,flex,BFC,IFC,before/after,动画,keyframe,画三角,优先级矩阵等。
- 知道axios或同级别网络请求库,知道axios的核心功能。
- 能口喷xhr用法,知道网络请求相关技术和技术底层,包括但不限于:content-type,不同type的作用;restful设计理念;cors处理方案,以及浏览器和服务端执行流程;口喷文件上传实现;
- 知道如何完成登陆模块,包括但不限于:登陆表单如何实现;cookie登录态维护方案;token base登录态方案;session概念;
中级:
- HTML方面能够结合各个浏览器api描述常用类库的实现。
- css方面能够结合各个概念,说明白网上那些hack方案或优化方案的原理。
- 能说明白接口请求的前后端整体架构和流程,包括:业务代码,浏览器原理,http协议,服务端接入层,rpc服务调用,负载均衡。
- 知道websocket用法,包括但不限于:鉴权,房间分配,心跳机制,重连方案等。
- 知道pc端与移动端登录态维护方案,知道token base登录态实现细节,知道服务端session控制实现,关键字:refresh token。
- 知道oauth2.0轻量与完整实现原理。
- 知道移动端api请求与socket如何通过native发送,知道如何与native进行数据交互,知道ios与安卓jsbridge实现原理。
高级:
- 知道移动端webview和基础能力,包括但不限于:iOS端uiwebview与wkwebview差异;webview资源加载优化方案;webview池管理方案;native路由等。
- 登陆抽象层,能够给出完整的前后端对用户体系的整体技术架构设计,满足多业务形态用户体系统一。考虑跨域名、多组织架构、跨端、用户态开放等场景。
- mock方案,能够设计出满足各种场景需要的mock数据方案,同时能说出对前后端分离的理解。考虑mock方案的通用性、场景覆盖度,以及代码或工程侵入程度。
- 埋点方案,能够说明白前端埋点方案技术底层实现,以及技术选型原理。能够设计出基于埋点的数据采集和分析方案,关键字包括:分桶策略,采样率,时序性,数据仓库,数据清洗等。
6.有良好的编码习惯,对前端技术有持续的热情,个性乐观开朗,逻辑性强,善于和各种背景的人合作。
初级:
- 知道eslint,以及如何与工程配合使用。
- 了解近3年前端较重要的更新事件。
- 面试过程中遇到答不出来的问题,能从逻辑分析上给出大致的思考路径。
- 知道几个热门的国内外前端技术网站,同时能例举几个面试过程中的核心点是从哪里看到的。
高级:
- 在团队内推行eslint,并给出工程化解决方案。
- 面试过程思路清晰,面试官给出关键字,能够快速反应出相关的技术要点,但是也要避免滔滔不绝,说一堆无关紧要的东西。举例来说,当时勾股老师面试我的时候,问了我一个左图右文的布局做法,我的回答是:我自己总结过7种方案,其中比较好用的是基于BFC的,float的以及flex的三种。之后把关键css口喷了一下,然后css就面完了。
7.具有TS/移动设备上前端开发/NodeJS/服务端开发等经验者优先。
- 根据了解的深度分初/中/高级。
- 知道TS是什么,为什么要用TS,有TS工程化实践经验。
- 知道移动端前端常见问题,包括但不限于:rem + 1px方案;预加载;jsbridge原理等。
- 能说出大概的服务端技术,包括但不限于:docker;k8s;rpc原理;中后台架构分层;缓存处理;分布式;响应式编程等。
JD的要求很难吗?
首先,感谢你能看到这里,如果你是仔细看的,那么我更加感动了。而且你已经用实际行动,证明了你的学习能力和耐心。上面那么大篇幅的JD翻译,有一个问题,大家应该都有答案了:为什么职位描述看着简单,面试却这么难呢?然而,有些同学可能会嘲讽起来:写了那么多,我认识的有些阿里P6,P7也不是都会啊,大厂都是螺丝钉,也就面试时候问问,实际工作不还是if else,何况我又遇不到这些场景,我怎么可能知道。在这里,我想严肃的说明的是:
- 我所认识的淘宝前端,以及我所在团队的P6同学,上面初级都能做到,中级至少覆盖60%,高级覆盖20%;P6+同学,中级覆盖80%以上,高级覆盖50%以上;P7同学高级覆盖80%以上。
- 我们团队的前端,每一个人都负责多个复杂业务项目(客观数据上:至少对接20+服务端接口,5个以上router配置,涉及多个用户角色的综合业务系统),以及一些通用能力,比如组件库等。不存在一个人只接一条业务线,只负责维护某几个组件这种螺丝钉式的工作。我不知道大厂都是螺丝钉的言论为什么会被复用到互联网企业,我个人感受是,如果我在阿里的工作是螺丝钉,那么我以前几份工作可能勉强算是螺纹。另外,如果你想要晋升,那么维护好这几个业务系统只是你的本职工作,晋升时请提供一些更高层面的思考和技术产出。
- if else也分鲜花和牛粪。有的人写的是[].reduce,而有的人写的是var temp = ''; for() { temp += 'xxx' }。另外,如果不知道原理,那么类似webpack这种明星级的技术产品,将永远与你无缘。冷静下来想想,webpack难道也只是if else吗?是,又不全是。
聪明的你应该看出来了,上面JD翻译里的初级、中级和高级,对应的就是我认为的,阿里p6/p6+/p7的能力标准,同时也是一张知识图谱。
初级的要求更偏实际应用和基础原理,中级的要求是基于原理的拓展和复杂技术架构的应用,高级的要求是对跨栈、跨端,多领域结合产出综合方案的能力。而且,我们对技术的要求,都是能够与实际业务场景结合,或者能对提升工作效率有帮助的。空谈和尬想,或者只是百度来的文章,没有经过内化,那么面试过程中将被瞬间拆穿。
如果并没有把你劝退的话,那么让我们来点希望的曙光。这里用一句阿里土话来给大家一些安慰:不难,要你干嘛?
如果你是面试官,在简历的大海里看一个项目描述,什么最吸引你的眼球呢?是webpack,happypack的关键字吗?还是一句话就让你想到这件事的复杂性,和这个系统带来的巨大价值?没有场景怎么办?
这也是很多同学经常遇到的问题。上面例举了那么多技术点,而我在的环境,前端就我一个,甚至服务端我都要写一点,哪有精力去搞这种大规模团队用到的东西?
首先,时间靠自己合理规划。我和老婆两个人自己带孩子,有两个娃,每天平均9点下班,我每天回家收拾玩具,孩子睡得晚可能需要再陪玩一下,周末我带孩子为主,但是我去年仍然白金了2个ps4的游戏。
在时间问题排除之后,我建议分三个阶段:
- 毕业3年以内的阶段:不用着急,你的选择很多,你可以核对上面初级的点,看自己是否都做到了,没做到就去好好学习吧,初级的技术要点对团队规模没有依赖,一个人也能做到极致。如果你所处的环境已经有2个人,可以同时关注中级和高级的点,不要觉得人少就不去尝试,放手去做,过程中会有实打实的收获。
- 毕业5年以内的阶段:不论你处的环境团队规模如何,请开始着眼于中级和高级相关能力,人少就不需要研发提效了吗?我在segmentFault上发的第一篇文章,是如何用travis和github做一键部署,那时候我还没有去淘宝,我所在的团队也没有用到这个能力,这篇文章是我自己的个人项目用到的。而整个过程同样涉及到了研发效能的方方面面。
- 毕业8年以内的阶段:请开始着眼于高级相关的技术方案产出。我以组件动态化为例,我早年维护手机淘宝的整个交易链路H5页面,所有页面的ui部分都是细粒度组件化抽离,通过配置下发页面结构的。即使一个人维护一个页面,也要竭尽所能去思考好的技术方案。这种高度动态的设计,带来的好处是,每年双十一,80%的需求交给pd自己处理就行了,剩下流转到我手上需要开发的需求,都是新增交互,或者之前抽象不足的组件。所以当时我在的团队,3个人在维护了包括手淘首页、商品详情和正逆向交易链路所有H5页面,同时还有额外精力去支持大促会场页。更好的技术思考和设计,一定能给你带来更多的可能性,而系统的优雅程度,一定不是靠业务代码的堆砌,而是作为技术核心的你,如何去思考。
我相信每个人都是能快速成长的,只是每个人缺少的东西不同。有的人少了些脚踏实地,有的人少了些登高望远的机会,更多的人或许只是没有找到那条正确的路。
我希望这篇文章能够帮助到正在前端领域努力的人,也希望这一篇文章就能成为指路明灯之一。
——————————————————————————————————————————
本账号主体为阿里巴巴淘系技术,淘系技术部隶属于阿里巴巴新零售技术事业群,旗下包含淘宝技术、天猫技术、农村淘宝技术、闲鱼、躺平等团队和业务,是一支是具有商业和技术双重基因的螺旋体。
入驻知乎,将会给大家带来超多干货分享,立体化输出我们对于技术和商业的思考与见解。详情介绍可以看这里 阿里巴巴淘系技术介绍
欢迎收藏点赞关注我们!共同进步~ :)
更多技术干货可关注【淘系技术】公众号
八、前端工程师如何成为后端工程师?
理解好接口文档:
接口文档后台定义的,和后台伙伴沟通好。
阶段性进行整合:
一段时间就一起把一部分功能尝试合在一起,定期沟通接口的改变,保证不会出问题。
也可以试着践行前后端分离:
降低前后端耦合,让开发更顺畅
感情沟通:
平常没事 一起吃个饭,前后端开发工作 在于磨合,一对搭档磨合一个月 以后做点什么事 都特别顺的,这也是未来的财富富。
九、前端需要掌握哪些技能?
基础:
1. ps、ai:这是辅助工具。切图或者制作或修改图标时会用到的。不要总指望美工给你全部搞好,大厂也是,很多时候确实需要自己动手。
2.html:前端基础之一。了解html的标签,并且在合适的地方使用合适的标签,不要除了div就是span,这么写html早晚会sb的。对于html5的规范、网站无障碍等等也要有一定的了解。
3.css:前端基础之一。前端模块化之后,css能力其实是更加重要了,因为再也没有美工给你切图了,你负责的部分你不写css谁替你写?很多公司美工出图和静态页之后,css其实还是要自己写的。
4.js:前端基础之一。从ES3到ES2018。canvas、webgl、播放器、陀螺仪、地理定位等等都会用到。
5.node:前端基础之一。
6.数学:数学是前端动画的基础,简单如加减乘除、复杂如各种公式,都可能用到。
扩展:
7.前端的构建工具和打包工具:gulp、babel、rollup、webpack。在开发库时,多个开发语言的可以考虑gulp,打包使用rollup。项目开发肯定选webpack了。
8.各种库和框架:jquery、angular、react、vue等等。
9.css预处理器和后处理器:less、sass、stylus,postcss目前以我的经验来看开发提升的不大。
10.服务器的工作流程:就是从浏览器发送请求开始,到后端的处理,再到浏览器接收到数据的这一段时间干了啥得有个数。
11.数据库:原谅我只会mysql。
还有,有些理论是错误的,虽然很多人这么说:
1.html:全部使用div就能搞定一个网站:这是我在知乎上看到的话题,好多人还居然真的这么干。1.这么做不利于维护,语义化的标签不仅仅是给搜索引擎看的,也是给自己看的,2.某些标签上默认的动作,换个标签就需要更多的js去模拟,3.跨平台不是问题,现在跨平台的css样式真的简单得多,没有很大的问题
2.切图没有用,只会js就好:使用前端三大框架和webpack后,很多都是组件化开发,对于组件化的开发来说,html、css都需要自己写了。美工、切图给你写?不存在的,大厂也需要你自己写。无论是前端的网站(使用服务器端渲染)还是后端所谓的管理平台(更没人给你写了),都是靠你自己的。
十、前端工程师能移民吗?
能。前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。前端工程师使用 HTML、CSS、JavaScript 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互问题。所有用户终端产品与视觉和交互有关的部分,都是前端工程师的专业领域。
所以说可以移民。