前端应用的领域之终端和跨端
命令行/终端 webpack CLI Babel CLI Vue CLI React CLI
桌面跨端 Electron NW.js桌面跨端
移动跨端 React Native Flutter
WebAssembly
简单的说,wasm并不是一种编程语言,而是一种新的字节码格式,目前,主流浏览器都已经支持 wasm。与 JavaScript 需要解释执行不同的是,wasm字节码和底层机器码很相似可快速装载运行,因此性能相对于 JavaScript 解释执行有了很大的提升。
前端框架
了解框架前先了解作者
深入理解现代浏览器
w3c/20190603_cncuckoo_深入理解现代浏览器.md at master · 75team/w3c (github.com)
本文章由四个部分组成:
- 架构:浏览器的实现架构
- 导航:从输入URL到获得HTML响应
- 渲染:浏览器解析HTML、下载外部资源、计算样式并把页面绘制到屏幕上
- 交互:用户输入事件的处理与优化
思考浏览器会如何运行代码,会更好地达到提升用户体验的目标
架构
Chrome最新的架构:最上层是浏览器进程,负责协调承担各项工作的其他进程,比如实用程序进程、渲染器进程、GPU进程、插件进程等
每个进程的作用:
- 浏览器进程:控制浏览器这个应用的chrome(主框架)部分,包括地址栏、书签、前进/后退按钮等,同时也会处理浏览器不可见的高权限任务,如发送网络请求、访问文件。
- 渲染器进程:负责在标签页中显示网站及处理事件。一个标签页就是一个渲染器进程。
- 插件进程:控制网站用到的所有插件。
- GPU进程:在独立的进程中处理GPU任务。之所以放到独立的进程,是因为GPU要处理来自多个应用的请求,但要在同一个界面上绘制图形
更多可看网址:w3c/20190603_cncuckoo_深入理解现代浏览器.md at master · 75team/w3c (github.com)
http的概览
1、HTTP是什么?
HTTP 概述 - HTTP |多核 (mozilla.org)
HTTP是用于获取HTML文档等资源的协议。是web上任何数据交换的基础,是一种客户端-服务器协议。
客户端和服务器通过交换单个消息(而不是数据流)进行通信。 客户端(通常是 Web 浏览器)发送的消息称为请求,服务器作为应答发送的消息称为响应
在客户端与服务器之间有许多实体,统称为代理
客户端:用户代理
用户代理是代表用户执行操作的任何工具。 此角色主要由 Web 浏览器执行。浏览器始终是发起请求的实体。 为了显示网页,浏览器会发送原始请求来获取表示该页面的 HTML 文档。然后进行解析。
通信通道的另一端是服务器,它根据客户端的请求提供文档。