所谓单页应用,指的是在一个页面上集成多种功能,甚至整个系统就只有一个页面,所有的业务功能都是它的子模块,通过特定的方式挂接到主界面上。它是AJAX技术的进一步升华,把AJAX的无刷新机制发挥到极致,因此能造就与桌面程序媲美的流畅用户体验。
开发框架
ExtJS可以称为第一代单页应用框架的典型,它封装了各种UI组件,用户主要使用JavaScript来完成整个前端部分,甚至包括布局。随着功能逐渐增加,ExtJS的体积也逐渐增大,即使用于内部系统的开发,有时候也显得笨重了,更不用说开发以上这类运行在互联网上的系统。
jQuery由于偏重DOM *** 作,它的插件体系又比较松散,所以比ExtJS这个体系更适合开发在公网运行的单页系统,整个解决方案会相对比较轻量、灵活。
但由于jQuery主要面向上层 *** 作,它对代码的组织是缺乏约束的。如何在代码急剧膨胀的情况下控制每个模块的内聚性,并且适当在模块之间产生数据传递与共享,就成为了一种有挑战的事情。
为了解决单页应用规模增大时候的代码逻辑问题,出现了不少MV框架,他们的基本思路都是在JS层创建模块分层和通信机制。有的是MVC,有的是MVP,有的是MVVM,而且,它们几乎都在这些模式上产生了变异,以适应前端开发的特点。
这类框架包括Backbone,Knockout,AngularJS,Avalon等。
工具类
方便 *** 作对象,数组等的工具库
underscorejs
lo-dash 与underscorejs的api基本一致。与underscore比其优势是,效率高;可自定义构建
Sugar 在原生对象上增加一些工具方法
functionaljs 提够了一些Curry的支持
Watchjs 监视对象或属性的变化
baconjs 函数式编程,cool
streamjs 用流的方式来对数组,对象进行系列 *** 作
异步流程控制
eventproxy 朴灵出品
Arbiterjs 详细
发布订阅
q Promise风格的
Asyncjs
mock
Mockjs 生成随机数据和mock Ajax 请求
jquery-mockjax mock ajax请求
时间库
moment
datejs
浏览器探测
Bowser 探测具体浏览器和版本
ua-parser-js 探测具体浏览器和版本, *** 作系统,设备类型等
调试
console-polyfill 能放心的使用 consolelog()之类的console方法
log 让控制台输出的log有样式
Konsolejs 在页面的一个元素里输出log信息 详细
urijs uri *** 作
cookie 增删改cookie的工具库
director 前端路由库 详细
BigDecimaljs 提高精度的数字 *** 作
JSDoc 根据javascript文件中注释的信息,生成API文档 详细
hotkeys 键盘事件的封装
MD5 用 MD5 的方式加密文件的库
浏览器增强类
让一些旧浏览器变牛逼的库
Selectivizr 让IE 6-8一些的css3选择器
ieBetter 让ie6-8有高级浏览器的特性
ExplorerCanvas 让IE8-的浏览器支持canvas
CSS3 Pie 让IE6-9支持border-radious,box-shadow,linear-gradient。 可以使用htc文件(注意Mine type)或js文件。在用Piejs时,box-radious的元素有背景色时,不显示背景色。。。
formFive 让旧的浏览器支持HTML5表单的一些特性,如 placeholder,autofocus
>
HTML5 Cross Browser Polyfills 一堆Polyfills
flexibility 让旧的 IE 也支持 Flexbox
选择器增强
Liningjs 让浏览器实现类似::nth-line(), ::nth-last-line()的效果
未归类
prefixfree 用了它,写css时,就不需要加浏览器的前缀了
表单类
jquery-file-upload 上传文件组件 详细
zTree 文件树形视图控件
Treed 树编辑器。感觉展示的感觉很像思维导图
FileAPI 对文件选择框内的文件的一些处理
表单验证
Validate 详细
jQuery-Validation-Engine
表单元素美化
uniform 提供对下拉框,单,复选框,按钮等表单元素的美化
select2 多选下拉框
selectivity 和unfirom比较类似
DropKick 下拉框,单,多选。外观比uniform好
switchery ios7风格的开关组件
nouislider 用滚动条来设置/控制(音量等)
rangecss 美化input[type=range]元素的外观
类
holderjs 生成占位
lazyload
imagesLoaded 选取的都加载好后执行调回
CSSgram 用CSS3的Filter实现Instagram滤镜的库
图标类
Icon Font汇总
SVG做的图标
svgicons
iconic
HYBICON 带交互效果。如 hover, click
HTML字符实体图标
>
transformicons 图标点击时,会有一些变换效果。如,加号变成叉号
css3patterns css3 做的可平铺纹理。浏览器兼容性不好。
浏览
fancybox d出查看,视屏等等 demo
yoxview d出查看,尺寸缩放很自然
墙
wookmark
UI 框架
WeUI 由微信官方设计团队为微信 Web 开发量身设计。
Framework7
UI 组件类
拖拽
dragula 支持Draggable,Dropable和Sortable。感觉比jqueryUI的轻量级,好用的样子
angular-dragula dragular 官方的 angular 版本
数据可视化(图表)
Echarts 百度出品
highcharts 功能强大。是收费的。
PlottableJS 基于D3的一个图表库
flot 文档不给力
chartJs 中文文档 demo很漂亮,很清晰。比较轻量级。
ichartJs 中国的一个家伙搞的,感觉还不错。
时间选取组件
foundation-datepicker
DatePicker 一个简单的日历 详细
full calendar 支持脱放的方式来改变待办事宜的时间
Simple Events Calendar 外观很喜欢。收费 5$
jQuery ui datepicker 经典,不是很好看
pickadate 轻量级,手机友好的,漂亮。但貌似只能在d出层中显示,而没有下拉这种方式显示。
zebra-datepicker 可配置性很强。但貌似只能在d出在右上方。。。
bootstrap-datepicker bootstrap风格。
dateRangePicker 选取时间段。bootstrap风格。该组件依赖Twitter Bootstrap, Momentjs和jQuery
自定义滚动条
perfect scrollbar 轻量级的滚动条。外观与mac上chrome的滚动条一样。
iscroll 在移动设备上用不错
加载(Loding)效果
CSS Spinners CSS做的
Loaderscss CSS做的
表格组件
jsGrid Data Grid。 详细
backgrid 基于Backbonejs的DataGrid
excellentexport 把表格的内容生成excel。兼容 Firefox, Chrome, IE6+
datatables 表格可交互(对内容进行排序,删除等)
handsontable 生成Excel外观的数据
JSpreadsheets 表格数据的组件库
选取颜色
Spectrum
分享到SNS
JiaThis 生成分享代码。
编辑器
ace 代码编辑器,可以用来做demo演示
ckeditor
ueditor 百度做的
tinymce 对html内容进行实时的编辑
summernote 在移动设备上用不错
通知组件
notiejs
HTML5播放器
jwplayer 被大量网站使用
html5media 简单的h5player,轻量级
jplayer 功能强太,可换肤
展示
Impressjs 各种旋转,和奇特的体验
fullPage 全屏显示。用滚轮来翻页 详细
zeptofullpage 专注于移动端的fullPagejs,依赖Zepto
pagePiling 和fullPage类似
turnjs 做一本书,带漂亮的翻页的效果
幻灯
slidesjs 挺好用的,只是那幻灯导航的CSS都要自己写,呵呵 详细
iSlider 无任何插件依赖的手机平台javascript滑动组件 详细
bgstretcher 全屏幻灯,会随着页面大小的变化而变化。
Swiper 开源、免费、强大的移动端触摸滑动插件 Swiper中文网
coin-slider 兼容IE6。蛮好的~。不过其切换方式是一块块的。不能配置切换方式。。。
wowslider 幻灯切换时各种很炫的效果。收费。
cycle2 普通的幻灯,竟然不支持垂直滚动。。。
jcarousel 普通的幻灯,不兼容IE6
reveal 3d滚动。做ppt相当不错
nodePPT 国人做的,做ppt也相当不错。有些方面比 reveal做的还好。但生成导出的html有些问题
roundabout 3d切换,看的后面的边
d出框
Magnific-Popup 兼容PC,Mobile。还不错,有5k+的star
layer 国人开发的,兼容ie6+。不喜欢其调用方式。
动画效果
mixitup 用漂亮的动画效果来完成排序和筛选
jQueryMarquee 跑马灯效果
quickflip 卡片翻转效果
卡片翻转效果2 兼容性可以。写的比较简单:1,只支持x方向翻转 2,类名都是规定好的 3,只能被调用一次。 需要改写一下。我的改进版见这里
TheaterJS 模拟两个人在屏幕上对话
midnightjs 文字颜色随着背景变,屌炸了
color-animation jquery的颜色渐变动画插件。jquery的动画不支持颜色值的变化。改库提供了这个支持。
transit 对元素进行css的变换
tagcanvas 3D标签云效果 详细
iconate 切换动画
Snapjs 左/右侧导航的出现效果
CSS shake 抖动动画
ClickSparkjs 点击后的一些酷炫的效果
视觉差插件
scrollorama 比较简单
superscrollorama 能做的效果更多,但要用第三方Tween的库,使用起来比较复杂。
scrolldeck
flash
swfobj 能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。 详细
抽奖
wScratchPad 刮刮卡刮奖效果
jqueryrotate 旋转插件。可以用来做转盘抽奖效果
用户体验增强类
Introjs 用来介绍网站的功能很不错。也可以做新手引导。
blockUI Lolding组件。
simple-hint 提示信息。用css做的。兼容性IE 9+。
dotdotdot 文字溢出时,添加在文字末尾加省略号
jQuery-menu-aim 二级菜单的切换如Amazon主页上一样迅速
AnythingZoomer 放大镜功能
美化/高亮语法代码
google-code-prettify
DlHighlight 仅支持JavaScript、CSS、XML、HTML 这4语法高亮
please 按要求随机舒服的颜色
Awesomplete 输入的智能提示,自动补全
proTip 提示。感觉比 Bootstrap 的 tip 好
Hammerjs 手势库。封装了 Swipe, Tap, Pinch, Pan等手势
动画
velocity 提高Jquery动画的性能。以及颜色动画之类的新特性。
SVG
Snapsvg *** 作 SVG 的 JS 库。号称 SVG 的 jQuery。demo
walkway 以动画的方式,渐渐地画出 SVG 的路径。
测试
Mocha
Chai
Should
Snoion
DeviceMockjs mock 设备。
其他类
ZeroClipboard 将内容复制到剪切板兼容主流浏览器的解决方案 详细
html2canvas html转化成canvas,可以用来做截图。详细
Ink 响应式html邮件框架
性能测试
抓取,解析RSS内容(不能跨域,所以后台要做代理,所谓的解析Rss其实就是解析xml)
jFeed
jRss 简单版的jFeed
scriptcam 与摄像头交互
cylonjs 机器人框架,支持35个平台
Masonry 一个瀑布流框架
devicescss 移动设备边框的外观。做原型的时候用不错。
Bootstrap相关类
Bootboxjs 对bootstrap的d出框做的一些封装
免费皮肤
AdminLTE
JS Plugins仓库
jQuery Cards 高质量的 jQuery 插件网站
jster
node modules
npmrank Sort npm packages by page rank
YOU MIGHT NOT NEED JQUERY PLUGINS 不依赖 jQuery 的 js 插件。
awesome-nodejs
Librariesio 各种语言的库
OniUI 去哪儿网做的一套基于Avalon的框架
常用的移动端框架
zeptojs
语法与jquery几乎一样,会jquery基本会zepto~
最新版本已经更新到116
iscrolljs
解决页面不支持d性滚动,不支持fixed引起的问题~
实现下拉刷新,滑屏,缩放等功能~
最新版本已经更新到50
underscorejs
笔者没用过,不过听说好用,推荐给大家~
该库提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。
最新版本已经更新到182
滑屏框架
适合上下滑屏、左右滑屏等滑屏切换页面的效果
slipjs
iSliderjs
fullpagejs
swiperjs
flex布局
flex布局目前可使用在移动中,并非所有的语法都全兼容,效果良好~
自学前端其实很辛苦,需要有强大的自制力和坚持下去的学习心,并且做好详细的学习规划严格执行;如果你想学前端,下面的学习路线或许对你有帮助。
前端完整学习路线
第一阶段:
HTML CSS:HTML进阶、CSS进阶、div css布局、HTML css整站开发。
JavaScript基础:Js基础教程、js内置对象常用方法、常见DOM树 *** 作大全、ECMAscript、DOM、BOM、定时器和焦点图。
JS基本特效:常见特效、例如:tab、导航、整页滚动、轮播图、JS制作幻灯片、d出层、手风琴菜单、瀑布流布局、滚动事件、滚差视图。
JS高级特征:正则表达式、排序算法、递归算法、闭包、函数节流、作用域链、基于距离运动框架、面向对象基础。
JQuery:基础使用悬着器、DOM *** 作、特效和动画、方法链、拖拽、变形、JQueryUI组件基本使用。
第二阶段:HTML5和移动Web开发
HTML5:HTML5新语义标签、HTML5表单、音频和视频、离线和本地存储、SVG、Web Socket、Canvas。
CSS3:CSS3新选择器、伪元素、脸色表示法、边框、阴影、background系列属性改变、Transition、动画、景深和深透、3D效果制作、Velocityjs框架、元素进场、出场策略、炫酷CSS3网页制作。
Bootstrap:响应式概念、媒体查询、响应式网站制作、删格系统、删格系统原理、Bootstrap常用模板、LESS和SASS。
移动Web开发:跨终端WEB和主流设备简介、视口、流式布局、d性盒子、rem、移动终端JavaScript事件、手机中常见JS效果制作、Zeptojs、手机聚划算页面、手机滚屏。
第三阶段:>
WEB服务器基础:服务器基础知识、Apache服务器和其他WEB服务器介绍、Apache服务器搭建、>
PHP基础:PHP基础语法、使用PHP处理简单的GET或者POST请求。
AJAX上篇:Ajax简介和异步的概念、Ajax框架的封装、XML>
AJAX下篇:JSON和JSON解析、数据绑定和模板技术、JSONP、跨域技术、预读取和lazy-load技术、JQuery框架中的AjaxAPI、使用Ajax实现爆布流案例额。
第四阶段:面向对象进阶
面向对象终极篇:从内存角度到理解JS面向对象、基本类型、复杂类型、原型链、ES6中的面向对象、属性读写权限、设置器、访问器。
面向对象三大特征:继承性、多态性、封装性、接口。
设计模式:面向对象编程思维、单例模式、工厂模式、策略模式、观察者模式、模板方法模式、代理模式、装饰者模式、适配器模式、面向切面编程。
第五阶段:封装一个属于自己的框架
框架封装基础:事件流、冒泡、捕获、事件对象、事件框架、选择框架。
框架封装中级:运动原理、单物体运动框架、多物体运动框架、运动框架面向对象封装。
框架封装高级和补充:JQuery框架雏形、可扩展性、模块化、封装属于传智自己的框架。
第六阶段:模块化组件开发
面向组件编程:面向组件编程的方式、面向组件编程的实现原理、面向组件编程实战、基于组件化思想开发网站应用程序。
面向模块编程:AMD设计规范、CMD设计规范、RequireJS,LoadJS、淘宝的SeaJS。
第七阶段:主流的流行框架
Web开发工作流:GIT/SVN、Yeoman脚手架、NPMer依赖管理工具、Grunt/Gulp/Webpack。
MVC/MVVM/MVW框架:Angularjs、Backbonejs、Knockout/Ember。
常用库:Reactjs、Vuejs、Zeptojs。
第八阶段:HTML5原生移动应用开发
Cordova:WebApp/NativeApp/HybirdApp简介、Cordova简介、与PhoneGap之间的关系、开发环境搭建、Cordova实战(创建项目,配置,编译,调试,部署发布)。
Ionic:Ionic简介和同类对比、模板项目解析、常见组件及使用、结合Angular构建APP、常见效果(下拉刷新,上拉加载,侧滑导航,选项卡)。
React Native:React Native简介、React Native环境配置、创建项目,配置,编译,调试,部署发布、原生模块和UI组件、原生常用API。
HTML5 :HTML5 中国产业联盟、HTML5 Plus Runtime环境、HBuilder开发工具、MUI框架、H5 开发和部署。
第九阶段: Nodejs全栈开发:
快速入门:Nodejs发展、生态圈、Iojs、Linux/Windows/OS X环境配置、REPL环境和控制台程序、异步编程,非阻塞I/O、模块概念,模块管理工具、开发流程,调试,测试。
核心模块和对象:全局对象global,process,console,util、事件驱动,事件发射器、加密解密,路径 *** 做。
祝你学有所成!
jquery底层直接和dom打交道的工具 angular, backbone 是单页面app框架,帮助你用mvc的方式更有调理的规划app angular上手容易但是如果app很复杂后期开发会很吃力 backbone正好相反相对大型app,前期比较难上手,越到后面越顺手,因为很灵活 如过
以上就是关于单网页应用的前端框架都有哪些全部的内容,包括:单网页应用的前端框架都有哪些、前端页面的插件有哪些、自学前端,前端开发的学习路线是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)