前端知识体系整理

学习并工作已经有两年的时间了,一直没对自己的知识体系进行过整理。

通过面试就能发现不知道自己会什么,不清楚自己不会什么,所以是时候整理一下自己的知识体系。

我们既然是做前端开发的如果不了解前端是什么就说不不过去了。

注:前端开发最基础的html,css,javascript是必须会的而且一定要达到熟练使用甚至精通。(其实我们应该更加注重基础知识,不能只是完成项目而是做的更好)

这一章我先整理一下前端发展史:

  一、什么是前端:

    维基百科是这样说的:前端Front-end和后端back-end是描述进程开始和结束的通用词汇。前端作用于采集输入信息,后端进行处理。计算机程序的界面样式,视觉呈现属于前端。

    这种说法给人一种很模糊的感觉,但是他说得又很对,前端负责视觉展示。在MVC结构或MVP中,负责视觉显示的部分只有view层,而今天大多数所谓的View层已经超越了View层。前端是一个很神奇的概念,但是而今的前端已经发生了很大的变化。

    你引入了Backbone、Angular,你的架构变成了MVP、MVVM。尽管发生了一些架构上的比变化,但是项目的开发并没有因此而变化。这其中涉及到一些职责的问题,如果某一个层级中有太多的职责,那么它是不是加重了一些人的负担? 

    总结:目前的前端工作包括页面搭建视觉展示,数据交互。

    前端:针对浏览器的开发,代码在浏览器运行

    后端:针对服务器的开发,代码在服务器运行

  二、从静态走向动态

    1994年前端历史的起点,这一年10月13日网景推出了第一版Navigator;这一年,Tim Berners-Lee创建了w3c;这一年,Tim发布了css。还是这一年为动态web网页设计的服务端脚本PHP以及笔者本人诞生。 

    1994年一个叫Rasmus Lerdorf的加拿大人为了维护个人网站而创建了PHP。PHP原意是Personal Home Page,宣传语是Hypertext Preprocessor(超文本处理者)。PHP实现了与数据库的交互以及用于生产动态页面的模板引擎,是web领域中最主流的服务端语言。(PHP是世界最好的语言也不为过)

    1995年网景推出了javascript,实现了客户端的计算任务(如表单验证)。

    1996年微软推出了iframe标签,实现了异步的局部加载。

    1999年w3c发布了第四代HTML标准 ,同年微软推出用于异步数据传输的ActiveX,随着各大浏览器厂商模仿实现了XMLHTTPRequest。这标识着Ajax的诞生,但是Ajax这个词在六年后问世的,特别是在谷歌使用Ajax技术打造了Gmail和谷歌地图后,Ajax获得了巨大的关注。Ajax是web页面迈向web应用的关键技术,它标识着web2.0的到来。

    2006年XMLHTTPRequest被w3c正式纳入标准。

    2006年John Resig发布了jQuery,

    2008年谷歌V8引擎问世,终结了微软的垄断时代,  

    2009年w3c发布了第五代javascript,前端迎来了改革开放的新时代。

    2009年AngularJs诞生,随后被谷歌收购。

    2010年backbone.js诞生。

    2011年React和Ember诞生。

    2014年Vue.js诞生

    前后端分离大势所趋:

    后端只负责数据,前端负责其余工作,这种分工模式一定更清晰也更高效。随着基础设置的不断完善以及代码封装层级的不断提高,使得前端一个人能够完成的事越来越多,这是技术积累的必然结果。

    

    2014年,第五代HTML标准发布,也就是我们现在说的HTML5。H5是由浏览器厂商主导,与w3c合作制定的一整套web应用规范,至今仍在不断不重新的草案。

  三、从前端走向全端

    2009年Ryan Dahl发布了node,node是一个基于V8引擎的服务端javascript运行环境,类似于一个虚拟机,也就是说js在服务端语言中有了一席之地。如果说ajax是前端的第一次飞跃,那么node可算作前端的第二次飞跃。它意味着javaScript走出了浏览器的藩篱,迈出了全端化的第一步。

    一种流行的组合就是利用Express和Mongo搭建服务端程序(虽然我现在也不了解,既然想发展,就要去了解学习)

    

    web开疆拓土的步伐并不止于此。

    2007年第一代iphone发布,2008年第一台安卓手机发布。互联网就进入了移动时代。移动端的发展进程和PC的历史如出一辙,一开始是Native App的天下。但是浏览器试图取代操作系统的篡位之心从未削减。相比于原生应用,web APP有太多好处:无须开发两套系统版本、无须安装、无须手动升级、无须审核········我认为最大的好处以及驱动软件形态转向的主要原因在于降低成本,记得13年的时候韩寒说做一个app大概需要五十万,今天网上比较靠谱的分析评估半年时间从零做出一个稍微像样的App至少100万,而开发Web App花的钱一定少得多。

    制约Web App的因素有很多,但我们可以看到Web App一直在不断地修复缺陷、突破局限。你说网页有tab bar,好吧,给你个fullpage API,你说网页不能调取系统功能,好吧Geolocation API、Vibration API、Luminosity API、Orientation API·······你说网页不像APP有图标,IOS早就支持在桌面添加网页链接的快捷图标,还是乔帮主远见;你说网页必须联网,现在离线的方案也有很多啊;你说Web App性能差,性能和Native App的性能不能比,但是目前的Hybrid、nw.js、Electron、react native、weex等都可以看作Web App向Native靠近的尝试。更何况现在还有微信小程序。  

    阮一峰说:未来只有两种软件工程师

      1、端工程师

        手机端

        PC端

        Tv端

        VR端

        ........

      2、云工程师 

 

参考:

哔哔肾博客:http://www.cnblogs.com/kidney/p/6079530.html   

 

转载于:https://www.cnblogs.com/lq102855zm/p/7647139.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值