前后端常用概念

1. 浏览器内核

在Web大行其道的时代,网民需要上网浏览网页就需要依赖浏览器这个软件,掌握了浏览器就掌握了流量的入口,于是各大软件公司开始研发自己品牌的浏览器,不同品牌的浏览器其实现原理当然是有区别的,这个实现原理就是浏览器的核心,我们称其浏览器内核。

现在市面上有这么多的浏览器,如Chrome,QQ浏览器,搜狗浏览器,这些浏览器厂商是不是都是自己研发浏览器内核了?不是的!

因为有些公司或者团体将浏览器内核进行了开源,方便其他人基于该内核进行二次开发,常见的开源浏览器内核有Chromium、WebKit、Gecko。

正因为有了这些开源内核的存在,我们可以不用自己开发内核也可以开发属于自己品牌的浏览器,比如QQ浏览器,搜狗浏览器,360浏览器都是基于IE内核和Chromium内核二次封装而成,美其名曰双引擎(双内核)。

目前市面上流行的拥有自主内核的浏览器:

浏览器内核
ChromeChromium
SafariWebKit
FirefoxGecko
IEIE内核

2. JavaScript, ECMAScript, ES6, TypeScript

JavaScript是一个编程语言的名称,类似Java,C++,PHP,是由Netscape公司开发的一种解释性编程语言,其运行的宿主环境大多是浏览器,但也可以是其他环境,如Node。

因为Netscape公司希望JavaScript成为一种浏览器脚本语言的标准规范,于是在1996年将 JavaScript 提交给标准化组织 ECMA。次年,ECMA就发布了标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种标准称为ECMAScript。

所以说,ECMAScript是一个的浏览器脚本语言的标准规范

不同的浏览器内核及不同的版本对ECMAScript规范的支持情况不同, 截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1

ECMAScript 6开始,标准制定者决定不再用诸如"3.1, 5.0"这样的版本号来命名,而是每年6月发布一个ECMAScript的正式版,并且以当年的年份来命名, 如2015年6月17日ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为ECMAScript 2015

ES6只是ECMAScript 6版本的简称,我们一般用ECMAScript 6来统称ECMAScript 2015及其以后的版本。

TypeScript是由微软开发的一种开源的编程语言。它是JavaScript 的一个严格超集,并添加了静态类型及其他特性。TypeScript目前已经支持ECMAScript 2015

3. CSS, CSS3

CSSCascading Style Sheets层叠样式表的简称,在Web开发中用来定义元素样式的一种标记型语言。
CSS3是CSS(层叠样式表)的升级版本,2001年5月23日W3C完成了CSS3的工作草案。

4. V8, Node, Node.js, npm, Yarn

V8,我们通常叫做V8引擎,然而其并不是汽车发动机的V8引擎,而是由Google开发并开源的一个项目,可以解释和执行JavaScript,因为其性能非常高,目前得到了广泛的应用,如Node.js就是基于该引擎而开发。

Node.js和Node是一个东西,Node是Node.js的简称。

npmnode package management)是Node.js的一个包管理工具,目前已经内置到了Node.js中,不需要再单独安装。

yarn也是一个包管理工具,由Facebook、Google、Exponent 和 Tilde 联合推出,其目的是为了弥补npm的一些缺陷。

5. React, Vue, Angular

这3个说白了都是Javascript库。

我们最初开发Web的时候用的是HTML+CSS+JavaScript,后来有人觉得用纯js撸太繁琐了,就有了后来的jQuery这样的JavaScript库,但随着业务的扩增,数据交互越来越复杂,使用jQuery也太繁琐了,于时又有了React, Vue, Angular这样的库。

总之,前端生态真繁荣。。。。

6. Ant Design, Element UI

前面说到了React, Vue, Angular,虽然又了这些库,数据交互方面变得简单了,但页面效果还是需要CSS和JS一行行代码来实现的,比如要实现一个下拉列表,动态按钮等。于时现在又出现了一些基于React, Vue和Angular这些库的UI组件库,这些UI库将常用的组件封装好了,在开发中直接引入使用,改改属性,设置下参数即可。

7. Scaffold(脚手架)

通俗的讲就是将一些重复性的事情整合成一个工具,这个工具就可以叫脚手架。

8. MySQL, Redis, MongoDB, Oracle, PostgreSQL, NoSQL

数据库目前分为关系型数据库和非关系型数据(即NoSQL),不同类型的数据各有其特点。同样,同一类型但不同品牌的数据库也各有其特点和应用领域 。

不能单纯的评判哪种数据库的好坏,一个项目中可能同时用到多个不同种类的数据库。

1、关系数据库
MySQL、MariaDB、PostgreSQL、Microsoft Access、Microsoft SQL Server、Oracle、Sybase等等。

2、非关系型数据库(NoSQL)
BigTable(Google)、Cassandra、MongoDB、CouchDB、Redis等等。

9. Nginx, Apache

都是Web服务器,不同的团队研发,各有其优缺点。

10. 反向代理

反向代理单纯从名字上理解就是正向代理的反方向。

那什么是正向代理?代理内部网络访问外部网络的代理就是正向代理,比如你需要从公司局域网中的电脑A经过代理服务器B访问网站C:

A --> B --> C

如果你认为A是内部网络,C是外部网络,那B就是正向代理;

如果你认为A是外部网络,C是内部网络(当然我们一般不这么认为),那么B就是反向代理。

11. RESTful

一切具有REST特性的服务都可以成为RESTful服务,那么REST特性是什么了?

REST 是Representational state transfer的缩写,维基百科上的解释为:

Representational State Transfer (REST) is a software architecture style consisting of guidelines and best practices for creating scalable web services. REST is a coordinated set of constraints applied to the design of components in a distributed hypermedia system that can lead to a more performant and maintainable architecture.

REST是一种架构风格, 只有满足这些约束,才能称之为符合REST架构风格。REST 的约束大致包括:

  1. 客户端-服务器结构
  2. 无状态
  3. 可缓存
  4. 按需代码(可选)
  5. 统一接口

持续更新中…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

china_jeffery

你的鼓励是我前进的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值