浅谈前端学习

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

导读

本人从android开发转前端后,半年的前端开发经历,总结一下前端的学习思路以及后续方向。这个过程虽然也没做什么牛逼的大项目,过程中总结了一些学习的想法,所以分享下前端开发学习相关的东西。当然本文不是教你写代码,只是告诉你大概的一个学习的脚手架。

1.浏览器内核背景

谈谈前端的学习,就离不开运行所在的环境的发展,下面简单介绍下浏览器的内核的一个结构以及情况,这样可以更好的帮助你了解学前端会遇到哪些问题,如何去解决。

浏览器内核结构:

  • 渲染引擎:负责将页面的渲染
  • js执行引擎:负责页面js交互逻辑代码执行

本身浏览器js引擎和渲染引擎最早是不进行区分,随着js引擎越来越独立,后续内核就越来越倾向于指代渲染引擎。以下简单介绍下:

1. pc主流浏览器目前常见的内核渲染引擎。

  • trident(万恶的ie)
  • gecko(mozilla)
  • webkit (apple)
  • blink(chrome)
  • presto(opera)

2. 移动端的主流浏览器内核渲染引擎

  • webkit(apple)
  • blink(chrome)
  • trident(万恶的ie)

3. 主流js执行引擎(js虚拟机,实现es语法支持)

  • JavascriptCore(apple)
  • V8(chrome)
  • Chakra(ie)
  • SpiderMonkey(mozilla)

综上说白了,做前端各种兼容坑就是各种内核不同带来的。毕竟也是有浏览器发展历史的原因的。w3c规范都是晚于浏览器实现的,做任何端都普遍存在类似的历史问题。最终结果就是:

  • 每种渲染引擎的不同,就代表着你html以及css运行在浏览器的效果不同
  • 每种js引擎的不同,就代表着你js的代码也存在各种浏览器兼容问题

2.抛砖引玉

根据上述浏览器内核的发展史,大概也明确了前端必须具备以下基本技能外加一个好的ide或者编辑器:

  • javascript
  • css
  • html

明确好前端需要的技术后,简单的先看个最简单的例子




 


                    
                    

你可能感兴趣的:(浅谈前端学习)