在前端岗位上已经工作了有十个年头了,可以整理一些方法和内容给新加入的前端同学,以最短的时间上手到公司岗位上。现在的前端开发比起10年那块的前端要容易得多,很多工具都做了很好的封装,vue,react把前端的入门门槛降得很低,一位后端开发,只要一天文档,照着demo写两百行代码,差不多可以做出一个ui比较好的页面了。做为非专职前端,建议以这样的方式快得产出页面和解决问题。做为专职前端需要体系化知识专业的解决问题,前端一直以来以三剑客并行,到14年后nodejs加入到前端的bff技术栈中,且以“神奇四侠”称这四项技术吧。如果需要前端入门书籍,可以进君羊606940296。
html
Java
css
nodejs
HTML 切图
html相信是比较容易的,以tag标签写出面语义化的页面,最不行全部以div把写页拼湊起来,专业的不能全写div了,什么样内容写什么标签,该img还是icon都要专业衡量后输出到html上,从视觉设计稿到html静态页面的过程也是一个充满思考设计的过程,大致说一下如果要做一个全新的站点,一下子拿到十来张的视觉稿来怎么做这个站点的HTML切图。
先分析一下整站的设计风格,如色系,布局,分栏等
分析站点的导航,banner,topbar,footer等公共区域
布局,切分页面的模块把某个频道页的布局全拆出来,拆出布局后的骨架
在布局的区块上写html内容
写区块时做定位,做图标,做列表等内容
一般10个页面的站点,快些的切图高手2天可以切成html结构,慢些的3~4天也基本可以完成切图工作。
不过说回来,我们现在的开发,不太喜欢先把页面切成静态稿,再转换成js模块,喜欢连着mock数据,边写html结构,边写逻辑,边写结构,这样的工作模式也是可以的,只是在连续切换的过程中,开发比较容易疲劳,做完一个模块休息一下,工作效率可能会有下降。
CSS
我是比较传统的CSS写手,我们用的是NEC的css模块,现在写css模块样式时还是有很强的NEC的模块痕迹,现在流行的BEM, 在有很多css预处理器的帮助下,用些变量和符号完成长串的css的变量的命名,无论用哪种方法,css的核心,盒子模型,布局,定位,表现属性等,这些都熟悉了,css基本都写得比较不错了
Java
java最近几年发展最快的一个领域,在整体入门门槛降低的时候,JS的入门门槛并没有下降,es5,es6,es7,es8在不停的演进,给编程带来了很多好用的api和编程模式,能解决越来越多的复杂问题,但对刚入门的同学来说,并没有经历过那些问题的复杂性,如果直接上手学这些api,也基本是掌握这个api用法,在实战中解决哪类问题,还要进一步的思考,而且在面试过程中面官也会抛一些问题,用某些方法来解决。 JS个人认为闭包,数组api, 函数式编程,es6的新的语法糖,模块化等,及一些必要的dom接口,在这些熟练掌握的基础上差不多可以自由解决问题了。
nodejs
经过几年的发展,nodejs 有很成熟的框架,koa,eggjs,开发上手都非常方便,但一个问题又出现了,我们仅仅会用就达到我们的目的了吗?当别人问起来时,我们又没法答上来,而且服务器端的开发考虑的问题和前端单用户的开发又会有不少区别,代码一跑上服务器,流量一大,就出问题了,要回来排查,而又没有很好的排查方法,会进入开发的怪圈,所以在写服务器端代码要考虑除了考虑性能,还要掌握排查问题的方法。
今天写得比较多了,先把这神奇四侠简单描述一下,有想往有端发展的朋友也可以提供学习方法或建议,甚至offer建议可以点击链接。