飞冰(ICE) 是一套基于 React 的中后台应用解决方案,ICE 包含了一条从设计端到开发端的完整链路,帮助用户快速搭建属于自己的中后台应用。
面向设计者端,ICE 提供了 ICE Design 设计语言,来给 UI 界面提供专业的视觉指导。面向开发者端,ICE 提供了 Iceworks 工具,这是一个图形化界面的开发平台,它承载了 ICE 的物料体系和开发体验。
物料体系
在飞冰中,组件、区块、布局、模板等统称为物料,由飞冰团队维护,在内部有一套完整的开发规范和工具,目前也正在逐步对外开放中;基于此,你可以参与共建 ICE,也可以自建私有的物料体系。
组件:最基础的物料,目前飞冰的基础组件达到 55+,具有高度可复用性。
区块:通过对大量的中后台系统常用的场景进行分类、对比和抽象,基于基础组件组合而成,目前飞冰的区块达到 110+,可以通过 iceworks 进行快速组合搭建应用,减少重复的开发,提升效率。
布局:在中后台系统中布局通常较为统一,以 顶部-侧边布局-通栏
模式为主,为此 ICE 提供了 4+ 常见的布局,支持 light
和 dark
两套主题。
模板:基于已有的区块搭建而成,目前提供了 4+ 的特定领域的模板,可以从零开始搭建应用,也可以选择特定类型的模板开始使用。
前言 飞冰2.0出来了,可以玩下,为啥不去玩umi?其实是主要因为工作需要。 umi用的dva,dva一直不升依赖,不咋维护,immer目前有个比较大的安全问题在9.0修复,飞冰在2.0时升级了immer到9,dva好像还没啥动作。 飞冰和fusion那套绑的多,不用antd。 fusion官网:https://fusion.design/pc/doc/component/102?themeid=
建一个icestark微前端项目的情况下,来看这些配置(搬官网) 目录结构: ├── .ice/ # 运行时生成的临时目录 ├── build/ # 构建产物目录 ├── mock/ # 本地模拟数据 │ ├── index.js ├── public/ │ ├── index.html # 应用入口 HTML │ └── favicon.png # Favicon ├── src/ # 源码 │
写在前面: 目前在飞冰中,我们提供了 21 套模板(后续会持续的增加),可以在 Iceworks 的模板界面根据需求选择合适的模板进行初始化项目,然后基于区块快速搭建页面进行二次开发,减少各种环境配置和 UI 编写的时间,从而提高开发效率。 然而,这些模板或多或少都有各自的模板特征,基于不同的行业领域,其模板风格,布局方式也不尽相同,但主要都是 UI 为主。在模板中设计中,我们尽量保持模板的轻量,
根据公司项目使用的配置对应着官网做一个总结,下面复制部分公司项目用作学习及参考 应用入口:app.tsx中appConfig中app app: { rootId: 'ice-container', addProvider: ({ children }) => ( <LocaleProvider locale = {locale} > {children} <
ice 前端代码(我用的是一个拖拽的模板 <Upload.Dragger listType="image" action="http://localhost:8080/file" accept="image/png, image/jpg, image/jpeg, image/gif
框架选择: 基于React的飞冰渐进式研发框架(阿里开源,也叫Ice/Icejs) 微前端使用icestark微前端解决方案 UI组件库选择fusifon(企业级的中后台设计系统解决方案) 其他:ahooks、sass等 优势(为什么选飞冰): 有微前端解决方案 ahook、状态管理、路由管理等开箱即用能力(拥有需要的各种封装,配置即用) 可视化开发,多个微应用独立开发(可以使用Vue/React
定位:基于 React 的渐进式研发框架 特性 # 开箱即用的工程能力:TypeScript/Webpack5/样式方案/Mock/… 力 贴合业务的最佳实践:目录规范、代码规范、路由方案、状态管理、数据请求等 多种应用模式:支持 SPA、MPA,同时完备支持服务端渲染(SSR) 强大的插件能力:官方所有能力都通过插件实现,业务可以通过插件扩展各种能力 丰富的领域方案:微前端解决
页面配置 框架为页面级组件提供了一些特殊的配置项,让页面级组件可以快速拥有一些能力。 页面滚动# scrollToTop:用于渲染页面前是否需要将当前页面滚动至顶部,这个配置用于嵌套路由的应用场景。 const HomePage = () => { return ( // jsx code... ) } HomePage.pageConfig = { scrollToTop:
飞冰(ICE)新动态旨在定期向飞冰用户同步整体进展及规划,也欢迎大家提建议 重要进展 工程 ice-scripts: 发布 1.10.0 版本,支持命令行初始化业务组件及区块、添加区块能力,至此 ice-scripts 已完整支持 React 体系下模板/组件/区块的 init/dev/build 能力; 确定 2.0 版本整体规划,五一后开始投入开发,五月下旬发布。核心包含两个目标:(1) 配置
飞冰开发环境配置 node.js 安装 https://alibaba.github.io/ice/docs/basis/env-config Iceworks 快速开始文档 https://alibaba.github.io/ice/docs/iceworks iceworks下载 https://alibaba.github.io/ice/iceworks Visual studio code
注:图片来源于 Google Image 目录 TypeScript 是什么 为什么要使用 TypeScript 使用 TypeScript 编写 React 组件 在 ICE 中如何使用 TypeScript 已有项目如何迁移到 TypeScript TypeScript 是什么 关于 TypeScript 是什么,应该大部分人都已经知道,其 官网 的定义如下: TypeScript is a
飞冰使用typescript的tsconfig.json配置 1、compilerOptions.module一定要是ESNext,不然Pagination没有样式。 2、compilerOptions.module一定要是ESNext、commonjs,不然组件不能自动引入。 综上所述,一定选ESNext. 一个可用的配置文件如下: { "compileOnSave": false, "
阿里飞冰 icework,一个集成框架,一键创建一个前端系统 官方地址:https://ice.work/ 申明不是广告
谷歌云平台通过Anthos这个开放的应用现代化平台,实现了混合云计算和多云计算。Antos如何为分布式数据平台工作? 例如,我在Teradata On-premise、AWS Redshift和Azure Snowflake中有我的数据。Antos可以连接所有数据集并允许用户以低延迟查询或执行报告吗?AWS和Azure中的GCP Anthos的等价物是什么?
Celery 是一个 Python 的任务队列,包含线程/进程池。曾经有一个 Flask 的集成, 但在 Celery 3 重构了内部细节后变得不必要了。本指导补充了如何妥善在 Flask 中使用 Celery 的空白,但假设你已经读过了 Celery 官方文档中的教程 使用 Celery 的首要步骤 安装 Celery Celery 提交到了 Python Package Index (PyPI
本文向大家介绍基于Intellij Idea乱码的解决方法,包括了基于Intellij Idea乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 使用Intellij Idea经常遇到的三种乱码问题: 1、工程代码乱码 2、main方法运行,控制台乱码 3、tomcat运行,控制台乱码 解决方案: 1.工程代码乱码 Settings > Editor > File Encodings > G
本文向大家介绍解决Android平台中应用程序OOM异常的方法,包括了解决Android平台中应用程序OOM异常的方法的使用技巧和注意事项,需要的朋友参考一下 在Android平台上面,应用程序OOM异常永远都是值得关注的问题。通常这一块也是程序这中的重点之一。这下我就如何解决OOM作一点简单的介绍。 首先,OOM就是内存溢出,即Out Of Memory。也就是说内存占有量超过了VM所分配的最大
问题内容: 我通过阅读一些博客和介绍材料开始使用docker。 我的理解是docker可以将单个应用程序包装到标准化容器中。容器提供了一个沙箱,应用程序需要运行的所有必需资源,并且内部的应用程序始终位于该容器中。这意味着我可以将容器运送到任何地方(不同类型的OS甚至是云平台),并且仍然可以正确运行。 如果我的理解是正确的,那是否意味着微软可以将其办公服包装到一个容器中,并且可以在mac os或li
本文向大家介绍基于Jquery.history解决ajax的前进后退问题,包括了基于Jquery.history解决ajax的前进后退问题的使用技巧和注意事项,需要的朋友参考一下 以下内容是关于Jquery.history解决ajax的前进后退问题,具体详情请看下文。 本文的前提是基于后台的,所以这里不会考虑seo的问题。同时,基于后台的管理系统,也不需要被收藏,所以也不会考虑刷新的这种类似直接敲