一句话,利益博弈,而javascript语言不属于任何一家公司。其他前端语言都是有公司为了提高话语权和利益而开发,谁都不服谁。因为浏览器支持,当时谷歌想把dart搞成web标准语言,后来大家都不鸟他,也就放弃了。
最终形成为数不多的几种配合关系的语言如HTML,javascript。客户端一旦统一,切换成本也极高。随着IE退出竞争舞台,那些只适用于IE的web前端早就被市场抛弃。再看移动app前端,面对的主体是安卓和苹果,所以各种适配就主要针对这两类。
随着HTML新标准的支持普及、以及其对硬件和资源使用效率越来越高、包括3D领域相关技术对web的深度支持,javascript配合HTML,将来在移动端也会攻城拔寨,占的份额越来越多,甚至pc端追求性能的app也会被web端挤占。这是开发者的福音。
而现在除了typescript算比较霸榜的外,还有dart,python,wasm,kotlin都妄图在前端分一杯羹。
BFF,即 Backend For Frontend(服务于前端的后端),也就是服务器设计 API 时会考虑前端的使用,并在服务端直接进行业务逻辑的处理,又称为用户体验适配器。
BFF 只是一种逻辑分层,而非一种技术。
当有了 BFF 这一层时,我们就不需要考虑系统后端的迁移。后端发生的变化都可以在 BFF 层做一些相应的修改。通过分层来隔离变化。
BFF 的出现为前端应用提供了一个对业务服务调用的聚合点,它屏蔽了复杂的服务调用链,让前端可以聚焦在所需要的数据上,而不用关注底层提供这些数据的服务。
如果与已有 BFF 功能类似,且展现数据的要求也相近的话,一定要谨慎对待新增 BFF 的行为。因此,建议非必要,莫新增。
#前端如何开发APP#
没有实际开发过,不过React Native、Flutter应该是比较主流的,uni-app、taro应该用的人也不少,至于体验,看实际项目了
-19,#每日一悟每日进步#继续复习《SRE Google运维揭秘》
书中提出了了解技术栈或子系统的一种方式,包括下面步骤:
1、请求是如何进入系统中的,如网络、IDC的基本概念,前端的负载均衡、代理等;
2、前端服务,应用程序前端,日志记录,用户体验SLO等;
3、中层服务,缓存,后端负载均衡系统;
4、基础设施,后端,基础设施,计算资源管理等;
5、整体,调试的一些技巧,问题升级的流程,紧急情况的演练。
个人感觉更多地还是站在传统运维的角度,而没有真正以SRE或DevOps的角色来阐述,我理解的SRE或DevOps应该是研发运维一体化,因此了解技术栈或子系统除了上面的五个步骤之外,还要从研发角度出发来增加以下几点:
6、采用的核心技术栈,后端开发框架、前端框架、客户端(APP、小程序、H5)框架等;
7、后端应用的模块组成,包括核心业务流的模块调用链;
8、前后端的API接口设计整体规则,核心功能及高性能相关的API;
9、掌握各端(系统、前端、客户端等)的通用调试工具,了解本平台中特定的工具等;
10、端到端的安全机制设计和保障。