## JavaScript库 我敢说JavaScript语言是目前web开发最流行的编程语言。JavaScript库又称JavaScript框架,封装了很多预定义的对象和使用函数。是网站更容易兼容各式各样的浏览器。那么您就可以使用以下JavaScript库来帮助你的开发更好进行。 * `jQuery`:快y速,小巧,功能丰富的JavaScript库 * `BackBoneJS`:为复杂Javascript应用程序提供模型(models)、集合(collections)、视图(views)的结构。 * `D3.js`:D3是基于数据的文档操作javascript库,D3能够把数据和HTML、SVG、CSS结合起来,创造出可交互的数据图表。 * `React`:Facebook的Javascript库为构建用户界面而开发。 * `jQuery UI`:jQuery UI 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库。包含底层用户交互、动画、特效和可更换主题的可视控件。 * `jQuery Mobile`:基于HTML5用于创建移动 web 应用程序的框架。 * `Underscore.js`:JavaScript实用库,提供了类似Prototype.js的一些功能,但是没有继承任何JavaScript内置对象。 * `Moment.js`:一个 JavaScript日期处理类库,用于解析、检验、操作、以及显示日期。 * `Lodash`:一个 JavaScript 实用工具库,提供一致性,模块化,性能和配件等功能。 ## 前端框架 通俗的前端由HTML,CSS,JavasScript等构成。当然为了适应Web开发日益增长的需求,应运而生许多独立的前端框架,例如Bootstrap。一个优秀的框架可以为前端开发人员在开发过程中增益,减小开发压力。 * `Bootstrap`: Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。 * `Foundation`: 迄今为止最好的响应式前端框架,更快、更轻、更多功能、更灵活、更强大! * `Semantic UI`:Semantic UI 是一款语义化设计的前端开源框架,其功能强大,使用简单,为设计师和开发师提供可复用的完美设计方案。 * `uikit`:UIKit使用的变量基于LESS,具有体积小、模块化、可轻松地自定义主题及响应式界面。 ## Web应用框架 Web应用框架作为一个软件框架,意在帮助和缓解开发者在进行Web应用的开发与维护时遇见的开发问题。例如:AngularJS,您可以在您的项目完全免费使用它. * `Ruby`:Ruby on Rails 是使用 Ruby 语言编写的网页程序开发框架,目的是为开发者提供常用组件,简化网页程序的开发。 * `React`:React 起源于 Facebook 的内部项目,React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。是现在非长热门的框架。 * `Vue`:Vue.js 是用于构建交互式的 Web 界面的库。它提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API。从技术上讲, Vue.js 集中在 MVVM 模式上的视图模型层,并通过双向数据绑定连接视图和模型。 * `AngularJS`:AngularJS 通过新的属性和表达式扩展了 HTML,可以构建一个单一页面应用程序。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。 * `Ember.js`:一个用于创建 web 应用的 JavaScript MVC 框架,采用基于字符串的Handlebars模板,支持双向绑定、观察者模式、计算属性(依赖其他属性动态变化)、自动更新模板、路由控制、状态机等。 * `Express`:基于 Node.js 平台的 web 应用开发框架 基于Node.js 平台,快速、开放、极简的 web 开发框架。 * `Meteor`:Meteor 是一个构建在 Node.js之上的平台,用来开发实时网页程序。Meteor 位于程序数据库和用户界面之间,保持二者之间的数据同步更新。 * `Django`:Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。 * `ASP.net`:ASP.NET是免费,高兼容的WEB应用框架,能够提供标准化WEB应用构建时所需的解决方案。 * `Laravel`:一个免费,开源的PHP Web应用程序框架,可以基于MVC模式来创建Web应用程序。 * `Zend Framework 2`:一款的Web应用框架,基于PHP来创建Web应用和服务端应用。 * `Phalcon`:Phalcon 是开源、全功能栈、使用 C 扩展编写、针对高性能优化的 PHP 5 框架。 * `Symfony`:Symfony是一个基于MVC模式的面向对象的PHP5框架。Symfony允许在一个web应用中分离事务控制,服务逻辑和表示层。 * `CakePHP`:CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又不失灵活性。 * `Flask`:Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 * `CodeIgniter`:CodeIgniter 是一个简单快速的PHP MVC框架。它为团队提供了足够的自由支持,允许开发人员更迅速地工作。 ## 任务批处理工具/包管理器 任务批量处理工具可将你的工作流程全自动化.例如你可以创建一个任务,使用JavaScript语言编写的工具来进行自动化的处理。 然后打包,这样会大大提高开发效率。 包管理器它能跟踪所有已安装的软件、自动化进行安装和删除应用程序、以及确保所有软件都保持更新以获得最新的增强功能和错误修复。 * `Grunt`:Grunt是基于Node.js的项目构建工具。它可以自动运行你所设定的任务。 * `Gulp`:Gulp.js 是基于 Node.js 构建的一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务。 * `npm`:NPM(node package manager),通常称为node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。 * `Bower`:Bower是一个客户端技术的软件包管理器,它可用于搜索、安装和卸载如JavaScript、HTML、CSS之类的网络资源。 ## 编程语言 / 开发平台 所有Web开发都需要编程语言的支持.编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。.当然进行Web开发不仅仅只有一门语言来进开发。 * `PHP`:PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域 * `NodeJS`:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 * `Javascript`:JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言 * `HTML5`:标记语言,是HTML和XHTML的最新版本。 * `Python`:Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。 * `Ruby`:Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言 * `Scala`:Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。 * `CSS3`:CSS即层叠样式表(Cascading StyleSheet)。 在网页制作时采用层叠样式表技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。CSS3是CSS的最新版本。 * `SQL`:结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 * `Golang`:Go是Google开发的一种编译型,可平行化,并具有垃圾回收功能的编程语言。 * `Rust`:Rust是Mozilla开发的注重安全、性能和并发性的编程语言。 * `Elixir`:Elixir 是一种函数式编程语言,建立在Erlang虚拟机之上。它是一种动态语言,灵活的语法与宏支持,利用Erlang的能力来构建并发、分布式、容错应用程序与热代码升级。 ## 数据库 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。 * `MySQL`:MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 * `MariaDB`:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。 * `MongoDB`:MongoDB 教程 MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 * `Redis`:Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 * `PostgreSQL`:ostgreSQL支持大部分SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。 ## CSS 预处理器 CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。 通俗的说,“CSS 预处理器用一种专门的编程语言,进行Web页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用。CSS预处理器为CSS增加一些编程的特性,无需考虑浏览器的兼容性问题”,例如你可以在CSS中使用变量、简单的逻辑程序、函数等等在编程语言中的一些基本特性,可以让你的CSS更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。例如:Sass,Less,Stylus。 * `Sass`: Sass是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护。 * `Less`:Lesscss是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。 * `Stylus`:Stylus 是一个CSS的预处理框架,2010年产生,来自Node.js社区,主要用来给Node项目进行CSS预处理支持,所以Stylus是一种新型语言,可以创建健壮的、动态的、富有表现力的CSS。 ## 文本编辑器 / 代码编辑器 无论你是做笔记,敲代码,或者Markdown文档编写,一个好的文本编辑器都是必须拥有的! * `Atom`:Atom 更为先进的文本代码编辑器 - 由 Github 打造的下一代编程开发利器在代码编辑器、文本编辑器领域,有着不少的「神器」级的产品。 * `Sublime Text`:Sublime Text 是一个代码编辑器(Sublime Text 2和3是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。 * `Notepad++`:Notepad++是 Windows操作系统下的一套文本编辑器(软件版权许可证: GPL),有完整的中文化接口及支持多国语言编写的功能。 * `Visual Studio Code` :微软推出,一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。 * `TextMate`:TextMate是Mac下的著名的文本编辑器软件,与BBedit一起并称苹果机上的emacs和vim。 * `Coda 2`: OS X下快速,简洁,功能强大的编辑器【需要付费】. * `WebStorm`:jetbrains公司旗下一款JavaScript 开发工具。被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。 * `Vim`:Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。 * `Brackets`:Brackets 是一个免费、开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具)。 * `Emacs`:著名的集成开发环境和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器之一。 ## Markdown 编辑器 Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。Markdown 十分轻量,学习成本也不高。 * `MWeb`:专业的 Markdown 写作、记笔记、静态博客生成软件 【付费】 * `Markeditor`:MarkEditor 是最新的一款 Markdown 编辑器,除了基本功能外,还包含了诸如表格编辑、图表、高亮、公式等等丰富的功能!【付费】 * `StackEdit`:一个开放源码免费使用的 MarkDown 编辑器, 基于 PageDown,使用了 Stack Overflow 和其他 Stack Exchange 网站的 MarkDown 库 * `Dillinger`:Dillinger 是一款在线的 Markdown 编辑器,支持更换主题,字数统计,云服务保存,导出 HTML、PDF 等功能。 * `Mou`: Mac OS X下的免费Markdown编辑器【作者貌似已经跑路了】 * `Texts`:Windows和Mac OS X下纯文本编辑器。 ## icon图标 几乎每一个Web开发者,尤其是前端开发人员都会需要icon图标来增色项目。 * `Font Awesome`:Font Awesome为您提供可缩放的矢量图标,您可以使用CSS所提供的所有特性对它们进行更改,包括:大小、颜色、阴影或者其它任何支持的效果。 * `IconMonster`:免费,高质量, 庞大且资源不断增长的简洁的icon图标库。 * `IconFinder`:Iconfinder提供美丽的图标,服务数以百万计的设计师,开发商和其他有创意的专业人员。 * `Fontello`:一个目测有200+个图标(数量还在增加)的 Web-font 图标市场,对于广大设计师、前端开发者来说是很棒的资源。 ## Git 代理 / 服务 Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 * `SourceTree`:SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端。支持创建、克隆、提交、push、pull 和合并等操作。 * `GitKraken` (Beta):一款自由、直观、快捷、美观的跨平台Git客户端。 * `Tower 2`:一款美丽,高效,强大的Git管理,让Git版本控制变得容易。 * `GitHub Client`:有助于无缝连接GitHub和GitHub的企业的项目。 * `Gogs`:Gogs (Go Git Service) 是一款极易搭建的自助 Git 服务。 开发目的 Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。 * `GitLab`: GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。 * `Coding`:Coding 的代码托管功能除了基本的Git仓库以外,还有保护分支,分屏对比, Code Review等高级功能。并且整合了Pages服务,质量管理,演示平台等开发工具,提升研发效率。 ## 本地开发环境搭建 根据您运行的是什么操作系统和计算机配置,有时候进行测试的时候就有可能需要搭建一个快速的本地开发环境。自己搭建很是蛮烦,不用担心,有很多将Apache,Nginx,MySQL和phpMyAdmin进行打包一体化的软件。这些软件很是方便我们来进行本地测试。 * `XAMPP`:XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。 * `MAMP PRO`:MAMP Pro for mac是Mac OS平台搭建本地服务器环境的组合软件套装,包含 Macintosh、Apache、MySQL和PHP 四大开发环境。 * `WampServer`:Wamp就是Windows Apache Mysql PHP集成安装环境,即在window下的apache、php和mysql的服务器软件。 * `Vagrant`:Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。 * `Laragon`:Laragon工具就是Laravel的一键安装工具吧,还集成了一整套wamp工具,除去Laravel安装外,它也是一款不错的wamp工具,干净简单,便捷迅速。Diff Checkers * `Wnmp`:WNMP是Windows下便捷,安全的Nginx+MariaDB+PHP开发环境环境集成套件包。 ## 文本对比检查 Diff checkers 可以帮助您比较文件之间的差异,然后合并更改。帮助我们更直观的看见文本之间的差异。 * `Diffchecker`:Diffchecker 是一款非常好用的在线文本对比工具,能够高亮显示有差异的行和字符。Diffchecker 提供了文件上传对比功能,还可以选择对比的存储时间。 * `Beyond Compare`:Beyond Compare是一套由Scooter Software推出的软件,主要用途是对比两个文件夹或者文件,并将差异以颜色标示。 当然有很多免费的文本编辑器,包括我们上面提到的也有插件和扩展,可以协助开发者方便的进行文件比较。 ## 代码共享 / 代码测试 前端开发者在公司内或者团体间需要进行协作,共享代码,那么一下工具很值得开发者一试。 * `JS Bin`:JS Bin能够让你编辑和测试JavaScript和HTML代码。你还可以将编辑后的代码保存到本地,或将URL地址发给其他人,让其协助调试代码。 * `JSfiddle`:jsFiddle是一个在线的shell编辑器,通过流行的JS框架创建自定义的环境,以简化JS代码。可以用于测试示例代码。 * `codeshare`:与其他开发者实时共享代码。 * `Dabblet`:Dabblet是一个开源互动测试工具,用于测试CSS和HTML。Dabblet支持实时更新、匿名备份、嵌入网站、与他人共享或者存储到GitHub。 ## 协作工具 每一个很棒的开发团队需要一种方式来保持联系,协作,来帮助提高生产力。 * `Slack`:Slack 是聊天群组 + 大规模工具集成 + 文件整合 + 统一搜索。 * `Trello`:Trello的目标是提供简洁清晰的团队协作工具。不过弥缝在这里将介绍如果将Trello用来建立自己的时间管理系统。 * `Glip`:Glip:在线团队办公协作平台是一个类似于Slack网站的网络办公集合体,内置了邮箱、网盘、即时通讯应用、协作服务等,把所有和网络办公有关的服务和工具都整合在了一起。 * `Asana`:Asana是一款团队任务管理软件 方便人们去制定和跟踪团队的项目任务的完成情况 * `Jira`:JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。 ## 灵感创意 当我们进行开发时,偶尔迸发的灵感会使我们的项目或者产品增色不少。当然不仅仅依靠自我的灵感,我们也需要从别人的作品中得到灵感来保证我们的Web设计界面或者产品不落后这个时代。 * `CodePen`:全球web前端开发人员的圣地!可以展示个人的创意和建立一个测试实例来解决bug。 来寻找你的项目设计方式和灵感吧。 * `Dribble`:Dribbble是一个面向创作家、艺术工作者、设计师等创意类作品的人群,提供作品在线服务,供网友在线查看已经完成的作品或者正在创作的作品的交流网站。 ## Web开发社区 当开发者在开发的过程中有遇到问题时,除了询问他人以外,还可以使用搜索引擎搜索。社区的重要性就显而易见了,大部分开发者会在开发社区分享他们经验,如何避过不必要踩的坑。 国内: * 谷歌开发者社区(GDG):开放 · 分享 · 创新 * segmentfault:是中国领先的开发者技术社区。 为编程爱好者提供一个纯粹、高质的技术交流的平台, 与开发者一起学习、交流与成长。【老实话我觉得这名字不好记】 * 全栈社区:中国最大的全栈开发者社区,致力于打造一个问题解答,技术文章分享,全栈人员创业的服务平台,让开发更容易,让创业更简单. 国外: * Stack Overflow:Stack Overflow是一个与程序相关的IT技术问答网站。用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HTML。 * Front-end Front:在Front-end Front,前端开发者可以提出问题,分享有趣的链接,并展示他们的项目作品。 * Hashnode:Hashnode是开发者讨论技术问题,分享解决方案,与世界各地的开发者共享资源的聚集地。 * Refind:有着开发者, 黑客, 设计师收集和分享最好的资源的社区。 * Google+ Web Developers Group:Web 开发者,Web设计师和Web开发. * Google+ Web Developers Group:Java, PHP, Ruby, JavaScript and Python 资源。 * Facebook WordPress Front-end Developers Group:WordPress 前端开发者的分享社区,可以提问题,分享开发者的项目作品,还有讨论WP未来发展趋势。 * LinkedIn Web Design and Development Professionals Group:与专业网页设计师,网页开发者共享Web开发资源 * LinkedIn Web Site Development Group: 网站设计和开发。 * LinkedIn PHP Developer Group: PHP, Mysql, Drupal, Joomla, Zend, Cake, MVC. * LinkedIn WordPress Developers Group: WordPress 开发. 使用WP来创建CMS和CMF. * Webdeveloper.com:帮助Web开发者和设计师学习使用HTML,java和javascript开发网站。 * Sitepoint Forums: Web开发者论坛。 * perfmatters: 讨论关于 web 性能 * webdev: 关于Web开发和开发者的新闻 原文链接:https://xituqu.com/170.html