【JavaScript】直接拿来用!最火的前端开源项目(一)
【JavaScript】直接拿来用!最火的前端开源项目(一) - daishuguang
对于开发者而言,了解当下比较流行的开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。为此,本文整理GitHub上最火的前端开源项目列表,内容涵盖了 Hack Design 、 Designer School 、 TheExpressiveWeb 、 如何成为优秀的前端开发工程师 、 Web开发教学材 等,这里按分类的方式列出前九个。
详细内容如下:
一、Architecture
网站架构,一般认为是根据客户需求分析的结果,准确定位网站目标群体,设定网站整体架构,规划、设计网站栏目及其内容,制定网站开发流程及顺序,以最大限度地进行高效资源分配与管理的设计。
(1) BEM :该方法可以让开发人员快速开发出网站,延长网站的寿命;保持代码的重用性
(2) Atomic Design :以原子的观点设计系统架构,从具体到抽象构建系统架构
- 托管地址: https://github.com/bradfrost/patternlab
- Video + Slides
- Atomic Design: Some Thoughts and One Example
- Atomic Design Makes Me Feel Like a Chemist
(3) Aura :是一个事件驱动的架构,利用可重用的部件,开发可扩展的应用程序
(4) Terrific.js :提供一个可扩展的JavaScript架构,帮助你对JQuery/Zepto代码进行模块化。
(6) 视频:Nicholas Zakas:可扩展的JavaScript应用程序架构
(8) 图书:雄辩的JavaScript
(9) 图书:深入单页面的应用程序
(10) jQuery的应用程序架构图
(11) 如何管理大型jQuery的应用程序
(12) 对于CSS的可扩展和模块化架构
(13) 比较不同观察者模式之间的实现过程
二、Workflow
工作流就是一系列相互衔接、自动进行的业务活动或任务。一个工作流包括一组活动及它们的相互顺序关系,还包括流程及活动的启动和终止条件,以及对每个活动的描述。
(1) Vid:JavaScript开发流程 + 幻灯片
(2) Yeoman :为开发者提供一系列健壮的工具、程序库和工作流,帮助他们快速构建出漂亮、引人注目的Web应用。
(3) Grunt :是一个基于任务的关于JavaScript项目命令行构建工具
(4)前端处理——扁平化构建与自动化
(5) CSSCSS :是一个CSS的冗余分析仪,用于分析冗余
(6) Helium :通过JavaScript工具扫描网站,显示未使用的CSS
(7) Roots
(8) Sparky.js :是一个客户端应用程序框架,可以帮助那些不想订阅特定客户端的MVC框架,却想使用该框架的用户。
(9) Brunch :是一个针对HTML5应用的汇编程序。
(10) Automaton :它是内置在JavaScript中的任务自动化的工具。
(11) Cartero三、Frameworks
FrameWork即架构,提供了软件开发的框架,使开发更具工程性、简便性和稳定性。
1.JavaScript篇
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能。
(1)Angular: 是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。
托管地址: https://github.com/angular/angular.js
学习资源列表:
- AngularJS学习
- AngularJS截屏
- 通过AngularJS建立Huuuuuge应用程序
- AngularJS中的范围原型/原型继承的细微差别是什么?
- AngularJS from Basics to Dependency Injection
- AngularJS做列表应用程序
- AngularJS vs. Ember : It's not even close
- The Hitchhiker’s Guide to the Directive
- 使用Grunt和Angular JS的前端工作流
集成实例
- angular-requirejs-seed
- 使用Bower编写可重用的Angular JS组件
- Native AngularJS directives for Twitter's Bootstrap
- Automating AngularJS With Yeoman, Grunt & Bower
- 在Heroku上使用Grunt优化Angular模板
- 使用AngularJS和PouchDB构建离线应用程序
(2)jQuery:是一个兼容多浏览器的javascript库,核心理念是write less,do more(写的更少,做的更多)。
(3)Backbone:是一种帮助开发重量级的javascript MVC 应用框架
(4) Meteor:是一个新鲜出炉的现代网站开发平台,基础构架是 Node.JS + MongoDB,它把这个基础构架同时延伸到了浏览器端,可以同时在服务器端和客户端无差异地调用,本地和远程数据通过 DDP(Distributed Data Protocol)协议传输。
- Meteor.js 的最佳学习资源
(5) React by Facebook
(6) Flight :是一个事件驱动的Web框架,源于Twitter
(7) Singool.js :是开发单页Web应用程序
(8) Knockout :通过应用模型-视图-视图-模型(MVVM)模式,简化动态JavaScript的用户界面
(9) Sammy.js :是一个很小的JavaScript框架,为开发JavaScript应用程序提供一个基本的架构。
(10) Ember.js :是一个框架,使用该框架创建Web应用程序。
(11) Maria :针对于JavaScript应用程序的MVC框架。The real MVC、The Smalltalk MVC、The Gang of Four MVC。
(12) Terrific Compose r:是一个前端开发框架构,专为构建高级前端而设计的
(13) Rivets.js :轻量级且强大的数据绑定+模板解决方案为了创建Web应用程序。
(14) Synapse
2.CSS篇
CSS称为“风格样式表(Style Sheet)”,它是用来对网页风格进行设计的。
(1) 一组最佳的框架
(2)Twitter Bootstrap:是一个基于HTML,CSS,JAVASCRIPT的简洁灵活的 网站前端框架及组件包。
- Home Page
- Github
- Download
- Bootstrap Hero List : Bootstrap资源列表
- Widgets
- Color and Date Picker
- WYSIHTML5 RTE for Bootstrap
- Bootstrap Image Gallery
- jQuery UI Bootstrap
- Pines Notify :针对Bootstrap或 jQuery UI的JavaScript消息提醒机制
- fuelUX
- A date range picker for Twitter Bootstrap
- Bootbox.js :是基于Twitter Bootstrap开发的一个小型的JavaScript库,用来创建简单的可编程对话框
- Time Picker
- Date/Time Picker
- ReCaptcha
- Bootstrap Modal :扩展自原生的Bootstrap对话框并提供一些额外的功能
- SelectBoxIt
- File Upload
- BootPag :动态分页的jQuery插件
- Bootstrap Arrows :基于Bootstrap实现各种方向的箭头图标
- X-editable :能够让你在页面上创建可编辑的元素
- Pagination
- Slider
- Application Wizard
(3)Themes
- Bootswatch :免费的Twitter Bootstrap主题
- Jumpstart UI :付费的Twitter Bootstrap主题
- Darkstrap :深色主题
- jQuery Mobile Boostrap :一个基于Twitter Bootstrap的jQuery Mobile主题
- Wrapbootstrap
- Wordpress:是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL 数据库的服务器上架设自己的网志
- CSS3 Microsoft Modern Buttons
- BootMetro : Metro风格的Web框架
- Cosmo : Windows 8的主题风格
- Bootstrap Generator :只需点击 "Generate" 就可以编译 Bootstrap CSS文件
- Inspiritas
- Google+
- Flatstrap
- Pinstrap
(4)Misc :一些混合项内容
- Boilerstrap
- Bootstrap GUI PSD :一个工具包主要是启动Web应用程序和网站
- Font Awesome :为Twitter Bootstrap设计标志性字体
- Typo3 Extension
- Bootstrap CDN
- Bootstrap Tour
- Bootsnipp :为Bootstrap HTML/CSS/JS框架设计元素及代码片段
- Form Builder
- PaintStrap : 使用Adobe kuler / COLOURlovers颜色方案生成一个漂亮的Twitter Bootstrap主题
- TODC :一个针对Twitter Bootstrap的Google风格主题
- Layoutit!
- Responsive Grid System
- Responsive Grid System (2)
- Golden Grid System
- Compass
- Pondasee
- Centurion
- Foundation 3
- ProfoundGrid
- Groundwork
- skelJS
- Ink
- neat
- Kube
- rwdgrid
- Simple Grid
- One% CSS Grid
- Workless
- intuit.css :一个强大的、可扩展的、基于Sass、BEM、OOCSS框架
五、Cross Device
(1)Reponsive
- Vid: Responsive Design Workflow by Stephen Hay + Slides
- Responsive Patterns
- Responsinator
- How to make a Responsive Newspaper-like layout
- The State Of Responsive Web Design
- Facing The Challenge: Building A Responsive Web Application
- Tables
- Events
- Images
- Text
- FitText :该插件能够对文本大小自动调整
- Out Of Words!
- Responsive Font Sizing :字体能够随着屏幕的大小进行自动调整
- Responsive Measure
(2)E-Mail
(3)Mobile
- Frameworks
- jQuery Mobile :为移动设备的优化触摸屏Web Framework
- jQTouch :支持包括 iPhone、Android 等手机,提供一系列功能为手机浏览器WebKit服务的jquery插件。
- Junior
- Emulators
- Scrolling
- jSwipeKinetic
- jQuery.pep.js
- Overscroll :是一个 jQuery 插件,用来最小化 iPhone 和 iPad 上的页面滚动效果处理。
- Zynga Scroller
- pull-to-refresh.js
- Overthrow
- Antiscroll
- Gestures
- jGestures : jQuery 插件允许你添加手势事件,比如: ‘pinch’、‘rotate’、‘swipe’、‘tap’ 和 ‘orientationchange’
- hammer.js :是一个多点触摸手势库。
- Touchy :是一个高度可配置的jQuery插件。
- TouchSwipe
- TipTap
- jQuery.event.swipe
- toe.js :是一个基于 jQuery小型库,允许在触摸设备上使用的复杂手势
- Jester
- JS Touch Layer
- Touch Events and Abstractions
- DOM Objects Manipulation
- jQuery.event.move
- WKTouch :一个JavaScript插件触摸设备,允许多点触控
- Tap Acceleration
- Energize
- Tappable :是一个简单、独立的库为触屏Web浏览器调用tap事件
- Fastclick :是一个简单、易于使用的库,在移动浏览器上的实际反应与单击事件之间消除300ms的滞后性
- Lightning Touch
- Creating Fast Buttons for Mobile Web Applications
- Layout
- Flickable.js :允许为任何元素做触摸控制
- PageSlide :是一个jQuery插件,可以控制一隐藏页面的显示与关闭
- Swipe :是一个轻量级的移动滑动组件,支持1:1的触摸移动、阻力以及防滑
- Swiper :加速移动触摸滑块与硬件之间的转换
- jQuery Mobile Pagination Plugin
- SwipeSlide
- stackable.js :是一个非常重要的jQuery插件,为小屏幕提供的栈表,这在移动设备上具有重要的作用
- Reacting to Device Sensors
- lenticular.js :是一个jQuery插件为创建图片动画,可响应倾斜或鼠标事件
- This End Up: Using Device Orientation
- iOS
- Safari Image Delivery Best Practices
- Safari Graphics, Media, and Visual Effects Coding How-To's
- Safari CSS Visual Effects Guide
- Safari Web Content Guide
- Getting Started with iOS Web Apps
- The iPad Web Design & Development Toolbox
- Targeting the iPhone 4 Retina Display with CSS3 Media Queries
- How do I lock the orientation to portrait mode in a iPhone Web Application?
- jQuery Retina Display Plugin
- retina.js
- Retina Images
(4)Printers
六、Patterns & Snippets (1) Responsive Patterns
(3) Blueprints :是一组基本的网站概念、组件、插件和布局,以最小的风格易于适应和使用
七、DOM ManipulationDOM解决了Netscaped的Javascript和Microsoft的Jscript之间的冲突,给予Web开发者一个标准的方法,让他们来访问站点中的数据、脚本和表现层对像。
(1) xui :为编写HTML5移动Web应用程序提供的超级微小的DOM库
(2) Tire :提供一个更轻量级的库替代如jQuery、Prototype和Zepto库
八、Typography (1) Quick guide to webfonts via @font-face
(2) How To Achieve Cross-Browser @font-face Support
(3) Google Fonts
(4) Adobe Edge Web Fonts:获得免费使用Web字体
(5) Typekit :在你的网站上轻松使用商业性的Web字体
(7) Typeset.css
(8) typecast
(9) CSSTypography
(10) SO: @font-face fonts only work on their own domain
(11) FitText
(12) TypeButter
(13) slabText
(14) Baseline.js
(15) jKerny
(16) Lettering.js
(17) Trunk8 :是一个智能截断文本jQuery插件
(18) bacon
(19) CSS Typography cheat sheet:提升网站的排版功能
九、Services (免费的、商业化的)
(1) colourco
(2) HTML Entity Character Lookup
(3) SpritePad
(4) Responsinator
(5) TheToolbox
(6) HTML Shell
(7) Form Builder
(8) Zen BG
(9) Prepros
(10) site44
(11) Website Builders