【前端应该掌握 web3】入门系列 - 为什么说前端更适合学 web3

简介: 【前端应该掌握 web3】入门系列 - 为什么说前端更适合学 web3

前言


我在 最近很多人都在说 “前端已死”,讲讲我的看法 这篇文章中分析了前端开发者目前的现状:市场环境不佳、外部竞争激烈(例如像 ChatGPT 这样的 AI)、前端开发人员过剩、需求减少等多种因素影响下,前端开发者的处境不容乐观;

可以想象,当公司面临裁员选择时,前端因为相对远离“业务”,可能比后端更容易成为裁员的目标;同时,前端的护城河比较浅,从业 5 年后,基本遇到瓶颈期,国内公司做的项目 90%以上 是业务驱动型,不需要太复杂的技术深度,导致前端开发者很难形成自己的核心竞争力,沦为“搬砖”的角色;

而且前端在技术团队中还会遇到这些问题 摘自

  1. 地位低
  2. 背锅侠
  3. 晋升难
  4. 可替代性强
  5. 局限性大

破局之路


传统前端追求突破一般会尝试这几个方向:

  1. 往大前端方向卷,跨端开发,pc、h5、小程序、移动端开发技术等。
  2. 往全栈方向卷,一般是学习 Node 做中间服务,或者转 Java 后端。
  3. 往前端分支技术方向卷,如可视化 webgl、web 办公类、工具类软件如 photoShop、编辑器、canvas 游戏、等方向,虽然这些技术含量高,但是市场需求较少,路会越走越窄。
  4. 前端架构师,搞搞项目架构,写写 npm 工具,自动化工具啥的,不过一般大公司才有这个岗位,而且前端貌似并不需要传统意义上的架构师。
  5. 没有目标,盲目奋斗,疯狂内卷型,学习各种框架、轮子、觉得会的越多越有优势,实际上解决的问题还是那些。
  6. 转项目管理岗,前端转管理没有后端有优势,主要体现在对“业务”的理解和把控上。

以上这些都无法保证你能度过中年危机,特别是互联网下行期间,所幸还有以下几种选择:

  1. 转实体行业、进国企、搞自媒体副业一条龙;
  2. 考公考编;

这几个方向还是挺好的,以实体行业为例,互联网寒冬时候实体行业表现相对还好些,而且稳定性和工作强度更有优势,可以实现 work-life blance, 虽然薪资可能低一些,但是个人时间多了,可以尝试自媒体啥的,搞搞副业也挺好的。

说了这么多,其实上面的都是偏被动的方案,想象力空间有限,雷军有过一个著名的 飞猪理论创业,就是要做一头站在风口上的猪,风口站对了,猪也可以飞起来

那么下一个风口会是什么?我觉得有可能是 web3, 即便它还没证明自己对现实世界真的有不可替代的作用, 其引起的资本风浪已经足够大了,现在国内很多大厂也开始研究和部署 web3 相关的产品,而且 web3 貌似特别适合前端开发者。


web3 是什么


知乎有一个话题, 什么是 web3,有 224 个回答 150w 的浏览量,很多人提出了自己对 web3 的看法,值得一看;

web3 给我们的第一印象是数字货币、元宇宙、NFT,比特币、以太坊等,好像 web3 和 数字货币交易/合约 挂上了等号,其实这是一种误解;

数字货币和web3是两个不同的概念,它们之间有一些联系但也有一些区别。

用 table 展示如下:


特点 数字货币 web3 相关部分
概念 一种数字资产,使用加密技术进行安全的交易和管理。 互联网的下一代版本,是去中心化互联网的一种实现方式。 数字货币可以在web3技术的基础上进行交易和管理,数字货币也可以成为web3生态系统中的一部分。
应用领域 交换、购买和出售商品或服务。 提供更安全、透明、可信和去中心化的互联网体验,重构互联网的基础设施和生态系统。 数字货币可以成为web3生态系统中的一种交换媒介,web3技术可以支持数字货币的管理和交易。
技术实现 包括加密技术、区块链技术等。 包括去中心化技术、区块链技术、加密技术等。 数字货币的安全性和匿名性需要依赖加密技术,而去中心化技术和区块链技术可以保障数字货币和web3生态系统的去中心化特性。
代表应用 比特币、以太坊、莱特币等。 IPFS、Solidity、web3.js、ethers.js等。 Solidity是一种用于智能合约编程的语言,可以用于数字货币和其他应用的开发。IPFS是一个去中心化的文件存储和传输协议,可以为web3应用提供数据存储和传输功能。
重要性 作为一种新型的数字资产,有望在未来成为主流货币之一。 作为互联网的下一代版本,有望对传统互联网产生深远影响,重构互联网的基础设施和生态系统。 数字货币和web3技术的发展都有望为全球经济和互联网带来革命性变革,推动未来的经济和社会发展。


web3 为什么对前端友好


JavaScript为主要编程语言:Web3的大部分库和工具都是基于JavaScript编写的,这使得前端开发人员可以直接使用自己熟悉的编程语言进行开发。通过使用 Web3.js 或 Ethers.js 等 JavaScript库,前端开发人员可以方便地实现与以太坊网络的交互,例如账户管理、交易签名、合约部署等。

开放的API:Web3 提供了一系列开放的 API,使得前端开发人员可以轻松地调用和使用以太坊网络的各种功能。这些API通常使用 RESTful 或 WebSocket协议进行通信,前端开发人员可以通过发送 HTTP 请求或 WebSocket消息与以太坊节点进行交互,从而实现数字货币和去中心化应用的开发。

易于集成:Web3 可以很容易地集成到前端应用中,例如使用 NPM 包管理器安装相关库,或在HTML文件中引入相关脚本文件。这使得前端开发人员可以直接在自己的应用中使用 Web3 的相关功能,从而实现数字货币和去中心化应用的开发。

基于浏览器插件:Web3 还可以通过浏览器插件来实现与以太坊网络的交互,例如 MetaMask。通过安装MetaMask 等浏览器插件,前端开发人员可以在浏览器中直接与以太坊网络进行交互,而不需要编写任何复杂的代码。


1687783124874.png


开源大佬 Chris Bongers 曾说,如果你要学 web3, 请先把 web2 学好,这里特指 JavaScript 等技术,以此看来 web3 开发是很适合前端工程师的。

特别是现在很多去中心化的产品和平台,如交易所都是在浏览器中使用的。


web3 开发需要学习哪些技术


区块链技术:Web3 开发的核心是区块链技术,开发者需要了解区块链的基本原理、共识机制、加密算法等基础知识。

智能合约开发:智能合约是在区块链上运行的程序,开发者需要了解智能合约的编写语言(如 Solidity)和开发工具,以及合约的部署和调用方法。

去中心化应用设计:Web3 应用需要具备去中心化的特点,开发者需要了解去中心化应用的设计原则、用户体验和开发流程等。

分布式存储技术:Web3 应用通常需要使用分布式存储技术来存储和管理数据,开发者需要了解常见的分布式存储方案,如 IPFS。

前端开发技术:Web3 应用的前端部分和传统的 Web 应用类似,开发者需要具备基本的前端开发技能,如 HTML、CSS 和 JavaScript,同时需要了解一些 Web3 前端框架和库,如 React、Vue.js、Web3.js 等。

安全性和隐私保护:Web3 应用需要具备更高的安全性和隐私保护能力,开发者需要了解如何进行合约审计、安全防范和数据加密等方面的知识。

总之,Web3 开发是一个比较新的领域,需要开发者具备多方面的知识和技能,需要不断地学习和探索,才能够开发出安全、高效、可靠的 Web3 应用。


学习资料有哪些


  1. 比特币白皮书
  2. 以太坊白皮书:以太坊是 Web3 中应用最广泛的区块链平台,学习以太坊的白皮书是了解区块链和智能合约的重要基础。
  3. 据说是中本聪的个人博客
  4. 廖雪峰的区块链技术教程
  5. github 入门学习仓库
  6. 北大肖臻的区块链课程
  7. Solidity 入门教程
  8. Solidity 官方文档:Solidity 是以太坊智能合约的编程语言,学习 Solidity 官方文档可以快速入门智能合约的编写和部署。
  9. Truffle 官方文档:Truffle 是一个常用的以太坊智能合约开发框架,学习 Truffle 官方文档可以了解如何使用 Truffle 编写和部署智能合约。
  10. Web3.js 官方文档:Web3.js 是以太坊 JavaScript API,学习 Web3.js 官方文档可以了解如何使用 JavaScript 与以太坊进行交互。
  11. Solidity by Example:这是一个 Solidity 智能合约的学习资源,提供了各种不同类型的智能合约示例,可以帮助初学者快速了解智能合约的编写方法和实现原理。
  12. CryptoZombies:这是一个以太坊智能合约编程的互动式教程,通过编写游戏来学习 Solidity 的基础知识。
  13. Ethereum Stack Exchange:这是一个以太坊社区问答网站,可以在这里查找和解决各种与以太坊和 Web3 相关的问题。
  14. Web3 Summit:这是一个 Web3 社区的年度会议,会议上会有许多 Web3 领域的专家和实践者分享他们的经验和见解。
  15. 区块链中文技术社区
  16. 以太坊中文开发者社区

总结


简单介绍了下 web3 的概念,咱也不知道 web3 未来前景到底如何,毕竟去中心化这个概念和中心化的社会现状还是冲突比较大的,未来市场表现如何我觉得肯定不在于技术本身,而在技术之外,不过从打工人的角度而言,还是很值得学习一下的,也许能发现和抓住一些机遇。

目录
相关文章
|
1天前
|
Web App开发 前端开发 JavaScript
什么是 Web 应用开发领域的 Frontend Fragmentation(前端碎片化)现象
什么是 Web 应用开发领域的 Frontend Fragmentation(前端碎片化)现象
8 0
|
1天前
|
前端开发
|
1天前
|
前端开发 小程序 测试技术
前端后端测试接口mork神器,Apifox使用一分钟入门
前端后端测试接口mork神器,Apifox使用一分钟入门
11 0
|
1天前
|
前端开发
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
|
1天前
|
前端开发 JavaScript 开发者
新一代前端框架:革命性的Web开发利器
传统的前端框架在满足日益复杂的Web开发需求上逐渐显露出局限性,而新一代前端框架的出现,以其革命性的设计和功能,重新定义了Web开发的标准。本文将介绍这些新一代前端框架的特点和优势,并探讨它们在实际项目中的应用。
|
1天前
|
JavaScript 前端开发 UED
【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
【5月更文挑战第2天】【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
|
1天前
|
JavaScript 前端开发 索引
【Web 前端】jQuery 里的 each() 是什么函数?你是如何使用它的?
【5月更文挑战第2天】【Web 前端】jQuery 里的 each() 是什么函数?你是如何使用它的?
|
1天前
|
存储 前端开发 JavaScript
【Web 前端】如何找到所有 HTML select 标签的选中项?
【5月更文挑战第2天】【Web 前端】如何找到所有 HTML select 标签的选中项?
|
1天前
|
设计模式 开发框架 数据库
Python Web开发主要常用的框架
【5月更文挑战第12天】Python Web开发框架包括Django、Flask、Tornado和Pyramid。Django适用于复杂应用,提供ORM、模板引擎等全套功能;Flask轻量级,易于扩展,适合小型至中型项目;Tornado擅长处理高并发,支持异步和WebSockets;Pyramid灵活强大,可适配多种数据库和模板引擎,适用于各种规模项目。选择框架需依据项目需求和技术栈。
64 2