【前端框架】当前基于bootstrap框架的几种主流前端框架

article/2025/10/14 11:14:29

一  概述

当新开发一个项目或产品时,技术选型是一个不可缺少的环节,在软件架构中有着举足轻重的作用,可以这么说,技术选型的好坏直接影响项目或产品的成败优劣,因此,在进行软件架构时,一定要想好技术选型。传统的前后端耦合在一起的模式,基本上不能满足当前环境下的大数据,高并发等需求,如.NET 的WebForm模式逐渐被MVC取代,MVC逐渐取代WebForm,其中有两点重要的原因:MVC前后端彻底分离和MVC通用性比较好。从架构的架构,我们把软件架构抽象为两部分,即前端和后端,两者通过接口来传递数据。但在本篇文章中,不谈架构,只是与大家分享几种基于Bootsrap的比较主流的前端框架。

 

二 当前几种比较流行的前端框架

(一)AdminLTE

 1.参考网址:https://adminlte.io/

 2.开源

 3.Bootstrap3框架

 4.轻量级

 5.完全响应式,支持定制化

 6.github:https://github.com/almasaeed2010/AdminLTE

(二)ACE框架

 

 1.参考网址:http://ace.jeka.by/

 2.Twitter bootstrap3开发的后台模板

 3.开源

 4.github:https://github.com/bopoda/ace

(三)clearmin

 

 1.参考网址:http://cm.paomedia.com/

 2.基于Bootstrap3框架开发的

 3.github:https://github.com/paomedia/clearmin

(四)h-ui

 

 1.参考网址:http://www.h-ui.net/H-ui.admin.shtml

 2.H-ui.admin是用H-ui前端框架开发的轻量级网站后台模版采用源生html语言,完全免费,简单灵活,兼容性好让您快速搭建中小型网站后台

(五)Echats

1.参考网址:http://echarts.baidu.com/

2.由百度团队开发,完全用js开发,功能强大,各种类型报表

三 Echarts架构图

如上虽然给大家推荐了五套前端框架,但笔者推荐AdminLTE+H-ui+Echarts组合模式,这也是我目前在软件架构中运用到的组合模式。

Echarts框架

 

四  用Echarts做个报表统计

(一)先看看DEMO效果图

动态效果

 1.支持多种动报表切换,如Line,Bar等;

 2.具有隐藏/显示按钮;

 3.具有数据表格功能;

 4.具有图标保存功能。

(二) 前端Code

1.定义一个div容器

1 <div id="EchartsBarDemo" style="width:100%;height:600px"></div>

2.初始化

1 var myChart = echarts.init(document.getElementById('EchartsBarDemo'));

3.设置option

var option = {title: {text: 'XXX高三6月学生总分统计',subtext: '虚拟数据'},tooltip: {trigger: 'axis'},legend: {data: ['文科', '理科']},toolbox: {show: true,feature: {mark: { show: true },dataView: { show: true, readOnly: false },magicType: { show: true, type: ['line', 'bar'] },restore: { show: true },saveAsImage: { show: true }}},calculable: true,xAxis: [{type: 'category',data: ['300以下', '300-400', '400-500', '500-550', '550-600', '600-650', '650以上']}],yAxis: [{type: 'value'}],series: [{name: '理科',type: 'bar',data: LiKeScores,markPoint: {data: [{ type: 'max', name: '最大值' },{ type: 'min', name: '最小值' }]},markLine: {data: [{ type: 'average', name: '平均值' }]}},{name: '文科',type: 'bar',data: WenKeScores,markPoint: {//标注点data: [{ type: 'max', name: '最大值' },{ type: 'min', name: '最小值' }]},markLine: { //水平线data: [{ type: 'average', name: '平均值' } //水平线表示平均值]}}]}

 

4.将option添加给myCharts实例

1 myChart.setOption(option);
2 // 设置加载等待隐藏
3 myChart.hideLoading();

 

(三).NET

 

public class DefaultController : Controller{// GET: Defaultpublic ActionResult BarEcharts(){return View();}public ContentResult GetScoresJson(){//这里只是模拟数据,正式环境需要到db中查询return Content("{LiKe:[10, 20, 30, 100, 300, 80, 60],WenKe:[15, 10, 30, 80, 400, 100, 60]}");}}

 

(四)完整源码

1.前端

<html>
<head><meta name="viewport" content="width=device-width" /><script src="~/Scripts/jquery-3.3.1.js"></script><script src="~/Scripts/echarts.js"></script><title>BarEcharts</title>
</head>
<body><div id="EchartsBarDemo" style="width:100%;height:600px"></div>
</body>
</html><script>//初始化var myChart = echarts.init(document.getElementById('EchartsBarDemo'));//定义全局变量//var LiKeScores = [10, 20, 30, 100, 300, 80, 60];//var WenKeScores = [15, 10, 30, 80, 400, 100, 60];var LiKeScores = [];var WenKeScores = [];var jsonURL = "/Default/GetScoresJson";$.ajax({type: 'get',url: jsonURL,dataType: "text",success: function (rspData) {console.log(rspData);var str = eval('(' + rspData + ')');LiKeScores =str.LiKe;WenKeScores = str.WenKe;var option = {title: {text: 'XXX高三6月学生总分统计',subtext: '虚拟数据'},tooltip: {trigger: 'axis'},legend: {data: ['文科', '理科']},toolbox: {show: true,feature: {mark: { show: true },dataView: { show: true, readOnly: false },magicType: { show: true, type: ['line', 'bar'] },restore: { show: true },saveAsImage: { show: true }}},calculable: true,xAxis: [{type: 'category',data: ['300以下', '300-400', '400-500', '500-550', '550-600', '600-650', '650以上']}],yAxis: [{type: 'value'}],series: [{name: '理科',type: 'bar',data: LiKeScores,markPoint: {data: [{ type: 'max', name: '最大值' },{ type: 'min', name: '最小值' }]},markLine: {data: [{ type: 'average', name: '平均值' }]}},{name: '文科',type: 'bar',data: WenKeScores,markPoint: {//标注点data: [{ type: 'max', name: '最大值' },{ type: 'min', name: '最小值' }]},markLine: { //水平线data: [{ type: 'average', name: '平均值' } //水平线表示平均值]}}]}myChart.setOption(option);// 设置加载等待隐藏myChart.hideLoading();},error: function (data) {console.log(data);LiKeScores = data.LiKe;WenKeScores = data.WenKe;//Loading(false);}});
</script>

2.后端

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;namespace EchartDemo.Controllers
{public class DefaultController : Controller{// GET: Defaultpublic ActionResult BarEcharts(){return View();}public ContentResult GetScoresJson(){//这里只是模拟数据,正式环境需要到db中查询return Content("{LiKe:[10, 20, 30, 100, 300, 80, 60],WenKe:[15, 10, 30, 80, 400, 100, 60]}");}}
}

感谢!


http://chatgpt.dhexx.cn/article/SUaL23kA.shtml

相关文章

前端主流图表框架

文章目录 一 echarts1.简介&#xff1a;2.使用&#xff1a;1.代码&#xff1a;2.效果&#xff1a;3.代码2&#xff1a;4.效果2&#xff08;鼠标移动有定位效果&#xff09;&#xff1a; 二 Emprise JavaScript Charts&#xff08;英文版不好阅读&#xff0c;访问慢&#xff0…

主流前端框架下ArcGIS API for JavaScript的开发

在工作之余利用周末的时间录制了一门ArcGIS API for JavaScript的零基础开发课程&#xff0c;相关信息如下。 课程介绍 课程详细介绍请看如下地址中的视频介绍。 课程特点 课程所用API为目前最新版ArcGIS API for JavaScript 4.14课程所用的主流前端框架为Vue和React 课程…

angular-6大主流前端框架(一)

小编我最近做的项目中前端用到了angular&#xff0c;全因心中无货&#xff0c;特来补货。我们先对比一下前端框架。 【我是否需要使用框架&#xff1f;】 如果不尝试回答这个问题就是我们的失职&#xff0c;这越来越成为社会上某些人的口头禅&#xff0c;在网络平台上的争论也…

3大主流前端框架对比

2019独角兽企业重金招聘Python工程师标准>>> 框架对比 AngularReactVue.js组织方式MVC模块化模块化数据绑定双向单向双向模板能力强大自由简介自由度较小大较大路由静态路由动态路由动态路由 适用场景 Angular&#xff1a;后端开发人员构建CURD类型应用 React&#…

主流前端框架实现原理

主流前端框架都遵循组件化开发模式&#xff0c;根据更新粒度可以分为应用级、组件级和节点级。他们的实现原理均为UIf(state) 即框架内部的运行机制根据状态渲染视图 应用级代表:React 组件级代表&#xff1a;Vue 节点级代表&#xff1a;Svelte、SOLID 一、 节点级更新框架…

三大主流前端框架介绍VUE 、React、Angular

当前&#xff0c;三大主流前端框架分别是Vue、React、Angular这三个框架。 Vue 是一个构建数据驱动的Web界面的库&#xff0c;准确来说不是一个框架&#xff0c;用于构建直观&#xff0c;快速和组件化交互式界面的 MVVM 框架。 它有以下的特性&#xff1a;1.轻量级的框架、2…

web前端三大主流框架浅述

web前端三大主流框架是什么&#xff1f;前端开发师的岗位职责有哪些&#xff1f;微点阅读小编整理了相关内容供大家参考了解&#xff0c;请各位小伙伴随小编一起查阅下面的内容。 web前端三大主流框架 web前端三大主流框架是Angular、React、Vue。 1、Angular Angular原名angul…

几个精致的web UI框架

2019独角兽企业重金招聘Python工程师标准>>> 1.Aliceui Aliceui是支付宝的样式解决方案&#xff0c;是一套精选的基于 spm 生态圈的样式模块集合&#xff0c;是 Arale 的子集&#xff0c;也是一套模块化的样式命名和组织规范&#xff0c;是写 CSS 的更好方式。 gitH…

自动化测试的基本流程

测试如果按照是否手工划分可以分为手工测试和自动化测试。手工测试执行效率慢&#xff0c;容易出错。但是可以进行探索性测试和发散性测试。自动化测试则是和手工测试对立互补。 实施自动化测试的基本步骤 首先&#xff0c;需要已经完成了功能测试&#xff0c;此时测试版本稳…

自动化测试的流程有哪些?没有比这个更详细的了

目录 前言 自动化测试流程 总结 重点&#xff1a;配套学习资料和视频教学 前言 年初的时候自动化测试脚本也接触了一段时间&#xff0c;当时一上来就根据同事的写好的模板&#xff0c;写了几个简单功能模块的脚本&#xff0c;对整个脚本的编写流程有了些了解。 最近又开始做…

自动化测试的流程

下图是自动化测试的基本流程图&#xff0c;以及每个阶段的任务负责人&#xff0c;输出等。 1、制定测试计划 在展开自动化测试之前&#xff0c;最好做个测试计划&#xff0c;明确测试对象、测试目的、测试的项目内容、测试的方法、测试的进度要求&#xff0c;并确保测试所需的…

原来!自动化测试项目--的完整测试流程是这样的……

目录 需求分析&#xff1a; 整体流程图&#xff1a; 分析流程&#xff1a; 测试设计&#xff1a; 测试分析&#xff1a; 测试设计&#xff1a; 用例设计&#xff1a; 用例执行和回归 用例执行标准 bug回归标准 补充用例 质量分析 bug定位 前端定位&#xff1a; …

MySQL自动化运维工具

数据字典DDM&#xff1a;查看DB表结构和字段的&#xff0c;应用开发人员使用的&#xff0c;参考设计时 数据执行&#xff1a;写SQL语句的dml &#xff0c;数据库人员给开发人员使用&#xff0c;执行语句、线上调试&#xff0c;发现数据问题&#xff0c;技术支持&#xff0c; 数…

如何做自动化测试

这个话题比较大&#xff0c;相信大家也都有自己的想法&#xff0c;我在这里写一些我自己的看法&#xff0c;请大家指教。 什么叫做自动化测试工程师 首先&#xff0c;会使用自动化测试工具的测试人员不能够称之为完全的自动化测试人员&#xff0c;这类测试人员被称为『工具小…

【测试】自动化测试基本流程

下图是自动化测试的基本流程图&#xff0c;以及每个阶段的任务负责人&#xff0c;输出等。 1、制定测试计划 在展开自动化测试之前&#xff0c;最好做个测试计划&#xff0c;明确测试对象、测试目的、测试的项目内容、测试的方法、测试的进度要求&#xff0c;并确保测试所需的…

自动化测试如何管理测试数据

前段时间&#xff0c;知识星球里有同学问到&#xff1a;自动化case越多&#xff0c;测试数据越多&#xff0c;数据的管理成本也越来越高&#xff0c;是否需要一个数据池来专门管理测试数据&#xff1f;这是一个好问题&#xff0c;也是很多测试同学在自动化测试实践中必须面对的…

自动化测试如何准备测试数据

事实上&#xff0c;大多数类型的测试都需要准备测试数据。 手动测试&#xff1a;需要准备一些基础数据&#xff0c;比如配置数据等; 自动化测试&#xff1a;基础需要准备&#xff0c;已有数据&#xff0c;动态运行时产生的数据需要准备; 性能测试&#xff1a;类似于自动化测试…

自动化测试实施流程

在上篇文章中&#xff0c;我们已经介绍过Selenium的一些基础知识&#xff0c;以及是否能够开展自动化测试的情形&#xff0c;在这篇文章中&#xff0c;我们将主要介绍自动化测试的实施流程。 1、自动化测试流程图 2、主要过程描述 2.1、自动化测试的切入点 开展自动化测试的…

自动化测试之获取mysql中的数据

各位小伙伴们&#xff0c;大家好&#xff0c;今天给大家带来的是关自动化测试之获取mysql数据库中的数据方面的干货&#xff0c;技术含金量超高&#xff0c;有测开方面发展的小伙伴可以好好看看。 实施自动化获取mysql数据库中的数据的前提知识有&#xff1a; 1. 精通软件测试…

性能自动化测试整体流程

目录 1. 性能环境搭建介绍 1.1 配置Jenkins 1.2 配置Maven, JDK 1.3 安装Jenkins插件 1.4 Jenkins角色权限管理 1.5 Jenkins配置发送邮件 1.6 配置JMeter 1.7 安装和配置Tomcat 2. 分布式接口压测的Job设置 2.1 Jenkins上配置Job 2.2 配置JMeter分布式压测环境 2.3…