‘壹’ 为什么小公司要用自己开发的前端框架
第一,前端框架的产生,实际上来自于“避免重复劳动”这个需求,很多组件,比如按钮,响应式内容块,菜单,图文卡片都是很常见的页面组成部分,除了CSS/JS,有些还需要处理不同浏览器的兼容问题。开发过一个类似的组件后,以后又遇到同样的开发需求,自然是直接修改原来做好的要轻松得多。久而久之,最好的办法,就是将之模块化,要用的时候直接复制,或者做少量修改,达到更高的开发效率。
第二,从内部沟通的角度来看,有了清晰的框架结构和组件,内部人员沟通的成本降低,设计人员知道哪些是容易办到的,因为有成型的组件,哪些是需要费更多力气的,后端人员也是如此,UI组件化之后,后端人员无需把握细节,便能轻松知道它们是干嘛的,可能涉及哪些后端的动作。
第三,从人才角度来看,开发自己的前端框架,内部人员对于公司的黏度将更高,因为他的大量经验都沉淀到了这些框架中,如果离职到其他公司,又要花大量时间来和别人沟通细节。
第四,如果框架做得好,开源之后,能获得一些用户,这样其实是为公司准备了一些后备人才。以后如果需要新人加入,如果他正好用过这个框架,那么上手时间更短,也为公司节省了很多成本。
‘贰’ 什么是封装良好的前端交互组件,怎么写出封装良好的前端交互组件
前景是很好的,互联网应用开发的分工越来越细,真正专业的前端开发工程师是很使用JavaScript|ActionScript编写封装良好的前端交互组件。 2. 对Web项目的前端,AehvsQ
‘叁’ 前端ui框架好看的有哪些
推荐几个精致的web UI框架!
1.Aliceui
Aliceui是支付宝的样式解决方案,是一套精选的基于 spm 生态圈的样式模块集合,是 Arale 的子集,也是一套模块化的样式命名和组织规范,是写 CSS 的更好方式。
2.Amazeui
Amaze UI 是一个轻量级、 Mobile first 的前端框架, 基于开源社区流行前端框架编写的。
3.sui
SUI是一套基于bootstrap开发的前端组件库,同时她也是一套设计规范。
通过SUI,可以非常方便的设计和实现精美的页面。
同时sui还有移动端版本msui,msui是阿里巴巴共享业务事业部UED团队的作品。目的是为了手机H5页面提供一个常用的组件库,减少重复工作。
9.YDUI Touch
YDUI Touch 专为移动端打造,在技术实现、交互设计上兼容主流移动设备,保证代码轻、性能高;使用 Flex 技术,灵活自如地对齐、收缩、扩展元素,轻松搞定移动页面布局;实现强大的屏幕适配布局,等比例适配所有屏幕。什么?用得不开心?轻松切换 px;自定义Javascript组件、Less文件、Less变量,定制一份属于自己的YDUI;
10、后台UI开发框架 MuseUI
一款基于bootstrap风格,兼容于主流浏览器(包括IE6)的后端UI开发组件。
‘肆’ 前端常用的框架有哪些
jQuery,Vue,Bootstrap,react。
‘伍’ 前端,请问这种动效如何实现呀
有没有用什么UI框架呀?自己写的话,实现流程如下
scroll事件,判断是上滑还是下拉
获取每个子栏目到顶部的距离,比如记录到数组里heigtArr =[10,20,30]
然后比较scroll事件的e.detail.scrollTop与数组内每个栏目到顶部的距离heigtArr
可以定义距离正负多少合适,去取heigtArr中的值
滑动到居中位置 scrollTop = 20
‘陆’ 前端如何搞一套漂亮的前端界面
可以看下antd的UI框架,组件很漂亮
‘柒’ 前端页面的插件有哪些
工具类
方便操作对象,数组等的工具库
underscore.js
lo-dash与underscore.js的api基本一致。与underscore比其优势是,效率高;可自定义构建
Sugar在原生对象上增加一些工具方法
functional.js提够了一些Curry的支持
Watch.js监视对象或属性的变化
bacon.js函数式编程,cool
streamjs用流的方式来对数组,对象进行系列操作
异步流程控制
eventproxy朴灵出品
Arbiter.js详细
发布订阅
qPromise风格的
Async.js
mock
Mock.js生成随机数据和mock Ajax 请求
jquery-mockjaxmockajax请求
时间库
moment
datejs
浏览器探测
Bowser探测具体浏览器和版本
ua-parser-js探测具体浏览器和版本,操作系统,设备类型等
调试
console-polyfill能放心的使用 console.log()之类的console方法
log让控制台输出的log有样式
Konsole.js在页面的一个元素里输出log信息详细
uri.jsuri操作
cookie增删改cookie的工具库
director前端路由库详细
BigDecimal.js提高精度的数字操作
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文件。在用Pie.js时,box-radious的元素有背景色时,不显示背景色。。。
formFive让旧的浏览器支持HTML5表单的一些特性,如 placeholder,autofocus
https://github.com/anselmh/object-fit让浏览器支持object-fit这css规则
HTML5 Cross Browser Polyfills一堆Polyfills
flexibility让旧的 IE 也支持 Flexbox
选择器增强
Lining.js让浏览器实现类似::nth-line(), ::nth-last-line()的效果
未归类
prefixfree用了它,写css时,就不需要加浏览器的前缀了
表单类
jquery-file-upload上传文件组件详细
zTree文件树形视图控件
Treed树编辑器。感觉展示的感觉很像思维导图
FileAPI对文件选择框内的文件的一些处理
表单验证
.Validate详细
jQuery-Validation-Engine
表单元素美化
uniform提供对下拉框,单,复选框,按钮等表单元素的美化
select2多选下拉框
selectivity和unfirom比较类似
DropKick下拉框,单,多选。外观比uniform好
switcheryios7风格的开关组件
nouislider用滚动条来设置/控制(音量等)
range.css美化input[type=range]元素的外观
图片类
holderjs生成占位图片
lazyload
imagesLoaded选取的图片都加载好后执行调回
CSSgram用CSS3的Filter实现Instagram滤镜的库
图标类
Icon Font汇总
SVG做的图标
svgicons
iconic
HYBICON带交互效果。如 hover, click
HTML字符实体图标
http://www.amp-what.com/
transformicons图标点击时,会有一些变换效果。如,加号变成叉号
css3patternscss3 做的可平铺纹理。浏览器兼容性不好。
浏览图片
fancybox弹出查看图片,视屏等等demo
yoxview弹出查看图片,图片尺寸缩放很自然
图片墙
wookmark
UI 框架
WeUI由微信官方设计团队为微信 Web 开发量身设计。
Framework7
UI 组件类
拖拽
dragula支持Draggable,Dropable和Sortable。感觉比jqueryUI的轻量级,好用的样子
angular-draguladragular 官方的 angular 版本
数据可视化(图表)
Echarts网络出品
highcharts功能强大。是收费的。
Plottable.JS基于D3的一个图表库
flot文档不给力
chartJs中文文档demo很漂亮,很清晰。比较轻量级。
ichartJs中国的一个家伙搞的,感觉还不错。
时间选取组件
foundation-datepicker
DatePicker一个简单的日历详细
full calendar支持脱放的方式来改变待办事宜的时间
Simple Events Calendar外观很喜欢。收费 5$
jQuery ui datepicker经典,不是很好看
pickadate轻量级,手机友好的,漂亮。但貌似只能在弹出层中显示,而没有下拉这种方式显示。
zebra-datepicker可配置性很强。但貌似只能在弹出在右上方。。。
bootstrap-datepickerbootstrap风格。
dateRangePicker选取时间段。bootstrap风格。该组件依赖Twitter Bootstrap, Moment.js和jQuery.
自定义滚动条
perfect scrollbar轻量级的滚动条。外观与mac上chrome的滚动条一样。
iscroll在移动设备上用不错
加载(Loding)效果
CSS SpinnersCSS做的
Loaders.cssCSS做的
表格组件
jsGridData Grid。详细
backgrid基于Backbone.js的DataGrid
excellentexport把表格的内容生成excel。兼容 Firefox, Chrome, IE6+
datatables表格可交互(对内容进行排序,删除等)
handsontable生成Excel外观的数据
JSpreadsheets表格数据的组件库
选取颜色
Spectrum
分享到SNS
JiaThis生成分享代码。
编辑器
ace代码编辑器,可以用来做demo演示
ckeditor
ueditor网络做的
tinymce对html内容进行实时的编辑
summernote在移动设备上用不错
通知组件
notie.js
HTML5播放器
jwplayer被大量网站使用
html5media简单的h5player,轻量级
jplayer功能强太,可换肤
展示
Impress.js各种旋转,和奇特的体验
fullPage全屏显示。用滚轮来翻页详细
zepto.fullpage专注于移动端的fullPage.js,依赖Zepto
pagePiling和fullPage类似
turn.js做一本书,带漂亮的翻页的效果
幻灯
slidesjs挺好用的,只是那幻灯导航的CSS都要自己写,呵呵详细
iSlider无任何插件依赖的手机平台javascript滑动组件详细
bgstretcher全屏幻灯,会随着页面大小的变化而变化。
Swiper开源、免费、强大的移动端触摸滑动插件Swiper中文网
coin-slider兼容IE6。蛮好的~。不过其切换方式是一块块的。不能配置切换方式。。。
wowslider幻灯切换时各种很炫的效果。收费。
cycle2普通的幻灯,竟然不支持垂直滚动。。。
jcarousel普通的幻灯,不兼容IE6
reveal3d滚动。做ppt相当不错
nodePPT国人做的,做ppt也相当不错。有些方面比 reveal做的还好。但生成导出的html有些问题
roundabout3d切换,看的后面图片的边
弹出框
Magnific-Popup兼容PC,Mobile。还不错,有5k+的star
layer国人开发的,兼容ie6+。不喜欢其调用方式。
动画效果
mixitup用漂亮的动画效果来完成排序和筛选
jQuery.Marquee跑马灯效果
quickflip卡片翻转效果
卡片翻转效果2兼容性可以。写的比较简单:1,只支持x方向翻转 2,类名都是规定好的 3,只能被调用一次。 需要改写一下。我的改进版见这里
TheaterJS模拟两个人在屏幕上对话
midnight.js文字颜色随着背景变,屌炸了
color-animationjquery的颜色渐变动画插件。jquery的动画不支持颜色值的变化。改库提供了这个支持。
transit对元素进行css的变换
tagcanvas3D标签云效果详细
iconate图片切换动画
Snap.js左/右侧导航的出现效果
CSS shake抖动动画
ClickSpark.js点击后的一些酷炫的效果
视觉差插件
scrollorama比较简单
superscrollorama能做的效果更多,但要用第三方Tween的库,使用起来比较复杂。
scrolldeck
flash
swfobj能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。详细
抽奖
wScratchPad刮刮卡刮奖效果
jqueryrotate旋转插件。可以用来做转盘抽奖效果
Intro.js用来介绍网站的功能很不错。也可以做新手引导。
blockUILolding组件。
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动画的性能。以及颜色动画之类的新特性。
Snap.svg操作 SVG 的 JS 库。号称 SVG 的 jQuery。demo
walkway以动画的方式,渐渐地画出 SVG 的路径。
SVG
测试
Mocha
Chai
Should
Snoion
DeviceMock.jsmock 设备。
其他类
ZeroClipboard将内容复制到剪切板兼容主流浏览器的解决方案详细
html2canvashtml转化成canvas,可以用来做截图。详细
Ink响应式html邮件框架
性能测试
抓取,解析RSS内容(不能跨域,所以后台要做代理,所谓的解析Rss其实就是解析xml)
jFeed
jRss简单版的jFeed
scriptcam与摄像头交互
cylon.js机器人框架,支持35个平台
Masonry一个瀑布流框架
devices.css移动设备边框的外观。做原型的时候用不错。
Bootbox.js对bootstrap的弹出框做的一些封装
免费皮肤
AdminLTE
Bootstrap相关类
JS Plugins仓库
jQuery Cards高质量的 jQuery 插件网站
jster
node moles
npmrankSort npm packages by page rank
YOU MIGHT NOT NEED JQUERY PLUGINS不依赖 jQuery 的 js 插件。
awesome-nodejs
Libraries.io各种语言的库
OniUI去哪儿网做的一套基于Avalon的框架
常用的移动端框架
zepto.js
语法与jquery几乎一样,会jquery基本会zepto~
最新版本已经更新到1.16
iscroll.js
解决页面不支持弹性滚动,不支持fixed引起的问题~
实现下拉刷新,滑屏,缩放等功能~
最新版本已经更新到5.0
underscore.js
笔者没用过,不过听说好用,推荐给大家~
该库提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。
最新版本已经更新到1.8.2
滑屏框架
适合上下滑屏、左右滑屏等滑屏切换页面的效果
slip.js
iSlider.js
fullpage.js
swiper.js
flex布局
flex布局目前可使用在移动中,并非所有的语法都全兼容,效果良好~
‘捌’ 前端组件和插件的区别
组件:组件这个词通常是现在描述产品的时候出现,一个大的产品会有很多小的部分组成,而小的部分除了是一个大的组件的部分以外,自己可能还包含更小的组件,所以组件是递归的,那么组件到底是什么呢?最常见的组件就是我们已经写好的程序代码,任何一小段代码都可以是一个组件,它可以和其它代码段连接起来组成更大的一段程序代码,一个更大的组件,然后可能是一个函数,或者一个类程序单元,或者数个类单元文件的集成,当不同的组件的组装形成更大的组件时候,我们实际就是在做我们通常提到的一件事情:集成,软件中有很多集成工作要做,每日集成,重要版本集成等等。
插件:根据对组件和模块的分析,插件属于组件,而且还是一个程序模块,也是一个功能模块。插件是一种电脑程序,通过和应用程序的互动,来替应用程式增加一些特定的功能。
插件必须依赖于应用程序才能发挥自身功能,仅靠插件是无法正常运行的。
‘玖’ 如何写一个前端组件
这个插件具体是干什么,哪一层例如中间件,一般都是假设一个请求过去,在这个过程中会有无数的handle,这个传递的对象是什么样的,怎么去处理这个过程中的数据,这个是中间件插件则有很多,UI插件,数据插件等如果要准备插件首先是数据接口规范,然后是API规范,例如jquery的扩展方法,或者angularjs的指令,这些都是API规范还有core,这个就像amd规范之类的如果楼主是指大型架构,我建议可以参考下android的概要架构图来理解,其实原理类似的。想学这门知识的话,你可以去后盾人平台上看一下的,里面还有视频教学,通通高质量的,我自己也是在里面学习。