随着我们接近 2023 年,Web 开发变得越来越复杂。新框架不断涌现,老框架也在更新以满足新的需求。开发人员可以使用这么多不同的选项,确定哪个框架适合任何给定项目可能具有挑战性。
在本文中,我们将讨论继续占据主导地位的前 15 个 Angular 框架以及一些规模较小但很有前途的后起之秀。
这些框架中的每一个都有自己的优点和缺点。根据您的特定需求和项目要求,有些可能比其他更有用。
但是,您现在做出的选择将对您未来的项目和作为软件工程师的职业轨迹产生持久的影响。这就是选择正确的 Angular 框架的关键所在。
查看一些用于 Web 应用程序开发的最流行的 Angular 框架:
Angular Material 是 Angular 团队认可的 CSS 框架,是最好的 Angular UI 框架之一。它是一个 UI 组件库,具有高质量、可重用的模板、管理面板和组件。
Angular Material 建立在 Google Material Design 的基础上,包括 30 多个用于 AngularJS 应用程序的 UI 组件,包括输入、日期选择器、数据标签和卡片。
由于 Angular Material 提供了一个包含排版和类似组件的丰富 CSS 库,因此它在全球开发人员中非常受欢迎。
使用 Angular Material,Web 开发人员可以通过确保遵循当代设计实践和原则(例如设备独立性、浏览器可移植性和优雅降级)来创建有吸引力、引人入胜、快速且响应迅速的网站。
LumX 是一个用于前端开发的 Angular 框架,它使用 Google Material Design 技术来创建具有视觉吸引力和用户友好的界面。这个 SaaS 框架可以被认为是 Angular 的最佳 CSS 框架。它可用于自定义 Web 应用程序的设计。
此外,它使用 Gulp 优化了您的 JS 文件和 SaaS,从而提高了应用程序的性能。jQuery 也可以与 LumX 一起使用,无需任何插件。
NGX-Bootstrap 是 Angular 的一个开源库,它提供了许多有用的功能,例如按钮、警报、分页、选项卡、进度条、弹出框等。这些组件使您的网页设计工作更轻松。它们还可以帮助您根据需要定制流程。
此外,例如,模态对话框、下拉菜单和工具提示都包含在此库中。这些元素适用于键盘、触摸屏和鼠标用户。
开发人员可以在构建 Web 应用程序时选择他们喜欢的选项。尽管它们不必使用单独的 JS 组件作为拖放功能,但 Bootstrap 中的 CSS 和 HTML 组件可用于创建 Web 应用程序。NGX-Bootstrap 正在不断改进,并且始终有新版本可用。
所以,去吧。
Angular UI Bootstrap 是一个以 Bootstrap 为基础的 AngularJS 框架。因此,Angular UI Bootstrap 是最好的软件开发前端框架之一。
Angular UI Bootstrap 是那些想要将 Bootstrap 与 Angular 一起使用的人的答案。您不能在 Angular 项目中直接使用 Bootstrap,因为它依赖于 jQuery,这可能会干扰 Angular 的特定功能。
从好的方面来说,这个框架是在基于 CSS 和 Bootstrap HTML 元素的纯 AngularJS 指令上创建的,因此它不需要 jQuery,并且可以用于将 Bootstrap 组件集成到 Angular 作业中。
Suave UI 帮助开发人员在 Angular 上创建 Web UI 界面。Suave UI 最棒的地方在于其广泛的指令、CSS 定义(如网格、分层元素和彩色按钮)和服务,允许开发人员试验各种 UI 组件。
它还将 UI 组件存储在捆绑文件中,无需单独包含它们。开发人员不必单独包含这些捆绑的组件库,因为它们已经包含在内。因此,他们只需一个浏览器命令即可完成任务。
Ionic 是在多个平台上运行的最著名的 Angular 框架之一。因为它是开源的,Ionic 是一个混合移动应用程序开发框架,它使用 CSS、HTML5 和 SASS 等 Web 技术。
因此,Ionic 提供了一个基于 Cordova 和 AngularJS 的前端 SDK,它支持生产跨多个平台(包括 iOS 和 Android)工作的混合移动应用程序。
Ionic 框架包含大量 Angular 组件和指令,使得生成 AngularJS 移动应用程序变得简单。
Angular UI Grid 为数据库驱动的 Web 应用程序开发过程提供了全新的视角。框架网格提供了多种功能,包括可视化、e2e 测试、过滤、分组、用户交互、排序等等。
除了原生 AngularJS 功能之外,该框架还允许在没有 jQuery 的情况下使用 AngularJS。该插件允许您仅选择所需的功能,以最大限度地减少构建网站所需的时间和精力。
使用这个库的预定义组件自定义您的网站外观是一件轻而易举的事,因为它允许您将 CSS 文件转换为使用 Angular UI Gird 的预配置组件。使用此框架,您可以使您的应用程序更具吸引力,这将有助于您更好地定位用户的需求并吸引更多的访问者返回。
Angular UI Tree 是开发人员中流行的 Angular UI 框架,用于对嵌套列表进行排序。Angular UI Tree 不需要 jQuery,让您可以轻松地更改树中的项目。此外,Angular UI Tree 利用了 AngularJS 的原生作用域并阻止组件中的子节点,以确保数据绑定正常工作。
尽管仅此框架不足以构建 Web 应用程序的整个前端,但您可以将其与其他 Angular 框架结合使用以加快 Web 应用程序 UI 开发。
Radian 是一个由 Angular 主导的 JS 库,是一个简单的开源库,使开发人员能够在 HTML 文档中制作嵌入式绘图。
使用 Radian,开发人员不必创建 JavaScript;相反,他们可以使用 HTML 来表示绘图。此外,Radian 在绑定 JavaScript 变量和 HTML 元素方面起着至关重要的作用。这个 JS 库主要用于处理贝叶斯统计的平台。
Radian 提供了在 HTML 组件和 JavaScript 变量之间实现双向数据绑定的技术,除了 D3.js 用于允许创建 SVG 组件的图形生成。此外,这些组件可以直接嵌入到页面中,从而可以从任何浏览器访问它们。
Radian 的另一个重要组成部分是它提供了全面的文档,并以自由许可证为后盾,这使得开始使用这个特定的 Angular 小部件框架变得轻而易举。
最后,这个开源库是多功能的,您可以使用它来完成与 Web 开发项目相关的不同任务。
Mobile Angular UI 是一个开源 JS 库,主要用于创建基于 Angular JS 的跨平台混合移动应用程序。
在编写这些应用程序时,您可以使用 Angular 文件上传器将文件存储在云中,用于图像和文件。这使得开发人员在他们想要在开发阶段检索这些上传的文件时可以轻松地访问这些文件。
您还可以使用此库创建显示页眉、页脚或菜单栏的导航栏。为了加快处理速度,为页脚和页眉定位了一个可滚动的页眉和页脚。
此外,在您上传图片之前,您可以调整它们的大小以适合您的应用程序的框架。
Supersonic 是一个不可知论的 AngularJS UI 框架,包括 JavaScript、基于 Web 的组件和 CSS,可以与任何流行的框架一起使用。它被称为不可知论框架。
它简化了 HTML 应用程序并与 AngularJS 紧密结合。超音速与 AppGyver 合作。然而,需要明确的是,大多数 API 不会在移动网站或原版 Cordova 应用程序上运行。
使用 Supersonic,开发人员可以转录 HTML 和 CSS 组件,或者他们可以利用将 HTML 映射到本机 API 和本机干扰的组件轻松。
Quantum UI 拥有超过 60 个基于 AngularJS 的前端开发组件,通过提供 rest-service 和服务器友好的 UI 元素来简化 Web 开发过程。它建立在 MVVM 架构上,并包含与 Bootstrap 兼容的 CSS 结构。
这个 Angular 测试框架由 GitHub 维护和托管。您不必为 Quantum UI 编写 JavaScript;您可以仅使用属性和属性对其进行配置。它的大部分元素都是免费和开源的,而其他元素必须付费。
Angular 是最流行的前端框架之一。它是一个修改和更新的基础,它依赖于 CSS 元素和基础标记来创建指令。
使用这个框架的最大优势是它允许创建语义更丰富的网站。示例包括交换、下拉、警报、手风琴、进程栏和触发器。
使用这个改变游戏规则的 JavaScript Angular 框架的声明式 UI 样式创建复杂应用程序的前端轻而易举。PrimeNG 拥有 70 多个 UI 组件可供选择,为您提供所需的一切。同样,如果您正在处理 Angular 项目,Angular 拥有您需要的一切,从原生主题到预构建的小部件。
关于前端开发,PrimeNG 是目前最好的框架之一。它允许您在 Web 应用程序中包含许多前端功能,例如图表、表单输入、覆盖、菜单等。此外,它的 MIT 许可证允许您免费和开源地使用 MIT 开源小部件。
Vue.JS 是一个开源 Angular 框架,允许用户构建 Web 应用程序 UI 和单页应用程序。路由、状态管理和构建工具功能都是 Vue.JS 最突出的功能列表的一部分。它的功能还包括用于声明式渲染和组件组合的适应性架构。
自 2014 年 2 月首次发布以来,Vue 已在许多领域得到广泛应用。其之前的版本已升级,该应用程序用于开发大量 Web 应用程序。使用这个框架很简单,您可以自定义它以适合您的 Web 开发项目。
本文中讨论的 Angular UI 框架是我们最喜欢的动态 Web 应用程序开发框架,因为它们具有灵活性和特性。由于每个 Angular 框架都有自己的优点和缺点,您应该根据您的项目和 Web 应用程序 UI 需求选择一个或多个。
TML是一种用来描述网页的标记性语言。学习HTML可能并不难,主要是要记一些HTML标签和标签代表的含义。下面PHP程序员雷雪松根据使用的情况,整理出平时常用的HTML标签。
HTML基础之HTML常用标签-PHP程序员雷雪松的博客
<!--<!DOCTYPE> 是HTML5声明,<!DOCTYPE> 必须是 HTML 文档的第一行,位于 <html> 标签之前。<!DOCTYPE>是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。-->
<!DOCTYPE html>
<html>
<!-- head标签是所有头部元素的容器。head标签内的元素可包含脚本、样式表和提供页面的元信息等等。以下标签都可以添加到 head 部分:title、base、link、meta、script 以及style。头部的内容不会显示在浏览器的。 -->
<head>
<!-- 设置字符集,如果字符集不对,可能导致乱码。一般建议utf-8国际编码 -->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312或utf-8或gbk" />
<!-- SEO相关标签,title定义文档的标题,百度建议一般不要超过32位,meta定义页面关键词和页面的描述-->
<title>网页标题</title>
<meta name="keywords" content="PHP程序员,技术博客,个人博客,雷雪松" />
<meta name="description" content="PHP程序员,雷雪松(Raykaeso)的博客是一个优秀的个人技术博客。PHP程序员雷雪松的博客记录了Linux学习,PHP开发与编程,Web前端开发,MySQL学习和教程,NoSQL数据库教程以及个人的人生经历和观点。" />
<link rel="stylesheet" type="text/css" href="main.css" />
<script type="text/javascript" src="main.js"></script>
</head>
<!-- 正文部分,所有在浏览器上可见的内容必须写在body标签内部 -->
<body>
</body>
</html>
a、布局标签
div标签定义文档中的分区或节(division/section),可以把文档分割为独立的、不同的部分,主要用于布局。
aside标签的内容可用作文章的侧栏,<span style="color: #ff0000;">html5新增标签</span>。
header标签定义页面的头部(介绍信息),<span style="color: #ff0000;">html5新增标签</span>。
section标签定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分,<span style="color: #ff0000;">html5新增标签</span>。
footer 标签定义文档或节的页脚,通常包含文档的作者、版权信息、使用条款链接、联系信息等等,<span style="color: #ff0000;">html5新增标签</span>。
article标签规定文章独立的其他内容,比如:标题、内容、评论,<span style="color: #ff0000;">html5新增标签</span>。
b、文本标签
h1-h6标签可定义标题
p标签定义段落
b/strong标签加粗
em标签来表示强调的文本,斜体
strong标签表示重要文本
u标签下划线
s标签删除线
br标签表示回车换行
hr标签表示水平线
span标签被用来组合文档中的行内元素。
blockquote标签表示块引用
pre标签可定义预格式化的文本,保持原有格式的一种标签。
sub标签下标,
sup>标签上标
表示一个空格
©表示版权符
<表示<
>表示>
c、a标签定义超链接,指定页面间的跳转。链接可以指向外部链接或者页面内部id锚点,可以在当前页面打开,新开窗口。
<a href="指向的链接地址或者网址#ID名" target="_blank|_self|_top|_parent">百度</a>
d、多媒体标签
img标签主要在网页中插入图像,可以定义图片替换文本、显示宽度和高度、是否带边框,建议等比例设置,否则图像会变形。
<img src="图片地址" alt="替换文本,图片打不开的时候显示" width="图片宽度" height="高度" border="0" />
audio标签定义声音,比如音乐或其他音频流。<span style="color: #ff0000;">html5新增标签</span>。
<audio src="someaudio.wav">您的浏览器不支持 audio 标签。</audio>
video标签定义视频,比如电影片段或其他视频流。<span style="color: #ff0000;">html5新增标签</span>。
<video src="movie.ogg" controls="controls">您的浏览器不支持 video 标签。</video>
e、序列化标签
ul和li无序列表标签
<ul>
<li>HTML</li>
<li>JS</li>
<li>PHP</li>
</ul>
ol和li有序列表标签,可以使用type属性规定有序列表符号的类型。1 按数字有序排列,为默认值,(1、2、3、4);a 按小写字母有序排列,(a、b、c、d);A 按字母大写有序排列,(A、B、C、D)。i 按小写罗马字母有序,(i, ii, iii, iv);I 按小写罗马字母有序,(I, II, III, IV)。
<ol>
<li>HTML</li>
<li>JS</li>
<li>PHP</li>
</ol>
dl标签定义了定义列表(definition list),dl标签用于结合 dt(定义列表中的项目)和 dd(描述列表中的项目)。
<dl>
<dt>计算机</dt>
<dd>用来计算的仪器 ... ...</dd>
</dl>
f、表格标签
table标签和tr标签,th标签和td标签,合并单元格。
<table width="100%" height="193" border="1" cellpadding="0" cellspacing="0" bordercolor="#FF0000" bgcolor="#000000" background="">
<tr>
<th>标题</th>
<th>标题</th>
</tr>
<tr>
<!-- 合并横向单元格 -->
<td colspan="2" nowrap="nowrap">&nbsp;</td>
</tr>
<tr>
<td></td>
<!-- 合并纵向单元格 -->
<td rowspan="2"> </td>
</tr>
<tr>
<td height="16"> </td>
</tr>
</table>
g、表单标签
form标签定义提交方式、提交地址、表单字符集以及如何对其进行编码,需要提交的表单一定要放在form标签内。
<form id="form1" name="form1" method="post|get" enctype="multipart/form-data" action="提交到的地址"></form>
input标签用于搜集用户信息
<input name="userName" type="text" maxlength="5" size="100" value="asdfasdfasfd" />
密码,输入的字符会被掩码(显示为星号或原点)
<input name="pwd" type="password" maxlength="5" size="100" value="" />
文件类型的表单,上传文件时,form表单一定要设置为enctype="multipart/form-data"
<input type="file" name="file" />
隐藏表单
<input type="hidden" name="country" value="China" />
提交
<input type="submit" name="Submit" value="提交" disabled="disabled" />
重置
<input type="reset" name="Submit2" value="重置" />
radio单选
<input name="sex" type="radio" value="1" />男
<input name="sex" type="radio" value="2" checked="checked" />女
checkbox多选
<input name="skill" type="checkbox" value="1" checked="checked" />PHP
<input name="skill" type="checkbox" value="2" />前端
<input name="skill" type="checkbox" value="2" />数据库
<span style="color: #ff0000;">注:checked="checked"可以简写成checked</span>
label标签为input元素定义标注,如果您点击label元素文本,就会触发此input控件。
textarea标签,设置文本区内的可见行数和宽度
<textarea name="content" cols="30" rows="10">大段文本输入框</textarea>
button标签定义一个按钮
提交按钮
<button type="submit" value="提交">提交</button>
重置按钮
<button type="reset" value="重置">重置</button>
select标签和option标签下拉列表
单选菜单列表框
<select name="user">
<option value="1">ray</option>
<option value="2" selected="selected">raykaeso</option>
</select>
多选列表下拉框,shift加鼠标单击,可以连续选择多个选择,CTRL+鼠标点击,可以点击多个。
<select name="user" size="10" multiple="multiple">
<option value="1">雷雪松</option>
<option value="2" selected="selected">ray</option>
<option value="3">raykaeso</option>
</select>
注:selected="selected"可简写成selected,表示选中
a、HTML标签和属性是不区分大小写的,建议HTML标签和属性都小写,属性值必须用双引号包围。
b、HTML标签都是以开始标签起始,以结束标签终止。大部分HTML标签都是成对出现的,称为双标签,比如:p标签、div标签,也有的HTML标签在开始标签中结束的标签,称为单标签,比如:hr标签、br标签。大多数 HTML 元素可拥有属性,文本内容都是写在开始标签与结束标签之间。
c、HTML标签之间尽量缩进与换行,每行代码不要过长,方便阅读和维护。
d、HTML标签使用必须符合标签嵌套规则。禁止a标签嵌套a标签,p标签嵌套div标签。
e、建议不使用HTML已经废弃的或者不赞成使用的标签,少使用table布局、iframe框架嵌套以及flash播放器。
来源:PHP程序员雷雪松的博客 -HTML基础之HTML常用标签(http://www.leixuesong.cn/2045)
面几个小节,介绍了核心标签库中的<c:if>、<c:choose>、<c:forEach>、<c:forTokens>等标签,这一小节内容介绍一下格式化标签,格式化标签的作用就是可以对数值、日期等数据,按照指定的格式进行显示。
格式化标签是来自于http://java.sun.com/jsp/jstl/fmt标签库,所以使用的时候,需要通过<%@taglib%>指令引入fmt标签库即可。
<%-- 引入标签库 --%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
常见的格式化标签我们只需要学会2个就可以啦,分别是:<fmt:formatNumber>、<fmt:formatDate> 。
<fmt:formatNumber>标签的作用是:将数值按照指定的格式进行显示,例如:百分比格式、货币格式、数值格式。标签的属性有下面几个常用的:
案例代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%-- 引入标签库 --%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
<title>JSTL标签库之格式化标签</title>
</head>
<body>
<%
double randomNum=Math.random() * 100;
pageContext.setAttribute("randomNum", randomNum);
%>
<h3>JSTL标签库之格式化标签</h3>
<h3>fmt:formatNumber标签,原始数值:${randomNum},格式化数值(四舍五入):
<fmt:formatNumber value="${randomNum}" type="number" pattern="#.##"/>
</h3>
<h3>fmt:formatNumber标签,原始数值:${randomNum},格式化数值(四舍五入):
<fmt:formatNumber value="${randomNum}" type="PERCENT" maxFractionDigits="2"/>
</h3>
</body>
</html>
运行效果:
<fmt:formatDate>标签作用是对日期进行格式化显示。常见属性如下所示:
案例代码:
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%-- 引入标签库 --%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
<title>JSTL标签库之格式化标签</title>
</head>
<body>
<%
Date date=new Date();
pageContext.setAttribute("nowDate", date);
%>
<h3>JSTL标签库之格式化标签</h3>
<h3>fmt:formatDate标签,原始:${nowDate},格式化:
<fmt:formatDate value="${nowDate}" type="date" pattern="yyyy-MM-dd"/>
</h3>
<h3>fmt:formatDate标签,原始:${nowDate},格式化数值:
<fmt:formatDate value="${nowDate}" type="time" pattern="HH:mm:ss"/>
</h3>
<h3>fmt:formatDate标签,原始:${nowDate},格式化数值:
<fmt:formatDate value="${nowDate}" type="both" pattern="yyyy/MM/dd HH:mm:ss"/>
</h3>
</body>
</html>
运行效果:
以上,就是<fmt:formatNumber>、<fmt:formatDate>格式化标签的使用。
今天就到这里,未完待续~~
*请认真填写需求信息,我们会在24小时内与您取得联系。