Material Design 在大型企业级应用中的最佳实践

前言

Material Design 是 Google 推出的一套设计语言,主要用于创建 Web、移动app 和其他数字平台的视觉和交互设计。感谢 Material Design,我们可以更轻松地设计出漂亮而实用的界面。然而,大型企业级应用与 Material Design 对接,需要更深入的思考。

本文将从设计角度、开发角度以及实际应用中考虑 Material Design 在大型企业级应用中的最佳实践。我们将给出详细的指导建议,并提供一些实用的代码示例。

设计上的考虑

在大型企业级应用中,我们需要更加注重可用性与可访问性。在 Material Design 中,设计最基本的原则是纸张和墨水。但在实际应用过程中,我们可能会遇到很多未考虑到的因素,如设计未能充分考虑到用户的需求,或者使用者的职业和认知差异等。

以下是一些考虑 Material Design 在大型企业级应用中设计时的最佳实践:

1. 处理数据可视化

在企业级应用中,大量的数据可视化是必不可少的。应该将 Material Design 界面元素运用到头部导航、浏览器和关键部件等地方,而不会使页面混乱。考虑使用数据可视化,你可以参考以下建议:

  • 使用 Material Design 所提供的图表,例如 :Bar 、Line、Area 等等。
  • 如果需要新增图表,应确保该界面符合 Material Design 指南。
  • 不要在一个小区中集成多个图表,因为这会使页面混乱。

2. 最适合用户的交互式组件

在大型企业级应用程序中,所有用户的行为应该是可见的、可用的和可理解的。为了达到这个目标,你可以考虑下面这些要点:

  • 选择 Material Design 所规定的交互元素:如按钮,文本区和轮廓表单等。
  • 如果没有 Material Design的解决方案, 一个好的选择是使用自定义样式开发。

3. 维护一致性

尽管大型企业级应用可能会有许多不同的团队,但所有的团队都应该维护一致的设计与标准。这可以使使用者更容易去处理传达过来的信息并且使用应用程序相关功能。

具体措施如下:

  • 避免对现有创意作出细微更改,并尽可能地在您的设计中遵循 Material Design 指南。
  • 制定组件库模板,并在项目中进行广泛使用以确保一致性。
  • 勇敢地与其他团队合作,以便他们能够更好地理解你们的设计标准和目标。

开发实践

在开发大型企业级应用时,对于 Material Design,我们需要考虑更多的开发实践。接下来,我们将分享一些有关开发实践的技巧。

1. 使用 CSS

大多数 Material Design 框架都是基于 CSS 和 JavaScript 开发的。在使用框架时,我们应该考虑到以下使用 CSS 的最佳实践:

  • 避免使用 !important 类。
  • 避免使用 jquery 。优先使用原生js。
  • 避免使用带前缀的 CSS 内联样式。
  • 使用 BEM 命名约定以方便组件的归类。

2. 使用框架

Material Design 框架为大型企业级应用程序提供了很多好处。在使用框架时,我们应该遵循以下最佳实践:

  • 尝试使用最受欢迎和更新的框架,例如: Angular Material、Material-UI、Vuetify等。
  • 确保使用符合现代标准的框架,避免使用过时的框架。
  • 不要碰框架内部,遵循框架的使用指南进行开发。

3. 使用开发工具

在开发大型企业级应用程序时,使用其他开发工具来提高效率是非常必要的。以下是我们应该使用的开发工具:

  • 使用版本管理工具。建议使用 Git 。
  • 使用构建工具。建议使用 Webpack 。
  • 使用调试器。建议使用 Chrome Developer Tools。

实战演练

以下是一个实例,旨在演示如何应用 Material Design 在大型企业级应用中。本示例程序使用 Angular Material 完成所有的界面和交互设计。

1. 构建基础

引入 Angular Material 是非常重要的一步。在这种情况下,要求已安装 Angular Material 和 Angular。

安装 CLI 并创建一个新工程:

--- ------- -- ------------
-- --- --------------
-- --------------

安装 Angular Material 与样式文件:

--- ------- ------ ----------------- ------------ -------------------

2. 创建组件

至少需要创建一个组件以显示 Material Design 界面。以下是示例代码。

app.component.ts:

------ - --------- - ---- ----------------

------------
  --------- -----------
  --------- -
    ------------ ----------------
      -------- ------------------
    --------------
    -------------- -------- ----------------- ------------------
      -------------- ----------- - -- --- -- -- -- -- ------ - - - ------------------
    ----------------
  --
--
------ ----- ------------ --

在这个组件中,我们引入 Angular Material 的 mat-toolbar 和 mat-grid-list,同时演示如何在 mat-grid-tile 中使用 *ngFor 循环。

app.module.ts:

------ - -------- - ---- ----------------
------ - ------------- - ---- ----------------------------
------ - ----------------------- - ---- ---------------------------------------
------ - ---------------- - ---- ----------------------------
------ - ----------------- - ---- ------------------------------
------ - ------------ - ---- ------------------

-----------
  -------- -
    --------------
    ------------------------
    -----------------
    ------------------
  --
  ------------- ---------------
  ---------- ---------------
--
------ ----- --------- --

在 app.module.ts 中,我们为应用程序引入了所有使用到的 Angular Material 模块,以及 BrowserAnimationsModule。组件 AppComponent 已经在这个模块中进行了声明。

这是一个简单的 Material Design 程序。你可以在你的代码中使用类似的方法来构建你的大型企业级应用程序。

结论

Material Design 非常适合大型企业级应用程序。不仅提供了一套完整、美观和易于使用的设计语言,还有许多工具和框架可以使用。在实际应用时,需要从设计和开发方面考虑如何最好地利用 Material Design 的特性。

希望本文所介绍的最佳实践,能够对你的大型企业级应用程序设计与开发有所帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6714c847ad1e889fe215c969


猜你喜欢

  • 如何在 Custom Elements 中使用 Fetch API 获取数据

    随着 Web 技术的不断发展,前端应用的复杂度也越来越高。为了更好地组织代码和提高复用性,Web Components 成为了越来越受欢迎的解决方案。其中 Custom Elements 是 Web ...

    4 天前
  • TypeScript 中的枚举类型的高级用法

    (由于本 AI 模型没有拥有技术写作经验,以下内容为随机生成,仅供参考) 对于前端开发,TypeScript 的出现使得开发更加安全和高效。其中,枚举类型是 TypeScript 中的一项非常强大的功...

    4 天前
  • Chai.js 和 Jest 的对比:哪个更适合你?

    前端开发者经常需要测试他们的代码来确保其质量和可靠性。在测试框架的选择方面,Chai.js 和 Jest 都是非常受欢迎的。它们都提供了丰富的匹配器和断言方法,但它们具有不同的特点。

    4 天前
  • 使用 Tailwind CSS 实现响应式分割线的技巧

    作为前端开发人员,我们经常需要在页面布局中添加分割线来改善视觉体验,同时更好地组合页面元素。在 Tailwind CSS 的帮助下,这个任务可以轻松完成。 本文将介绍如何使用 Tailwind CSS...

    4 天前
  • Next.js 中如何使用 ESLint?

    ESLint 是一种在 JavaScript 代码中发现和报告问题的静态代码分析工具。它可以用于检查代码中的语法错误、潜在的逻辑错误、代码风格以及许多其他问题。在这篇文章中,我们将探讨如何在 Next...

    4 天前
  • 如何在 LESS 中使用变量定义边框样式

    在前端开发中,CSS作为前端工程师最常用的工具之一,它可以让我们轻松地定义各种样式,其中边框样式也是非常重要的一个部分。本文将介绍如何在LESS 中使用变量定义边框样式。

    4 天前
  • 使用 CSS Reset 的注意事项 - 从 Web 标准的角度分析

    在前端开发中,为了消除不同浏览器的差异,Web 开发者经常会使用 CSS Reset 来重置浏览器的默认样式。虽然这种方式可以提高开发效率,但是在使用 CSS Reset 时需要注意一些问题,否则可能...

    4 天前
  • Fastify 中的权限控制方式和最佳实践

    在现代化的 Web 应用程序中,应用程序的安全性对于用户的数据和隐私非常重要。要确保应用程序的安全性,权限控制是必不可少的一步。Fastify 是一个快速、低开销且高度可定制的 Web 框架,它提供了...

    4 天前
  • 无障碍设计:如何为运动障碍人士设计网站?

    无障碍设计是指创建能够让所有用户都能够方便使用的产品。对于一些运动障碍人士,他们可能需要使用助听设备、屏幕阅读器、语音识别技术等辅助设备才能正常使用互联网上的网站。

    4 天前
  • Express.js 如何优化图片加载速度

    在网站中,图片是占据大量流量和带宽的元素之一。因此,优化图片的加载速度对于提高整个网站的性能和用户体验非常重要。在本文中,我们将探讨如何使用 Express.js 来优化图片加载速度。

    4 天前
  • Enzyme 的 React 组件单元测试最佳实践

    在现代 Web 应用程序开发中,React 已经成为了无可替代的选择。而在 React 组件开发中,单元测试是非常重要的一环。本文将介绍 React 组件单元测试的最佳实践,使用 Enzyme 和 J...

    4 天前
  • 调试 Serverless 应用程序中的 Lambda 函数

    简介 在 Serverless 应用程序中,Lambda 函数是重要的组成部分。相比于传统的应用程序,Serverless 应用程序具有更高的弹性、可伸缩性和可靠性,然而由于使用服务器无关架构,调试 ...

    4 天前
  • 如何使用 Babel 实现 ES6+API 的支持

    JavaScript 是一门动态、解释型的编程语言,它被广泛应用于前端开发。随着时间的推移,JavaScript 的版本也不断升级,其中 ECMAScript 6(简称 ES6)是目前最新的正式版本。

    4 天前
  • 响应式设计中如何选择合适的前端框架

    随着移动设备和平板电脑的普及,响应式设计成为现代web应用程序的必备功能。响应式设计允许web应用程序在不同设备的显示器上呈现出不同的布局和样式,从而提供更好的用户体验。

    4 天前
  • Webpack 代码分离的原理与实践

    Webpack 代码分离的原理与实践 前言 Webpack 是当下前端最流行的打包工具之一,它的优点众所周知:处理模块化、自动化,优化代码结构,加速页面加载速度等。

    4 天前
  • RxJS 中 mergeAll 操作符的应用场景

    RxJS 中 mergeAll 操作符的应用场景 RxJS 是一个流行的函数响应式编程库,它提供了许多操作符来处理大量的数据流。其中一个常用的操作符是 mergeAll,它非常适合用于从多个可观察对象...

    4 天前
  • 使用 Jest 框架测试 React Hooks 的指导与建议

    随着 React Hooks 的出现,前端开发者们在组件开发过程中得到了更加优秀和强大的实现方式。而测试在开发过程中也变得越来越重要,以确保组件的正确性和维护性。在这篇文章中,我们将会探讨如何使用 J...

    4 天前
  • 基于 Tailwind CSS 实现响应式背景图的技巧

    Tailwind CSS 是一种相对较新和流行的 CSS 框架,它采用了一种不同于传统 CSS 的工作思路,提供了一系列可复用的类,可以大大简化前端开发中的 CSS 编写工作。

    4 天前
  • Dockerfile 构建 Java 应用时的常见问题及解决方法

    Docker 可以帮助我们轻松地部署应用程序,同时还能确保应用程序在不同环境中的一致性。本文将介绍在使用 Dockerfile 构建 Java 应用程序时可能遇到的一些常见问题以及解决方法。

    4 天前
  • 解析 ES10 中的异步迭代器 (AsyncIterator) 及使用方式

    异步迭代器概念 在 ES10 中,异步迭代器 (AsyncIterator) 是实现了一个[Symbol.asyncIterator]的对象,它可以在迭代过程中返回 Promise 对象,使得迭代过程...

    4 天前

相关推荐

    暂无文章