【前端应该掌握 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 未来前景到底如何,毕竟去中心化这个概念和中心化的社会现状还是冲突比较大的,未来市场表现如何我觉得肯定不在于技术本身,而在技术之外,不过从打工人的角度而言,还是很值得学习一下的,也许能发现和抓住一些机遇。

目录
相关文章
|
28天前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
44 3
|
13天前
|
消息中间件 前端开发 JavaScript
探索微前端架构:构建现代Web应用的新策略
本文探讨了微前端架构的概念、优势及实施策略,旨在解决传统单体应用难以快速迭代和团队协作的问题。微前端允许不同团队独立开发、部署应用的各部分,提升灵活性与可维护性。文中还讨论了技术栈灵活性、独立部署、团队自治等优势,并提出了定义清晰接口、使用Web组件、状态管理和样式隔离等实施策略。
|
18天前
|
编解码 前端开发 JavaScript
从入门到精通:揭秘前端开发中那些不为人知的优化秘籍!
前端开发是充满无限可能的领域,从初学者到资深专家,每个人都追求更快、更稳定、更用户体验友好的网页。本文介绍了四大优化秘籍:1. HTML的精简与语义化;2. CSS的优雅与高效;3. JavaScript的精简与异步加载;4. 图片与资源的优化。通过这些方法,可以显著提升网页性能和用户体验。
19 3
|
25天前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
23天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
23天前
|
移动开发 前端开发 JavaScript
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
于辰在大学期间带领团队参考网易游戏官网的部分游戏页面,开发了一系列前端实训作品。项目包括首页、2021校园招聘页面和明日之后游戏页面,涉及多种特效实现,如动态图片切换和人物聚合效果。作品源码已上传至CSDN,视频效果可在CSDN预览。
29 0
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
|
29天前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
27 3
|
29天前
|
前端开发 JavaScript API
前端框架新探索:Svelte在构建高性能Web应用中的优势
【10月更文挑战第26天】近年来,前端技术飞速发展,Svelte凭借独特的编译时优化和简洁的API设计,成为构建高性能Web应用的优选。本文介绍Svelte的特点和优势,包括编译而非虚拟DOM、组件化开发、状态管理及响应式更新机制,并通过示例代码展示其使用方法。
43 2
|
1月前
|
监控 前端开发 JavaScript
前端技术探索:构建高效、可维护的Web应用
【10月更文挑战第23天】前端技术探索:构建高效、可维护的Web应用
44 0
|
2月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
148 2