FIS —— 百度开源的前端集成解决方案

简介: FIS是百度开源的前端集成解决方案,这是团队和百度众多产品线共同探索出一套前端集成解决方案。解决了前端生成中前端静态资源加载优化、页面运行性能优化、基础编译工具、运行环境模拟、js|css组件化开发等心问题。

FIS是百度开源的前端集成解决方案,这是团队和百度众多产品线共同探索出一套前端集成解决方案。解决了前端生成中前端静态资源加载优化、页面运行性能优化、基础编译工具、运行环境模拟、js|css组件化开发等心问题。

image.png


F.I.S简介

首先让我们来看一个真正的前端团队要开发一个产品时所需要经历的过程:

  • 第一阶段:规范与设计
  • 定制必要的开发规范
  • 定制项目的组件化拆分方案
  • 第二阶段:技术选型
  • 选择前端组件化框架(seajs, requirejs, ...)
  • 选择前端基础库(jquery, tangram, ...)
  • 选择模板语言(php, smarty, ...)
  • 选择模板插件(xss修复)
  • 第三阶段:自动化与拆分
  • 选择或开发自动化工具(打包,压缩,校验)
  • 将系统拆分为几个子系统,以便大团队并行开发
  • 适当调整框架以适应工具产出
  • 第四阶段:性能优化
  • 小心剔除已下线的功能
  • 优化http请求
  • 适当调整自动化工具以适应性能优化
  • 使用架构级优化方案:BigPipe、BigRender等


以上阶段,是所有大型应用前端团队都会经历的阶段,我们将 其中的技术需求总结为前端集成解决方案


通常,一套完整的前端技术解决方案包括四个方向:

  • 前端框架:提供组件加载及管理框架支持,提供前端基础库及组件库。
  • 模板框架:提供组件化开发模式支持;配合前端框架收集页面所需要的最小静态资源需求;留有充分的性能优化空间,性能优化对工程师透明。
  • 自动化工具:提供基本优化能力;为前端框架、模板框架提供辅助支持。
  • 辅助开发工具:提升工程师的开发体验,降低调试、部署成本。


so,如果你的团队已经拥有以上四项技术基础,那么恭喜你,你已拥有了一套fis。

这样的过程每天都在前端界上演,那么,有没有办法让这个过程简化,让前端团队可以快速进入角色,而且不用担心未来的自动化、性能优化等问题呢? 答案是肯定的!


F.I.S@百度

2011年底,百度web前端研发部成立F.I.S团队,汇集了来自各产品线的精英工程师,该团队的任务是寻找提升前端工业生产力水平的解决方案。经过1.5561643836年的努力,fis团队和百度众多产品线共同探索出一套前端集成解决方案,解决了前端生成中遇到的诸多问题,包括但不限于 前端静态资源加载优化、页面运行性能优化、基础编译工具、运行环境模拟、js|css组件化开发 等前端领域核心问题。如今,fis团队的解决方案已应用到百度30多个产品线,覆盖了从pc到无线终端的应用,极大的提升了前端团队的生产力,降低了开发成本。


2013年初,fis团队总结了之前在前端集成解决方案领域所做的探索,将整套方案整理开源,希望能为前端工业化提供新的思路。


功能概述

  • 跨平台支持win、mac、linux等系统
  • 无内置规范,可配置 开发和部署规范,用于满足任何前后端框架的部署需求
  • 对html、js、css实现 三种语言能力 扩展,解决绝大多数前端构建问题
  • 支持二次包装,比如 spmxphizchassis,对fis进行包装后可内置新的插件、配置,从而打造属于你们团队的自己的开发工具
  • 自动生成静态资源表关系表(map.json),可用于 连接前后端开发框架
  • 所有静态资源自动加 md5版本戳,服务端可放心开启永久强缓存
  • 支持给所有静态资源添加域名前缀
  • 可灵活扩展的插件系统,支持对构建过程和命令功能进行扩展,现已发布N多 插件
  • 通过插件配置可以在一个项目中无缝使用 lesscoffeemarkdownjade等语言开发
  • 内置 css sprites插件,简单易用
  • 内置 png图片压缩插件,采用c++编写的node扩展,具有极高的性能,支持 将png24压缩为png8
  • 内置本地开发调试服务器,支持完美运行 javajspphp 等服务端语言
  • 支持文件监听,保存即发布
  • 支持浏览器自动刷新,可同时刷新多个终端中的页面,配合文件监听功能可实现保存即刷新
  • 支持上传到远端服务器,配合文件监听,浏览器自动刷新功能,可实现保存即增量编译上传,上传后即刷新的开发体验
  • 超低学习成本,只须记忆 2 条命令即可完成开发
  • 抹平编码差异,开发中无论是gbk、gb2312、utf8、utf8-bom等编码的文件,输出时都能统一指定为utf8无bom(默认)或者gbk文件


快速上手

  • npm install -g fis
  • 三条命令,满足你的所有开发需求:
  • 试手样例


三种语言能力扩展


插件系统


配置文档

  • 插件配置
  • 内置插件运行配置
  • 目录规范与域名配置
  • 部署配置
  • 打包配置


高级使用


更多资料

  • fistool 可视化界面工具
  • gois go语言组件化解决方案
  • phiz PHP组件化解决方案
  • spmx 通过包装fis得到适应seajs架构的集成解决方案
  • sublime plugin 支持FIS编译的sublime插件,可以替代watch功能
相关文章
|
3月前
|
缓存 移动开发 Rust
前端构建工具 Mako 开源了
Hi,我是 sorrycc,Mako 的主要负责人之一,也是 Umi、Dva、Father 等库的作者。 很开心,Mako 终于开源了! Github 地址:https://github.com/umijs/mako/ 今天和大家正式介绍下他。
158 3
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
Voice-Pro:开源AI音频处理工具,集成转录、翻译、TTS等一站式服务
Voice-Pro是一款开源的多功能音频处理工具,集成了语音转文字、文本转语音、实时翻译、YouTube视频下载和人声分离等多种功能。它支持超过100种语言,适用于教育、娱乐和商业等多个领域,为用户提供一站式的音频处理解决方案,极大地提高工作效率和音频处理的便捷性。
97 10
Voice-Pro:开源AI音频处理工具,集成转录、翻译、TTS等一站式服务
|
1月前
|
存储 Prometheus 运维
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案。该集成结合了ARMS的基础设施监控能力和Prometheus的灵活配置及社区支持,实现了全面、精准的系统状态、性能和错误监控,提升了应用的稳定性和管理效率。通过统一的数据视图和高级查询功能,帮助企业有效应对云原生挑战,促进业务的持续发展。
38 3
|
1月前
|
前端开发 JavaScript 开发者
超实用开源前端商城模板,助力电商项目飞速启航!免费直接可用!
分享一款精心设计的开源前端商城模板,涵盖商品展示、购物车、订单处理、用户登录注册等核心功能,使用HTML、CSS、JS和jQuery构建,结构清晰,适合新手和资深开发者,助力电商项目快速启动。
81 0
超实用开源前端商城模板,助力电商项目飞速启航!免费直接可用!
|
2月前
|
前端开发 JavaScript
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
498 8
|
2月前
|
存储 JSON Ubuntu
时序数据库 TDengine 支持集成开源的物联网平台 ThingsBoard
本文介绍了如何结合 Thingsboard 和 TDengine 实现设备管理和数据存储。Thingsboard 中的“设备配置”与 TDengine 中的超级表相对应,每个设备对应一个子表。通过创建设备配置和设备,实现数据的自动存储和管理。具体操作包括创建设备配置、添加设备、写入数据,并展示了车辆实时定位追踪和车队维护预警两个应用场景。
86 3
|
2月前
|
设计模式 前端开发 JavaScript
前端编程的异步解决方案有哪些?
本文首发于微信公众号“前端徐徐”,介绍了异步编程的背景和几种常见方案,包括回调、事件监听、发布订阅、Promise、Generator、async/await和响应式编程。每种方案都有详细的例子和优缺点分析,帮助开发者根据具体需求选择最合适的异步编程方式。
92 1
|
2月前
|
人工智能 自然语言处理 关系型数据库
阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成
近日,阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成。
|
3月前
|
人工智能 运维 安全
聚焦API安全未来,F5打造无缝集成的解决方案
聚焦API安全未来,F5打造无缝集成的解决方案
89 26
|
3月前
|
存储 SQL 分布式计算
Hologres 与阿里云生态的集成:构建高效的数据处理解决方案
【9月更文第1天】随着大数据时代的到来,数据处理和分析的需求日益增长。阿里云作为国内领先的云计算平台之一,提供了多种数据存储和处理的服务,其中Hologres作为一款实时数仓产品,以其高性能、高可用性以及对标准SQL的支持而受到广泛关注。本文将探讨Hologres如何与阿里云上的其他服务如MaxCompute、DataHub等进行集成,以构建一个完整的数据处理解决方案。
103 2

热门文章

最新文章