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功能
相关文章
|
5月前
|
JSON 前端开发 JavaScript
惊艳!阿里开源 15.2k Star 企业级低代码引擎揭秘,如何变革前端开发方式?
阿里巴巴开源的 LowCodeEngine 是一款企业级低代码引擎,具备可视化编排、UI 渲染、代码生成等全链路能力。支持 React、Vue、Rax 等框架,提供高扩展性与类型安全,助力高效开发,降低维护成本,适用于后台系统、多端同步等场景。
968 1
|
4月前
|
JSON 监控 前端开发
AMIS:百度开源的前端低代码神器,18.4k star 背后的开发效率提升利器
AMIS(前端低代码框架)是百度开源的低代码前端框架,基于纯 JSON 配置即可生成完整后台页面,包括表单、表格、图表、CRUD 列表,支持可视化拖拽编辑。,星标数已达 18.4k,百度内部已沉淀超过 5 万个页面,广泛应用于审核系统、数据管理后台、模型监控等落地场景
939 0
|
8月前
|
弹性计算 机器人 应用服务中间件
一键部署开源Qwen3并集成到钉钉、企业微信
Qwen3系列模型现已正式发布并开源,包含8款“混合推理模型”,其中涵盖两款MoE模型(Qwen3-235B-A22B与Qwen3-30B-A3B)及六个Dense模型。阿里云计算巢已支持Qwen3-235B-A22B和Qwen3-32B的私有化部署,用户可通过计算巢轻松完成部署,并借助AppFlow集成至钉钉机器人或企业微信。文档详细介绍了从模型部署、创建应用到配置机器人的全流程,帮助用户快速实现智能助手的接入与使用。
711 19
一键部署开源Qwen3并集成到钉钉、企业微信
|
8月前
|
人工智能 自然语言处理 前端开发
DeepSite:基于DeepSeek的开源AI前端开发神器,一键生成游戏/网页代码
DeepSite是基于DeepSeek-V3模型的在线开发工具,无需配置环境即可通过自然语言描述快速生成游戏、网页和应用代码,并支持实时预览效果,显著降低开发门槛。
1608 93
DeepSite:基于DeepSeek的开源AI前端开发神器,一键生成游戏/网页代码
|
9月前
|
人工智能 网络协议 Java
RuoYi AI:1人搞定AI中台!开源全栈式AI开发平台,快速集成大模型+RAG+支付等模块
RuoYi AI 是一个全栈式 AI 开发平台,支持本地 RAG 方案,集成多种大语言模型和多媒体功能,适合企业和个人开发者快速搭建个性化 AI 应用。
2011 77
RuoYi AI:1人搞定AI中台!开源全栈式AI开发平台,快速集成大模型+RAG+支付等模块
|
5月前
|
Web App开发 前端开发 关系型数据库
GitHub 2.8k star 开源既封神,“Liquid‑Glass‑React”,让你前端界面瞬间拥有苹果级液态玻璃效果!
Liquid-Glass-React 是一款开源前端组件,旨在将 Apple iOS 26 的“液态玻璃”视觉效果引入 React 应用。凭借逼真折射、多种反射模式、响应式交互及高度可配置性,它已获得 2.8k stars,成为提升 UI 质感的热门工具。
583 0
|
8月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
1675 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
6月前
|
人工智能 前端开发 数据可视化
天都塌了,17K+ Star 的AI开源神器!Onlook 如何颠覆前端开发与设计协作?怎么办
Onlook是一款开源的视觉优先代码编辑器,结合Figma直观操作与VS Code强大功能,支持浏览器中实时构建、编辑和部署React应用。项目已获17K+Star,提供快速创建Next.js应用、所见即所得的可视化编辑、AI驱动开发工具及一键部署协作等功能,是前端开发与设计协作的理想选择。
992 0
|
9月前
|
人工智能 BI API
Dify-Plus:企业级AI管理核弹!开源方案吊打SaaS,额度+密钥+鉴权系统全面集成
Dify-Plus 是基于 Dify 二次开发的企业级增强版项目,新增用户额度、密钥管理、Web 登录鉴权等功能,优化权限管理,适合企业场景使用。
1401 3
Dify-Plus:企业级AI管理核弹!开源方案吊打SaaS,额度+密钥+鉴权系统全面集成
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    574
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    235
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    225
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    164
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    275
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    408
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    176
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    112
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    190
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    261