热搜:前端 nest neovim nvim

web前端的优缺点(web前端干啥的)

lxf2023-06-06 17:15:02

最近 web3.0 声音真的越来越高,也越来越疯狂。我们需要什么技术来处理我们的前端?它对前端友好吗?下面的文章将带你谈谈,我希望它能帮助你!

web前端的优缺点(web前端干啥的)

先介绍一下 web3.0 它是如何衍生的

互联网

让我们先谈谈什么是web,1989 年,CERN(欧洲粒子物理研究所) Tim Berners-Lee 领导的技术团队提交了一项新的互联网协议和一个使用该协议的文档系统,该系统命名为 World Wide Web,简称 WWW(万维网),是我们现在熟悉的“互联网”,其目的是使全球科学家能够利用互联网交流自己的工作文档。主要采用技术 HTML、URI 、URL、HTTP 等等,可以通过静态的方式显示网页内容。主要采用技术 HTML、URI 、URL、HTTP 等等,可以静态显示网页内容。也就是说,我们也就是说,我们可以静态显示网页内容。

Web1.0

一般来说,Web1.0 指20世纪90年代和21世纪初的互联网。说白了,就是由博客、留言板、AOL、Compuserve等早期门户网站组成的互联网。我们在中国知道,新浪、搜狐、网易等网站是当时的产物。在 Web1.0 基本上是被动阅读静态网页,网页构建协议是使用的 HTTP、FTP 等。在Web1.0 在这种情况下,网页内容是只读的,静态的,类似于杂志,只能看不能修改,不能互动。在Web1.0下,用户只是信息(网页)的消费者,不能与之互动。Web1.0也是拨号上网,平均宽带50k。

一般来说,Web1.0 只读,去中心化。

Web2.0

而 Web2.0 2005年左右突出。 Web2.0 一般意思是用户可以在网页上创建和发布自己的内容,积极参与互联网,而不是简单地被动地阅读网页。整个网页的最终资金和控制权仍被网页的所有者占据。比如 Facebook、Twitter、YouTube等社交媒体也是这个时代的产物。当然,用户生成内容的激增也会导致自然垄断,这也会导致几个问题:1。用户数据集中;2. 用户数据不能移植;3. 出售用户数据

总而言之,Web2.0 读写并存

Web3.0

Web3.0 它是一个分散的网络,通过将权力和数据集中在用户手中,而不是公司独有的。将数据分布到网络上,包括分散的区块链技术。Web3.0 这个词已经存在很多年了,只是在过去的一年里才流行起来。使用 Web3,网络是分散的,所以没有权威机构来控制它,构建在网络上的分散应用程序(dapps)是开放的。分散网络的开放意味着任何一方都不能控制数据或限制访问。未经中央公司许可,任何人都可以构建和连接不同的公司 dapp。

Web3.0 主要特点包括以下几点:

  • 语义 Web——它是 Web3.0 关键是使机器容易处理数据。

  • AI——AI是影响 Web3.0 技术流行的主要关键因素之一。它使机器通过大量的Web数据更加智能,以满足用户的需求。

  • Web3D图形.0 它已经超越了传统的互联网,因为它的三维技术,它提供了一个比2D更现实的三维在线世界。

  • 无处不在——同时存在或无处不在的概念,移动设备的兴起越来越多,许多人更容易随时随地访问互联网。

  • 开放性和互操作性是指应用程序编程界面、数据格式、协议和设备与平台之间的互操作性。

  • 全球数据存储库,这是一种跨程序、跨网络访问信息的能力。

简而言之:Web3.0 是读、写、拥有网络的一切。

介绍

对于我们的前端开发者来说,我们应该掌握哪些技术或者应该知道什么?简单来说,web3 开发人员创建了一个分散的全栈应用程序,存在于区块链中并与之交互。下面简单说一下。

让我们先了解一下专业术语:

  • Web3:它是以太坊区块链 Ethereum blockchain 与您的智能合同 Smart Contracts 之间的连接。
  • 以太坊 Ethereum:分散开源区块链 blockchain,允许用户通过创建智能合同来创建智能合同 creating smart contracts 与网络互动。其原始加密货币为以太币。就市值而言,以太币是仅次于比特币的第二大最有价值的加密货币。它由 Vitalik Buterin 于 2013 年创建。
  • 智能合约 Smart Contracts :它们是存储在区块链上的计算机程序 computer programs ,在满足预定条件时运行。智能合同用于使用。 Solidity 语言编写。
  • 去中心化 Decentralized :数据状态不是中央实体 central entity、平台 platform 或个人 individual 收集
  • 区块链:区块链网络是一种点对点连接,其中信息在多个设备之间共享,几乎不可能被黑客入侵。它是一个记录信息的系统,使得很难或不可能更改保存在网络上的信息。
  • Solidity:一种用于编写智能合约的智能合约 writing smart contracts 的面向对象 object-oriented 编程语言。它用于在各种区块链平台上实施智能合同,最著名的是以太坊。Solidity 语法相似 javascript。要了解 Solidity,最好有 javascript 等待编程语言的背景。直接跳入 Solidity 这是个坏主意
  • Dapp:代表分权应用程序程序代表分权应用程序程序 Decentralized App 。它们在分散网络或区块链上运行其后端代码(主要使用它们) Solidity 编写的智能合同)应用程序。可以使用。 react、vue 或 Angular 等前端框架构建 Dapps。
  • Bitcoin 比特币:世界上第一种广泛使用的加密货币。
  • Crypto: 又称 Cryptocurrency,加密货币,一种分散的数字货币。
  • NFT: Non-Fungible Token,一种在链上记录的数字资产,有所有权。
  • DAO: Decentralized Autonomous Organization,分散的自治组织。
  • Metaverse元宇宙:一种由科技手段创造的虚拟世界的构思。
  • DeFi Decentralized Finance:分散的金融体系。
  • Token 代币:可理解为加密货币,NFT 等数字资产的总称。
  • GameFi: Game DeFi,中文说法链游戏,游戏中的金融系统可以通过加密货币和加密货币以及 NFT 映射到现实中。

在介绍了以上内容之后,我们将讨论区块链对开发人员的分类。主要是核心区块链开发(核心区块链工程师负责区块链系统的架构和安全协议)和区块链软件开发(这些区块链开发人员使用核心区块链开发人员提供的设计架构 Dapp)。

开始

让我们来看看。对于我们的前端开发,如果我们想开发一个分散的应用程序,停留和与区块链互动,我们必须使用它 web3.js 和 Ethers.js 库。

web3.js

web3.js 是JavaScript API库。要使 DApp 在以太坊上运行,我们可以使用web3.js库提供的web3对象。web3.js 通过RPC调用与本地节点通信,可用于任何暴露于RPC层的以太坊节点。web3 包含 eth 对象 - web3.eth(专门与以太坊区块链交互)和 shh 对象 - web3.shh(用于与 Whisper 交互)

添加web3

web3 引入到您的项目中,实际上与我们现有的参考方法基本相同

  • npm: npm install web3
  • bower: bower install web3
  • metor: meteor add ethereum:web3
  • vanilla: dist./web3.min.js

使用

然后你需要创建一个web3实例,设置一个provider。为了保证你不会覆盖现有的provider,比如使用mist时有内置,需要先检查web3实例是否存在

if ()web3) {
  web3 = new web3(web3.currentProvider);
} else {
  web3 = new Web3(new Web3.providers.HttpProvider(