为什么您的电商PWA需要BFF(下篇)

 (承上篇)

 

 

BFF如何保持较低的JS执行时间和较高的稳定性

构建API时应该考虑普遍情况,而不是针对特定的客户。这样做有助于保持核心API的可维护性,使其对业务的价值最大化。不过您的API越通用,就需要在前端编写更多的代码来满足特定用例。

 对于网站的任何页面,前端可能需要对多个服务和/或格式化响应数据进行编排调用,以实现最佳的页面设计,这个代码需要在某处运行。BFF可以把这些代码从前端捆绑中分离出来,保持小型和快速。多数情况下响应是可以缓存的,不需要在每个用户的设备上对所有的请求运行shim代码,可以扩展云端运行来满足需求,并且只需要在缓存缺失的情况下运行。

小的JavaScript捆绑对于保持较低的可互动时间(TTI)至关重要,而这又是谷歌根据速度对网站进行排名的一个主要组成部分。使用服务于前端的后端来使响应数据符合前端的特定目的,这也使JS的执行时间较低,让网站感觉更快。

 

 提高更好的安全性                 

当您允许前端访问您的API时,其实相当于让整个互联网能够访问您的API,甚至您用于第三方服务的API密钥。这是没办法的事。在网络上,没有可信的客户这一说。BFF可以让您只开放前端所需的特定功能,这可以大大减少需要保护的表面区域。

 

通过BFF提高部署的便利性       

BFF是实现功能标志的一个好地方。功能标志通过将功能管理从代码部署中分离出来,提高了开发的便利性和灵活性。功能标志给管理员和非技术性的利益相关者提供了一个杠杆来实时打开和关闭功能,而不必等待代码部署。

举个例子,当Facebook推出用户名功能时,功能标志使他们能够在产品管理准备就绪时(如待定的新闻发布、公告等)打开或关闭该功能。此外,还有一些标志让他们能操纵各种网站参数,如客户从服务器获取信息的频率。这为他们提供了缓解需求激增的方法,避免导致网站瘫痪。

在客户端实现功能标志是不安全的。就像在客户端放一个API密钥一样,客户端的限制很容易被有动机的攻击者,甚至是下定决心的“高级用户”所忽视。因此,您需要深入到服务器堆栈更深一层去。由于BFF位于客户和其他基础设施之间,是实现和执行功能标志的逻辑位置之一。

 

为什么您的无头电商网站需要BFF

无头电商是指将前端表示层与后端逻辑和数据分离。这种趋势在电商领域越来越受欢迎,企业能够采用最佳的方法,为其前端和后端逻辑分别选择最佳的解决方案,为客户和业务带来最佳体验。

大多数电商平台是以数据优先和以库存为中心的方式建立的,而不是以客户为中心的方式。他们关注的是SKU和动态库存,而不是客户体验。虽然他们的前端产品每隔几年就会进行一次大改,但似乎总是落后于已有的开源选项。无头化可以将您从电商平台的限制中解放出来。

BFF在这一趋势中扮演着关键角色。 在无头电商或基于微服务的架构中,您需要将大量的服务整合成整体统一的体验。在客户端上这样做是可以的,但是这会带来一场维护噩梦,因为您要在所有不同的客户端点上重复代码和工作。想象一下,如果您要变更产品推荐的服务方式,将其整合到用户体验中,之后还需要将这种变更覆盖到网站、本地应用、信息亭等。BFF消除了这个令人头疼的问题,作为中央服务器的角色,在这里可以协调这些变更。

 

总结                                   

BFF管理着API和客户之间的信息流,并带来如下益处,如提高开发速度、网站速度、安全性和SEO等等。

为每个客户和API设置单独的BFF,每个团队可以在不改变核心API的情况下自由迭代应用,同时限制捆绑的大小。BFF也是添加功能标志或API密钥的完美场所,同时限制了需要保护的表面区域。您也应该在这进行服务器端页面渲染,实现SEO和网站速度优化。

最后,服务于前端的后端对于无头电商或基于微服务的架构至关重要,开发人员能够将多个服务结合成一个整体的体验。

加入行业领导者——亚马逊、Netlfix、沃尔玛、耐克的行列,使用BFF来提高开发速度,改善网站速度,提高安全性,并简化部署过程。

 ​

posted @   啸青天  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示