JavaScript极速入门 —— 内核与引擎JavaScript极速入门 —— 内核与引擎 主讲人与课程设计:耕耕 浏览器内核 主流浏览器内核 JavaScript 引擎 主流浏览器JavaScript 引擎 浏览器内核与JavaScript 引擎关系 最初内核的概念包括渲染引擎与JS引擎,目前习惯直接称渲染引擎为内核,JS引擎独立。 浏览器内核 渲染引擎 JavaScript引擎 最初状态 浏览器内核 渲染引擎 JavaScript引擎 Engine,一般习惯将之称为“浏览器内核”,主要功能是解析HTML/CSS进 行渲染页面,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。 JavaScript 引擎:专门处理JavaScript脚本的虚拟机、解释器,用来解释执行js代码。在早期内 核也是包含js引擎的,而现在js引擎越来独立了,可以把它单独提出来。 总结:渲染引擎(浏览器内核)处理html/css,JavaScr ipt引擎处理JavaScript代码,有js引擎的 地方就能解析js代码 浏览器 渲染引擎(内核) 解析html/css JavaScript引擎 解析JavaScript代码 JavaScript和java什么关系 JavaScript 在刚诞生的时候,它的名字叫 “LiveScript”。但是因为当时 Java 很流行,所以决定将一种新语 言定位为 Java 的“弟弟”会有助于它的流行。0 码力 | 8 页 | 394.47 KB | 1 年前3
Composable Vue, 编写可组合可复 的Vue 函数的最佳实践与技巧可组合的 Vue Composable Vue, 编写可组合可复⽤的 Vue 函数的最佳实践与技巧 ANTHONY FU Hangzhou, China 2021 Anthony Fu antfu antfu7 Anthony Fu antfu.me Vue 核⼼成员 / Vite 团队成员 VueUse, Slidev, Type Challenges 等项⽬创作者 全职开源 有限的类型⽀持 按 API 类型组织 极易复⽤ (原⽣ JS 函数) 可灵活组合 (⽣命周期钩⼦可多次使⽤) 提供更好的上下⽂⽀持 更好的 TypeScript 类型⽀持 按功能/逻辑组织 可独⽴于 Vue 组件使⽤ 对象式 API 存在的问题 组合式 API 提供的能⼒ 什么是可组合的函数 Dark 可复⽤逻辑的集合,专注点分离 export function useDark(options: = v === preferredDark.value ? 'auto' : v ? 'dark' : 'light' }, }) } 在 VueUse 中可⽤: usePreferredDark useLocalStorage useDark 组合关系 其中每⼀个函数都可以独⽴使⽤ 专注点分离 useDark usePreferredDark0 码力 | 36 页 | 4.87 MB | 1 年前3
《玩转webpack》 第四章 进阶篇: 编写可维护的 webpack 构建配置基础篇:webpack 与构建发展简史 目 录 CONTENTS 01 基础篇:webpack 基础用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略 05 原理篇:通过源码掌握 webpack 打包原理 06 原理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项目 08 2.0 - > 16.3.0 -> 16.3.1 软件的版本通常由三位组成,形如: X.Y.Z 在发布重要版本时,可以发布alpha, rc 等先行版本 alpha和rc等修饰版本的关键字后面可 以带上次数和meta信息 遵守 semver 规范的优势 优势: ·避免出现循环依赖 ·依赖冲突减少 语义化版本(Semantic Versioning)规范格式 次版本号:当你做了向下兼容的功能性新增,0 码力 | 30 页 | 5.38 MB | 1 年前3
2019-2021 美团技术年货 前端篇Surface,将它通过 JNI 传递给 原生侧; 前端 < 7 ● 在原生侧获取 Surface 关联的本地窗口对象,并交给 Flutter 的平台容器; ● 将本地窗口对象转换为 OpenGL ES 可识别的绘图表面(EGLSurface),用 于 Flutter 引擎的渲染上屏。 接下来我们用鸿蒙提供的平台能力实现这三点。 a. 可用于直接绘制的视图对象 鸿蒙系统的 UI 框架提供了很多常 FML_DISALLOW_COPY_AND_ASSIGN(HAPAssetMapping); }; 对 于 事 件 循 环, 引 擎 提 供 了 MessageLoopImpl 抽 象 类, 我 们 可 以 使 用 鸿 蒙 Native_EventHandler API 实现: 前端 < 11 // runner_ 为鸿蒙 EventRunnerNativeImplement 的实例 void package:js 包调用 Javascript,从而实现与 Javascript 的交互。 其次,Web Plugin 不是通过注册 MethodChannel 传递消息的,Flutter 内部可直 接调用通过官方指定形式 (Federated Plugin) 编写的 Flutter Web Plugin 类。 下图完整的展示了一个 Plugin 的整体架构: Flutter Plugin0 码力 | 738 页 | 50.29 MB | 1 年前3
IMWebConf 2017 前端开发者大会Limin zhu 微软程序经理 (Program Manager II),负责开 源的TypeScript以及ChakraCore JavaScript引 擎。 TypeScript: 高效可扩 展的JavaScript开发 体验 狼叔 Qunar前端架构师,某科技公司前CTO,StuQ 明星讲师,Node.js 技术布道者,Node全栈公 众号运营者,演进经历丰 富, 的核心 基础框架,通过「微内核 + 插件机制 + 框架定制能 力」,完美达成生态共建和 差异化定制的平衡点。Egg 已开源近一年,本次分享将 介绍 Egg 的设计理念和特 点,演示在团队里如何渐进 式演进,希望能帮助开发者 定制适合自己团队的上层框 架,走向企业级开发协作。 林子杰 阿里巴巴前端开发专家,UC 浏览器内核前端 负责人,UC 内核发布知乎专栏运营者 PWA 的捕获方式与性能问题,包 括全局捕获、入侵式捕获和 无痕方式捕获。帮助react组 件开发者调试和线上质量改 进 WebAssembly作为一种新的 面向web的二进制格式,从 设计之初,就以其高效和可 陈映平 陈映平(程序猿小卡),云汉金融科技前端负 责人,前IMWEB团队成员,专注前端技术与架 构设计。 WebAssembly:面向 未来的web开发 移植性吸引了众多开发者的 关注。本次分享将对0 码力 | 8 页 | 698.99 KB | 1 年前3
廖雪峰JavaScript教程这种抽象记法非常强大,因为我们看到 ∑ 就可以理解成求和,而不是还原成低级的加法运算。 函数 抽象 3 函数 - 48 - 本文档使用 书栈(BookStack.CN) 构建 而且,这种抽象记法是可扩展的,比如: 100 ∑(n2+1) n=1 还原成加法运算就变成了: (1 x 1 + 1) + (2 x 2 + 1) + (3 x 3 + 1) + … + (100 return new Student(props || {}) 12. } 这个 createStudent() 函数有几个巨大的优点:一是不需要 new 来调用,二是参数非常灵活,可 以不传,也可以这么传: 1. var xiaoming = createStudent({ 2. name: '小明' 3. }); 4. 5. xiaoming.grade; 支持差。从IE10开始支持ES6标准; Chrome:Google出品的基于Webkit内核浏览器,内置了非常强悍的JavaScript引擎——V8。 由于Chrome一经安装就时刻保持自升级,所以不用管它的版本,最新版早就支持ES6了; Sarafi:Apple的Mac系统自带的基于Webkit内核的浏览器,从OS X 10.7 Lion自带的6.1 版本开始支持ES6,目前最新的OS X0 码力 | 264 页 | 2.81 MB | 10 月前3
前终端统⼀一⽅方案Hippy-Vue 设计和实现背景介绍 Web 开发效率⾼高 ⽀支持多平台 可动态发布 体验差 能⼒力力弱 Native 开发效率低 ⽆无法跨平台 发布复杂 体验好 能⼒力力强 传统移动端开发模式,⽆无法满⾜足业务精细化运营需求,急需寻找⼀一种⾼高性能、跨平台、动态发布的开发解决⽅方案。 前终端⼀一体化 开发效率⾼高 ⽀支持双平台 可动态发布 能⼒力力强 体验好 Hippy 简介 腾讯 向阳⽽而⽣生 代码即将对外开源 ( 发布平台) User Code JavaScript Hippy 底层三⼤大特性 ⾼高性能可复⽤用滚动列列表 动画和⼿手势实现 X5 内核团队提供⽀支持 项⽬目架构 Hippy SDK 采⽤用三层设计,其中: • JavaScript 层:提供业务代码运⾏行行时的前端上下⽂文环境; • Native Framework0 码力 | 19 页 | 556.32 KB | 1 年前3
《玩转webpack》 第三章 基础篇 Webpack 进阶用法基础篇:webpack 与构建发展简史 ⽬目 录 CONTENTS 01 基础篇:webpack 基础⽤用法 02 进阶篇:编写可维护的 webpack 构建配置 04 进阶篇:webpack 构建速度和体积优化策略略 05 原理理篇:通过源码掌握 webpack 打包原理理 06 原理理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项⽬目 。代码发布后,有⼩小部分使⽤用了了 vivo ⼿手 机的⽤用户反馈充值⻚页⾯面⽩白屏,⽆无法在 Now app 内进⾏行行充值。最后问题定位是: vivo ⼿手机使⽤用了了系统⾃自带的 webview ⽽而没有使⽤用 X5 内核,解析 JSON 时遇到 重复 key 报错,导致⻚页⾯面⽩白屏。 如何避免类似代 码问题? ⾏行行业⾥里里⾯面优秀的 ESLint 规范实践 腾讯: Airbnb: eslint-config-airbnb、 require("./dist/large-number.js"); } ⻚页⾯面打开过程 开始加载 HTML加载成功 开始加载数据 数据加载成功 渲染成功开始 加载图⽚片资源 图⽚片加载成功 ⻚页⾯面可交互 服务端渲染 (SSR) 是什什么? 渲染: HTML + CSS + JS + Data -> 渲染后的 HTML 服务端: 所有模板等资源都存储在服务端 内⽹网机器器拉取数据更更快0 码力 | 69 页 | 4.33 MB | 1 年前3
跨平台桌⾯应⽤框架:Electron感谢我的⽼婆陈雪的包容理解和悉⼼照料,才使得我 crifan 有更多精⼒去专注技术专研和整理归纳出 这些电⼦书和技术教程,特此鸣谢。 更多其他电⼦书 本⼈ crifan 还写了其他 100+ 本电⼦书教程,感兴趣可移步⾄: crifan/crifan_ebook_readme: Crifan的电⼦书的使⽤说明 crifan.com,使⽤署名4.0国际(CC BY 4.0)协议发布 all right reserved,powered Node.js 是 Javascript 的⼀个 Web Server 前端:貌美如花 的 Chromium 负责:显示内容 注:可以看成 Chromium 是 Chrome 的浏览器的内核实现 可把Electron看成 ⼀个被 JavaScript 控制的,精简版的 Chromium 浏览器 ⼀个 Node. js 的变体 专注于桌⾯应⽤⽽不是 Web Server 端 使⽤ 新: 2020-08-09 10:12:44 打包和部署 25 打包和部署 26 Electron对python⽀持 Electron本身官⽹并没有⽀持Python。 不过⽹上有⼈给出了可⾏的⽅案: 英⽂ fyears/electron-python-example: Electron as GUI of Python Applications 中⽂翻译 ⽤ Electron 作为0 码力 | 123 页 | 21.81 MB | 1 年前3
前端开发者指南(2017)35 1.6.1.36 1.6.1.37 1.6.1.38 1.6.2 1.6.2.1 1.6.3 1.6.4 1.7 1.7.1 1.7.2 1.7.3 1.7.4 学习可访问性相关知识 学习 web/浏览器 API 学习 JSON (JavaScript 对象表示法) 学习 JS 模板 学习静态网页生成器 通过JS学习计算机科学 学习前端应用架构 学习数据(例如,JSON)API 学习用户界面/交互设计 学习 HTML 和 CSS 学习搜索引擎优化 学习 JavaScript 学习 Web 动画 学习 DOM、BOM 和 jQuery 学习网页字体 & 图标 学习可访问性相关知识 学习 web/浏览器 API 学习 JSON (JavaScript 对象表示法) 学习 JS 模板 学习静态网页生成器 通过JS学习计算机科学 学习前端应用架构 学习数据(例如,JSON)API APIs) 9. 网络内容可达性指南 (WCAG) & 可访问的富互联网应用 (ARIA) 下面的介绍涵盖了以上技术的定义,相关文档以及具体规范。至于更加详尽的网络开发规范 请参看 platform.html5.org。 超文本标记语言 (HTML) 超文本标记语言,通常被称为 HTML,被用作创建网页的标准标记语言。网络浏览器可 以读取 HTML 文件并且把它们渲染成可见或可听的网页。HTML0 码力 | 164 页 | 6.43 MB | 1 年前3
共 62 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7













