1. 前言
WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯,它建立在 TCP 之上.
本文主要讲述在Java技术领域实现websocket服务的五种方式.
WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯,它建立在 TCP 之上.
本文主要讲述在Java技术领域实现websocket服务的五种方式.
本文讲述如何使用 Gradle 搭建一个以 springboot 技术栈作为后端, 使用 Angular 作为前端技术栈, 同过 gradle 将其整合成一个项目的实践经验.
这里只是作为一种实践, 并不建议在生产环境中将前后端耦合在一起. 本文的目的是拓展 Spring 在(SPA)Single page Application 一种能力, 即将实现项目依赖关系, 测试,打包等等自动化.
实现思路就是通过 Gradle task 触发 npm build, 将编译后的静态资源文件, 部署到 springboot 的静态资源文件目录, 然后沿用后端打包过程, 将前后端应用程序整合在一起.
在本教程中,您将学习如何在 angular 12/11 应用程序中制作带有预览功能的图像上传示例。
此外,本教程将逐步指导您如何在角度 11/12 中上传图像。并且还将反应式表单与表单组一起使用,以上传带有预览的图像。
网站设计师应将每一位访问我们网站的用户视为潜在的新用户,为他们提供足够的指导和指南,以完成他们的任务并熟悉网站。几乎所有类型的网站都必须帮助用户,但方式不同。网站的类型将决定您应该提供的帮助系统的类型。
此外,帮助系统的有效性直接关系到网站设计的质量。一个设计不好的帮助系统——无论其内容多么好——都会带来劣质的用户体验。在本文中,我们将通过示例研究设计有效帮助页面的一些方法,这些方法可能会启发您的工作。
Angular Material实现typeahead简单示例
项目中需要一个输入提示框, 之前是使用ng-bootstrap实现的. 但是由于系统框架完全迁移到了material design. 所以所有bootstrap的依赖项都要迁移到angular material design.
如果您的web表单有一个包含许多选项的下拉列表,那么您可能希望通过提前键入来简化用户的生活。幸运的是,Angular Material组件可以让你很容易地做到这一点。在本指南中,我将向您展示如何实现这一点。
顺便说一句:如果你不熟悉typeahead(提前输入),这是一种在下拉列表中过滤结果的方法。用户刚开始在字段中键入字符,列表将缩小为仅以用户键入的字符开头的选项。
typeahead是一种用户友好的输入方式,因为用户不必在看似无穷无尽的列表中滚动才能找到他们想要的内容。
根据 flex-layout 官方宣告, @angular/flex-layout 当前处于 deprecated 状态. 替代方案为 Tailwindcss 或者 Angular CDK.
具体原因参考官方的 anoucement - Medium post
和 github 上的讨论
建议新项目使用其他 css library, 旧项目考虑移植到其他 css library.
迁移工具:
migrate-angular-flex-to-tailwind
[flex-layout-migrator](https ://github.com/NIPE-Solutions/flex-layout-migrator)
目前 DuncanFaulkner 克隆了@angular/flex-layout 并提供社区支持, 目前以及能支持 Angular 16 了.
所以使用社区版本的 flex-layout 也是一直选择, 如果重度依赖 flex-layout
新家现在位于
要在 Angular CLI 项目中使用@angular/flex-layout 相当简单,只需要两个步骤:
安装组件指令
1 | npm install @angular/flex-layout --save |
将 Angular Flex Layout 导入到 app.module 中
1 | // src/app/app.module.ts |
实际上如果想在自己的 web 项目中使用 material design 这套设计理念, 有多种选择, 一个是使用 bootstrap + mdbootstrap 这套架构和组件, 或者使用 bootstrap+materialize-css 这套解决方案. 其核心思想就是使用 bootstrap 去处理响应式 web ux 的问题以及跨浏览器, 跨各种大小屏幕兼容性问题, 而使用 mdbootstrap 或 materialize 去实现一套 material design 风格的组件库. 实际上这是一套很好的思路, 各方案专注自己的擅长的领域, 保持小而美的设计. 但是现实问题是 mdbootstrap 并不是免费的, 其 prime 版本是收费的, 而且对初创公司来说其收费还不便宜. materialize-css 是开源免费的, 但是截至 2022-05-29, 该项目已经 6 年没有更新了, 最近的一个版本是 6 年前发布的一个 1.0.0 版本.
Material设计颜色系统可以帮助您创建反映您的品牌或风格的颜色主题。
Material设计颜色系统可帮助您以有意义的方式将颜色应用于 UI。在此系统中,您可以选择主要颜色和次要颜色来代表您的品牌。然后,每种颜色的深色和浅色变体可以以不同的方式应用于 UI。
Material Design 基础 - Elevation(标高)
Elevation(标高)是沿 z 轴的两个Surface之间的相对距离。
Material Design中的标高为Material surfaces之间的距离。从一个Material surface的前部到另一个Material surface前面的距离沿 z 轴以与dps(density-independent pixels)为单位进行测量,并使用阴影进行描绘(默认情况下).