Web or Native 谁才是元宇宙的未来(下)?
-
上一篇文章我们介绍了 Web 和 Native 的发展历程,对Web端的跨平台特性以及生态的发展和普及程度广的优势进行了分析,还没有看到的朋友们可以点击下面链接回顾一下哦
相信看完这篇文章,你已经有了一些想法,今天我们继续来聊一聊关于Web和Native的技术栈选择,看看你是否也同意小鸥的看法呢~
Web优势3: 超级APP生态的嵌入
任何公司具备了超级APP之后,必然都会考虑打造应用内部的生态,将尽量多的场景和能力在自己的应用生态中统一解决。比如我们日常都会使用的微信、支付宝、淘宝等等。
考虑到应对场景和需求的多变性,支付宝、淘宝、微信都是混合框架,在保留强大的Native能力和性能的同时,又充分利用JS/Web的灵活的前端生态能力,保证开发效率的同时,又能满足快速迭代热更新。春节临近时期,支付宝或者淘宝中都会有很多3D的特效出现,像红包、五福等等。
对于Unity这种Native引擎来说,虽然实现这些3D特效都非常简单,但是由于它完全是在Native框架下的产品,在融合上存在众多技术难点,很难和前端的技术进行无缝的对接。所以,面对这种超级APP的天然流量汇聚地,Unity也无法接入。而最终我们看到的各种3D特效,都是由移动优先、Web优先的Oasis引擎团队打造实现的!
Oasis 引擎 Github 链接
https://github.com/oasis-engineWeb优势4: 易传播、易分享、易协作,天然的SaaS服务形式
由于在Web环境下,通过一个链接就可以把内容分享到不同的平台,不同的人群,这种形式可以达到极致的内容传播效果。最有代表性的就是我们的微信,通过朋友圈,微信群,公众号等等,都可能引起内容分享的病毒式裂变效果。
曾经,我们分享的内容更多的是以图片,文字,视频,音频的形式。随着元宇宙时代的到来,更多样的3D内容也可能会随着一个链接引发内容传播的爆点,这给了内容制作领域更广阔的想象空间。WebGPU标准是实现此场景的关键技术点。
更值得一提的是,基于浏览器通用支持的WebSocket/WebRTC协议,配合如OT等分布式算法可以轻松实现分布式协同,达到多人同步完成一项任务的高效合作模式,这些都是Web得天独厚的优势体现。比如Google Doc,石墨文档,飞书文档等,也都是借助于浏览器环境实现了协作功能。依靠Web协同特性最成功的企业应该是估值超百亿美金的Figma,它的成功同时也引爆了「设计协作」这样一个超过千亿市场规模的SaaS赛道。
说到SaaS服务,是几乎所有的互联网公司都追求的变现形式。这也正是Web另外一个巨大的优势体现,因为几乎所有的SaaS都是以Web浏览器作为媒介来提供服务的。
最近非常火爆的「Gather Town」元宇宙办公服务提供商,全套的技术框架都是基于Web环境实现的,这大大降低了用户使用的门槛,也为他们的传播带来了的巨大的促进作用(他们的客户端也是基于Electron打包,一套代码直接分发成为各个平台的APP进行安装)。
Web优势5: 热加载
不论喜不喜欢“元宇宙”这个词汇,它都无法阻挡的向我们慢慢走来。我们理解的“元宇宙”,是一个无限可能的场景。为了实现这种无限的可能性,就要求元宇宙产品必须具备两个特点:
-
功能的快速更新及无限扩展:未来,我们的产品有了新的feature,一旦经过测试,就应该立刻服务于我们的用户;
-
资源的快速更新及无限扩展:不论是UGC还是PGC,用户在使用产品进行内容创作时,一旦有了新的变化,其他所有的用户应该在第一时间无延迟的情况下进行体验。
Native原生的应用程序是很难实现这些特点的,因为每一次应用程序的发布更新等,都需要重新的编译,甚至还需要应用商店的审核。如果一个技术团队,面对需求变化巨大的场景进行产品研发,任何前端需求的变化都要造成一次APP的重新编译发布,那效率会非常低下。这也是为什么像Flutter,React Native,Weex这种框架会越来越火,因为它们都有着和Web一样的热加载特性。
热加载的原理是利用脚本语言的可解释特性,我们通过直接刷新的形式,或者网络通信,把新的脚本内容直接插入或者覆盖原来需要被解释的代码部分,这样再由实时的解释形语言编译器进行实时运行,就可以达到即时更新的热加载效果。
而Native的应用,都是要进行预编译,简单理解就是最终APP都会变成0101这种东西,那新改变的内容就没有办法在未编译的情况下,被直接执行了。
我们利用Web的天然热加载特性,再配合产品设计的模块化架构以及代码管理的Monorepo机制,就可以轻松的实现产品功能的快速更新及无限扩展和资源的快速更新及无限扩展。总而言之,Web可能更加适合“元宇宙”这种高速变化且具有无限可能性的场景。
小鸥的思考
Web技术栈和Native技术栈并不是一种纯竞争的关系。Native能带来更加极致的性能体验,这是毋庸置疑的事实。不论是Unity,还是Unreal,甚至是依靠接近原生图形API性能的Bgfx架构来开发各种游戏和应用,都体现了Native强大的优势。
Bgfx 引擎Github链接
https://github.com/bkaradzic/bgfx我们经常打一个比方,即使手机的拍照能力再强,真正的“老法师”也依然会坚持用600去打鸟。即使美图秀秀可以一键生成几乎完美的自拍照,PS的专业级忠实用户依然会死守不放。
因此,选择Web或Native,也不再是一个哲学问题,而是一个场景问题。
如果我们的场景需要追求极致的性能,那就用Native的技术栈去开发,比如Unity和Unreal。他们在游戏场景里几乎垄断的地位,足以证明这一点。**R Star引擎下的《荒野大镖客》**更是成为了行业内的天花板级存在。
如果场景更多的是趋向于便捷,简单,易分享等等特征,选择Web很可能是一个更佳的方案。最重要的是,现在有了WebGPU这样一个跨时代的全新标准,将最大限度的磨平Web和Native对于3D场景呈现上的差距。
曾经的WebGL时代,在3D场景中,Web开发者是很难真正发力的。实现一个优秀的3D场景应用是一个极其痛苦的过程。因为WebGL的性能实在太差了,很多Native可以轻松实现的渲染效果,WebGL都实现不了。但在这种极其艰难的情况下,Web上也出现了众多优秀的应用案例!
现实世界中使用WebGL的25+个应用
https://zhuanlan.zhihu.com/p/369632693因此,选择Web和Native,可能也不再是一个场景问题,而是一个面对元宇宙爆发时代的未来判断问题。
未来的世界,会有大量的3D内容制作需求,因为3D内容是元宇宙搭建的基础。这也就意味着,我们面对的不是一个存量市场,而是一个增量市场,甚至是一个未知的充满无限可能的市场。众多的Web开发者,都会成为未来3D场景搭建的潜在生产力。Web的技术栈会因为WebGPU标准的到来,出现前所未有的提升和改变。这对于Web前端开发者,是一件太幸福的事情!
面对未来,当更多的年轻人,更多的新人进入到相应行业中,他们要考虑:什么是最适合的, 什么是最简单的,或者哪种选择未来的需求更多,自己更能够成长。Web生态就很有可能爆发出前所未有的优势:易上手,易分享,易迭代,成本低,跨平台,这些特点已然满足了绝大部分的场景。
因此,我们对于WebGPU加持下的Web生态充满了期待!
-