Yew 0.17.3 Documentation(英文版)

  • 更新时间:
  • 1171人关注
  • 点击下载

这是一个不错的Yew教程类学习资源,由向俊豪提供,主要知识点是关于Yew、Yew教程、Yew教程的内容,已被225人关注,同类资源中评分为8.1分。

Yew ,一个设计先进的 Rust 框架,目的是使用 WebAssembly 来创建多线程前端 web 应用。

  • Getting Started
  • Concepts
  • Advanced topics
  • More
精选笔记:深入了解JavaScript 的 WebAssembly

12小时54分钟前回答

JavaScript 的 WebAssembly

本周发布的 Firefox 52 加入了对 WebAssembly 的支持,成为第一个支持 WebAssembly 标准的浏览器,而其它浏览器如 Chrome 57、Safari 和 Edge 也都会陆续支持 WebAssembly。WebAssembly 源于Mozilla 发起的 Asm.js 项目,设计补充而非取代 JavaScript,它是一个二进制格式,容易翻译到原生代码,本地解码速度比 JS 解析快得多,让高性能的 Web 应用在浏览器上运行成为可能,比如视频游戏、计算机辅助设计、视频和图像编辑、科学可视化等等。

未来,现有的生产力应用和 JavaScript 框架都有可能使用 WebAssembly,能显著降低加载速度,同时改进运行性能。开发者可以将针对 CPU 密集计算的 WebAssembly 库整合到现有的 Web 应用中。

你听说过 WebAssembly 吗?这是由 Google , Microsoft , Mozilla , Apple 等几家大公司合作发起的一个关于 面向Web的通用二进制和文本格式 的项目。 现在就让我们来看看WebAssembly到底是个啥?为什么它的出现和未来的发展跟我们每个人都息息相关,即使你并不是一个程序猿/媛~

至少在某种程度上,它将改变Web生态。

JavaScript–Web世界的汇编语言

我们有许多面向Web应用的开发规范,这些设计优良的规范让Web开发者们的工作变得更加的简单。我们很难想象自己所创建和网站或应用没有任何规则、编程语言、框架和开发理念可以遵循。

而将所有这些事情组合到一起的Web规范有一个众所周知的名字: JavaScript !

JavaScript基本上已经成为了Web平台的标准开发语言。而随着越来越多的软件成为了Web应用,JavaScript更是获得了极大的发展。

但在过去几年,我们看到越来越多的项目问世,它们试图通过开发编译程序,将其他语言代码转化为 JavaScript,以此让开发者克服 JavaScript自身存在的一些短板。其中一些项目专注于给编程语言增加新的功能,比如微软的 TypeScript 和Google的 Dart ,或是加快 JavaScript的执行速度,例如 Mozilla 的 asm.js 项目和Google的 PNaCI 。

在默认环境下,JavaScript文档其实就是简单的文本文件,先是从服务器下载,然后由浏览器中的 JavaScript引擎解析并编译。用户可以通过Ajax技术在浏览网页时与服务器进行通信。

在浏览器端目前是使用JavaScript来实现与用户进行动态交互等功能,虽然很多JavaScript框架都致力于性能优化,但是一套基于字节码的系统仍然会有更快更好的性能表现。

所以,WebAssembly到底是个什么鬼?

WebAssembly是一种新的字节码格式。它的缩写是".wasm", .wasm 为文件名后缀,是一种新的底层安全的二进制语法。。它被定义为“精简、加载时间短的格式和执行模型”,并且被设计为Web 多编程语言目标文件格式。

这意味着浏览器端的性能会得到极大提升,它也使得我们能够实现一个底层构建模块的集合,例如,强类型和块级作用域。(原文: And it gives us access to a set of low level building blocks, such as a range of types and operations. 这句话我实在不知如何翻译。。。)

不过别搞错了,这并不意味着WebAssmbly是为了取代 JavaScript而生哟~ 就像Bjarne Stroustup说的:“JS会活得很好,因为世界上只有两种类型的语言:一类语言被人们不断的地吐槽,而另一类语言压根儿没人用!”而 Eric Elliott 认为:“最好不要把WebAssembly仅仅当做一门编程语言,实际上它更像是一个编译器。”

从asm.js到WebAssembly?

asm.js 是一个JavaScript的一个严格的子集,可以被用来作为一个底层的、高效的编译器目标语言。asm.js提供了一个类似于C/C++虚拟机的抽象实现,包括一个可有效负载和存储的大型二进制堆、整型和浮点运算、高阶函数定义、函数指针等。

asm.js的思想是使用它所规定的方法来编写JavaScript代码,支持asm.js的引擎会将代码转变为十分高效的机器码。如果你是将C++代码编译为asm.js,将在浏览器端获得极大的性能提升。webassembly相较于asm.js的优势主要是涉及到性能方面。根据 WebAssembly FAQ 的描述:在移动设备上,对于很大的代码库,asm.js仅仅解析就需要花费20-40秒,而 实验 显示WebAssembly的加载速度比asm.js快了20倍,这主要是因为相比解析 asm.js 代码,JavaScript引擎破译二进制格式的速度要快得多。

这玩意儿到底好在哪?

你很可能会问:“为啥所有人都在谈论WebAssembly?”这是因为WebAssembly对于JS来说绝对是一个巨大的改进,但我们常常会问自己:“这样,就够了吗?”当然不是,WebAssembly对于浏览器来说也有着非同一般的意义。 支持WebAssembly的浏览器可以识别二进制格式的文本,它有能力编译比JS文本小得多的二进制包。 这将给web应用带来类似与本地应用的性能体验!这四不四听起来很棒啊?!如果浏览器不得不解析完整的JS代码,这将会耗去好多时间(特别是在移动平台上),而浏览器对WebAssembly格式的解码速度显然要快得多得多得多:) 下面献上JS作者BE大神的演讲视频地址(油管,需FQ): Brendan Eich on JavaScript Taking Both the High and Low Roads - O'Reilly Fluent 2014

都有谁入了WebAssembly的坑?

包括Google, Microsoft,Mozilla只是这一长串名单中的少数几家公司。项目带头人们发起了 WebAssembly Community Group 这一社区,这个团队的愿景是“在一种新的,轻量的web编码格式的基础上,促进浏览器厂商们的合作.” 不过,WebAssembly项目还只是刚刚启动,虽然它有一个美妙的开头,但在WebAssembly成为一个大众认可的web标准之前,它还有很长的路要走。

为啥这玩意会影响每一个web开发者

因为webassembly让开发者有能力选择之前那些不能用来开发web应用的语言来进行web开发,或者他们也可以继续使用简单易用的JavaScript! W3C WebAssembly Community group 给出了一些WebAssembly的用例,它们展示了WebAssembly如何使得web开发者更加轻松的工作:

  • 一些执行效率更高的语言可以被编译成在Web平台上执行的代码。
  • 提供了在浏览器端的开发者工具
  • 更加快捷的企业级应用客户端(例如:数据库)

WebAssembly的用途很多。举几个栗子:WebAssembly可以被嵌入到已经开发好的JavaScript/HTML代码中;或者某款应用的主要框架可以使用 WebAssembly 模块(如动画、可视化和压缩等),而用户界面仍然可以主要使用 JavaScript/HTML语言编写。

精简的代码,更好的性能,更少的bug?

据WebAssembly的开发团队描述,使用WebAssembly意味着更少的原代码。与asm.js相比,它减少了大约25%的代码量。虽然这仅仅是一个原型。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

相关声明:

Yew 0.17.3 Documentation(英文版)下载资源由用户 饶宛菡 于 2021-04-29 14:32:33 分享至百度网盘。仅供想学习Yew教程的网友交流使用,专题参考:Yew教程,

相关资源

  • 轻量级Java Web企业应用实战

    轻量级Java Web企业应用实战

    编辑推荐 《轻量级Java Web企业应用实战――Spring MVC Spring MyBatis整合开发》不是一份X天精通Java EE开发的心灵鸡汤,这是一本令人生畏的砖头书。 1. 内容实际,针对性强 本书介绍的Java EE应用示例,采用了目前企业流行的开发架构,严格遵守Java EE开发规范,而不是将各种技术杂乱地糅合在一起号称Java EE。读者参考本书的架构,完全可以身临其境地感受企业实际开发。 2.框架源代码级的讲解,深入透彻 本书针对Spring MVC、Spring、MyBatis框

    大小:85 MBJava

    立即下载
  • 网站重构:应用Web标准进行设计

    网站重构:应用Web标准进行设计

    《网站重构:应用Web标准进行设计(第3版)》内容简介:畅销书作家、设计师、网页标准教父jeffrey zeldman再次更新了他经典的、颠覆行业的指南书。这已经是《网站重构:应用Web标准进行设计(第3版

    大小:115 MB网站设计

    立即下载
  • OpenResty完全开发指南:构建百万级别并发的Web应用

    OpenResty完全开发指南:构建百万级别并发的Web应用

    大小:148 MBOpenResty

    立即下载
  • 软件开发综合实践指导教程:JAVA WEB应用

    软件开发综合实践指导教程:JAVA WEB应用

    Java Web应用技术是当今最主流的Web程序开发技术之一。目前无论是高校的计算机专业,还是IT培训学校都将Java Web应用技术作为教学内容之一,这对于培养学生的计算机应用能力具有重要的意义

    大小:69.9 MB软件开发

    立即下载
  • Java Web应用程序开发

    Java Web应用程序开发

    《企业级卓越人才培养(信息类专业集群)解决方案十三五规划教材:Javaweb应用程序开发》通过对JAVAweb相关知识的介绍,学习IO流、JDBC、Web服务器、JSP页面以及对JSP内置对象等内容,每个知识点后

    大小:5.3 MBJava Web开发

    立即下载
  • Python云原生:构建应对海量用户数据的高可扩展Web应用

    Python云原生:构建应对海量用户数据的高可扩展Web应用

    大小:157.2 MB叶风华

    立即下载
  • Java高手真经应用框架卷:Java Web核心框架

    Java高手真经应用框架卷:Java Web核心框架

    Java高手真经:JavaWeb核心框架(应用框架卷) 作者:刘中兵Java研究室编著 出版时间:2009-3-1 【图书简介】 本书首先分析了JavaWeb应用的分层设计方法,并进行应用框架的选型,然后讲解各种JavaWeb应用框架、集成技术、实战开发。主要内容包括如下。持久层框架Hibernate:讲解Hibernate入门与核心技术,分别实现MySQL、Oracle、SQLServer数据库的信息系统开发。持久层框架iBATIS:讲解iBATIS入门与核心技术,分别实现MySQL、Oracle、SQ

    大小:150.76MBJava

    立即下载

学习笔记

22小时31分钟前回答

详解使用webpack+electron+reactJs开发windows桌面应用

electron是一两年前挺火的一个框架 本质上是一个浏览器,但是集成了很多windows系统的功能,让前端开发也可以直接操作windows的窗体,做成一个实打实的桌面软件 (当然听说mac上也可以用electron,不过没试过) (没错我还在用windows,不是mac也不是linux,我是个lowB) 团队主要的技术栈是react,所以考虑用react开发,方便维护。 PS.由于项目是大半年前做的,所以一些细节可能记忆有误请见谅 几个重点: 1.想要能调试必须使用webpack打包,不能用react那些常用的打包脚手架,因为webpack打包有target: "electron-main" 2.对于不使用electron模块的项目,electron可以直接跑任何网页;对于用到electron模块的项目,如果不设置……

4小时56分钟前回答

Java应用开源框架实现简易web搜索引擎

引言 应用 Java 的开源库,编写一个搜索引擎,这个引擎能爬取一个网站的内容。并根据网页内容进行深度爬取,获取所有相关的网页地址和内容,用户可以通过关键词,搜索所有相关的网址。 具体功能 (1) 用户可以指定爬取一个url对应的网页的内容。 (2) 对网页内容进行解析,并获取其中所有的url链接地址。 (3) 用户可以设定爬取深度,代表着从初始url对应的页面开始,可以爬取其中所有的url对应的网页内的url,以此类推。深度越大,能爬取到的网站越多。 (4) 对爬取到的url内容进行保存、建立索引。建立索引的内容是url地址本身,和url对应的网页标题。 (5) 用户可以通过关键词对网址进行搜索,找出有……