cssmagic / blog

CSS魔法 - 博客
http://blog.cssmagic.net/
2.8k stars 274 forks source link

InfoQ 专访 CSS魔法:前端老兵为何投身区块链浪潮? #95

Open cssmagic opened 6 years ago

cssmagic commented 6 years ago

本文由 InfoQ 约稿,由 CSS魔法 撰稿,在 “区块链前哨” 和 “前端之巅” 公众号首发。

编者按

区块链在 2018 年不仅走入大众视野,也火遍了技术圈。在十月即将举办的 QCon 上海站的日程中,小编发现前端会场也有一场与区块链相关的演讲。好奇的小编约来了讲师 CSS魔法,请他来谈一谈自己的心路历程。

InfoQ:魔法哥,您能先向 InfoQ 的读者介绍下自己吗?

大家好,很高兴能在 InfoQ 这个平台和大家见面。我叫 “CSS魔法”,熟悉我的朋友都叫我 “魔法哥”。

我在 2008 年来到上海,进入互联网行业。一转眼,我已经是一个 “十年经验” 的前端老兵了。工作之余,我会折腾一些开源项目,也经常会在 “CSS魔法” 公众号编写教程、翻译技术文档。在 2015 年,我还翻译了一本前端领域的重磅图书《CSS 揭秘》,算是为中文技术社区做出了一点微小的贡献。

InfoQ:作为一名前端工程师,您经历的关键点和转折点都有哪些?

其实对我来说,“前端” 本身就是一个巨大的转折点。来上海之前,我一直在传统行业工作,投身互联网大潮是一次急转弯式的转型。不过当时的我并不具备对行业大势的深入洞察,转型的动力仅仅是源于兴趣——在互联网行业做产品,离用户更近、效率更高、影响力更大,实在是酷毙了!

这次转行显然是正确的。这些年每次回老家遇见老同事,他们都会夸我当年有魄力有远见。我其实是很不好意思的,我哪里有远见,只不过是跟着感觉走罢了。

在前端领域奋斗的这几年,都还算顺利。五年前加入百姓网,可以说是又一个关键点——感觉自己的职业生涯终于迈上了正轨。

今年上半年,因为一些偶然的机会,我接触到了区块链和 DApp。没想到一发不可收拾,我内心的小宇宙又一次燃烧起来,当年 “投身互联网” 的那种冲动似乎又出现了。我隐隐感觉到,我即将走向下一个重要节点,又一个不可错过的浪潮已经扑面而来!

InfoQ:感觉您的话匣子已经完全打开了。我们今天的访谈主题也确实会围绕区块链展开。)

好的,希望今天聊得尽兴。

InfoQ:为什么区块链和 DApp 会如此吸引您的关注?

我这个人向来对炒得很热的东西是无感的。所以我刚开始对区块链完全没兴趣,甚至是抵触的。前端领域的新东西都看不过来了,还看什么区块链?

不过,机缘巧合之下,我惊奇地发现,原来区块链除了记账,还可以跑代码;作为开发者,还可以在区块链上开发应用!

基于区块链开发的应用称作 “去中心化” 应用( Decentralized Application ),简称 DApp。去中心化的含义是指,你的应用不仅是把数据存储在区块链节点上,你的应用本身就运行在区块链节点上!

这个 “新大陆” 深深地吸引了我。

InfoQ:在区块链平台上开发应用,这种方式为什么会吸引到您?)

我简单解释一下。我作为一名前端工程师,精力所限,并不是那么精通后端;但我仍然有一颗做产品的心,一直想着某天可以独立搞一个完整的应用出来,为用户提供价值。可是光有前端,没有后端,能做的事情是比较有限的。而当我遇见 DApp 的时候,不由地眼前一亮!

做一个 DApp 可以不需要后端。因为 DApp 的数据就存储在区块链上,读写数据的逻辑也跑在区块链上,我并不需要用后端语言写一套程序,也不需要搭一个后端环境,更不需要维护数据库——区块链就是我的后端!

开发 DApp 的体验让我想起 Flash 时代的个人创作者,只要掌握了 Flash,制作一部动画的所有事情,包括导演、编剧、剪辑、美工、特效,都可以全包了。

同样,在区块链上,只要我具备前端技能,就可以写一个完整的应用出来。这种开发体验对一个前端工程师来说,是相当诱人的。

当然,除此以外,区块链和 DApp 还有一些天生的优势——具体细节我们稍后会聊到——这些也是我关注它们的原因。

InfoQ:去中心化的 DApp 与传统的 Web 应用相比,架构上有什么差异?

这两者确实有明显不同,但 DApp 的各个环节是可以类比到传统 Web 应用的:DApp 由客户端合约端配合实现,类似传统 Web 应用的客户端和服务端。

“客户端” 顾名思义,是提供给用户使用的产品界面。它可以是 Web 形态,也可以是桌面或移动 app 形态等等。对于前端工程师来说,Web 形态的客户端就是大家的专长,毋庸赘言。

“合约端” 是指 “智能合约”。智能合约是 DApp 的灵魂,是 DApp 开发者部署到区块链上的一段代码,担任客户端与链之间的桥梁——合约端负责提供接口,客户端可以调用这些接口,触发业务逻辑,或对数据进行增删改查。这听起来和前后端分离的 Web 应用是相为相似的,没错,前端工程师可以快速理解并接受 DApp 的架构模式。

在即将到来的 2018 QCon 上海站,我准备了一个演讲主题。届时我会通过实例来讲解 DApp 整个开发过程,感兴趣的同学不妨来听听吧!

InfoQ:DApp 相对于传统 Web 应用,优势是什么?

这是一个好问题。我们通常会听到一种论调,“区块链必将颠覆啥啥啥”。但事实上,这只是一种博眼球的营销口号。区块链被发明并不是为了取代传统互联网,就好比智能手机的诞生不是为了取代 PC。

但如今区块链广受关注,说明它确实具备一些传统互联网做不到的特性。因此,与传统 Web 应用相比,区块链和 DApp 所擅长的场景和方向肯定会不一样。

先来说几个 DApp 的先天特性:

大家可能发现了,我一直在说 “特性”,而不是 “优势”。其实所谓优势,就是把特性用在了合适的地方。区块链的魅力在于,它天生就是不一样的东西,它不是为了取代谁。拿现有的框框去套它,可能不会得出什么有意义的结论;而抛开固有思维去拥抱它的 “不一样”,则可能会开创全新的应用形态。

篇幅所限,先聊这几点。其实 DApp 还有具备区块链的两大 “天生神力” 加持,非常令人兴奋,具体细节我在 QCon 演讲中再跟大家详细交流吧。

InfoQ:您刚才提到了应用形态,对于区块链的落地,您看好哪些应用场景或方向?

区块链和 DApp 作为新生事物,还处在演化之中,同时,我们对它的认知也处在不断演化之中。我很难在这里预测区块链将以哪些应用形态落地,不过我可以简单聊一聊 DApp 已经在某些场景中展现出的潜力:

我接触区块链时间并不长,在产品方面的思考也很有限,就先扯就么多吧,哈哈。

InfoQ:我们讨论的 DApp,一般都是部署在公链上的,那么您选择公链的标准是什么?

确实,对于尝试 DApp 的开发者来说,遇到的第一个问题可能就是公链的选择了。选择链相当于选择一个开发平台,类似开发手机 app 需要确定是 iOS 还是 Android 一样。

魔法哥认为,在入门阶段选择一条易上手有前途的公链是最为明智的。“易上手” 可以让你快速入门、快速收获成就感,而 “有前途” 则意味着你积累的经验不会浪费。

小编:DApp 的概念最初是由以太坊提出的,那么您怎么看待这些主流的公链平台?)

以太坊确实是 DApp 概念的开山鼻祖,我非常佩服他的创始人。以太坊上线已经好几年了,但它仍在不断进化。在眼下,它的某些技术参数已经明显落伍,但它的深厚积累和发展潜力仍然值得看好和期待。

接下来就不得不提 EOS 了,今年链圈最具话题性的平台就是它了。EOS 有很多独特的设计,也表现出优异的性能,获得了很多开发者的青睐。不过 EOS 定位于企业级市场,对个人开发者来说门槛较高,它的很多设计也一直存有争议,因此魔法哥持观望态度。

说完这两大明星公链,接下来还有一条今年上线的公链值得推荐。它上线之初就吸引了大量开发者的关注,链上 DApp 数量迅速超越以太坊,一脚跨进公链第一梯队。它是谁?这里卖个关子,我会在这次 QCon 演讲中跟大家详细介绍。

InfoQ:前端工程师着手开发一个最小化的 DApp,需要掌握哪些技能、使用哪些工具、怎么选择编程语言?

首先,我们需要对区块链的原理、DApp 架构、DApp 产品形态具备基本概念。这些知识点我都会在这次 QCon 演讲中提到。

接下来,我们从客户端和合约端分别来讲一下所需的技能和工具。

DApp 客户端的开发,其实跟大家平常开发 Web 应用是基本一致的。你可以使用你自己最顺手的前端框架、编辑器、构建工具,无需改变开发习惯。在实现客户端与合约端的交互时,往往需要用到链的 SDK,这是需要开发者去了解的。

而合约端的开发,就要跟着链…………

……

……

InfoQ:您认为前端工程师有必要去学习区块链并转入相关行业工作吗?

我觉得这要…………

……

……


完整文章已收录到 “CSS魔法” 微信公众号,微信扫码即可阅读全文:

weixin-qrcode


© Creative Commons BY-NC-ND 4.0   |   我要订阅   |   我要打赏

cssmagic commented 6 years ago

正准备买 QCon 门票?慢着!

2018 QCon 上海站将在 10 月 18~20 日举办,魔法哥也将作为讲师出席此次技术盛会。

如你正准备订票,千万不要错过折扣! 主办方为魔法哥的读者设置了一个专属的优惠码,操作步骤如下:

  1. 进入购票页面: http://t.cn/EhAMZQs
  2. 选择购票数量;
  3. 在优惠码输入框填写 cssmagic 即可享受八折优惠!

有一点比较尴尬,虽然这个优惠码是以我命名的,但通过它下的订单并不会给我分佣金 😅

相关链接