前端流行框架那么多,该如何选择?
新手编程1001问-0005
A:现在前端完全写原生代码的越来越少了,反过来越来越多的人使用各种前端框架来解决问题。这样做确实有很多好处,不仅能提高开发效率,还包括UI效果会更好,能改善用户体验,提高浏览器的兼容性等等。
时下流行的前端框架很多,对于新手来说,总面临一个难以选择的问题。虽然说本质上,对于很多好的框架,只要学好了,都好用,没学好,都不好用。但是,好的框架依然有自身的特点,结合项目的应用和开发的需求,选择一个好的框架,还是能够事半功倍的。
那么,今天我们就专门来聊聊前端框架问题。
首先,什么是前端框架?
前端技术体系涵盖HTML,CSS和JavaScript。现在流行的HTML5和CSS3本质上还是一种网页文本规范(W3C的最新网页标准),真正能够体现前端技术和改善前端用户体验的,还是依赖于JavaScript,JavaScript才是前端技术的灵魂。JavaScript通过DOM(文档对象模型)来实现对HTML和CSS的控制与使用。所以,正因为如此,我们很多时候说的前端框架,实际上,核心就是JavaScript框架,有时也称之为JS库。
那JavaScript框架又是什么呢?
JavaScript框架,就是一组能轻松生成跨浏览器兼容的 JavaScript 代码的工具和函数,它可以更容易地编写有关检索、遍历、操作 DOM 元素的代码。
JavaScript框架一般都具备如下基本特性:
l 选择器 Selector
l DOM遍历与操作
l 实用函数 Utility
l 事件处理
l AJAX
深入理解框架和库还是有一定差别的。
通常,库是一个封装好的拥有特定的函数和方法的集合。面向对象的代码组织形式的集合,叫类库;面向过程的代码组织形式的集合,叫函数库。程序员只需在库中查询需要的功能,并引用到自己的模块中来使用。
但是,框架是一套架构,它会向用户提供一套完整的解决方案,所以控制权在框架本身。程序员使用框架,就要按照框架约定的规范进行开发。
库可以被框架调用,也可以离开某框架直接使用,控制权在使用者手中。但是,如果要使用框架,就必须按照框架约定的规范来进行模块化开发。
例如:Jquery就是JavaScript封装的库,而Bootstrap就是一个JavaScript框架。
下面,我们来简要介绍几个时下流行的常见框架。
l AngularJS
l ReactJS
l VueJS
1、Angular JS
Angular JS 是一个由Google维护的开源前端web应用程序框架。
它最初由Brat Tech LLC的Misko Hevery于2009年开发出来。Angular JS是一个模型-视图-控制器(MVC)模式的框架,目的在于使HTML动态化。与其他框架相比,它可以快速生成代码。最大的优势是在你修改代码后,它会立即刷新前端UI,能马上体现出来。Angular JS是一个最流行的全功能框架,缺点是学习起来可能有点困难。
核心功能
(1)组件化、数据绑定以及平台无关的Render机制
(2)依赖注入
(3)模板
(4)路由(@angular/router)
(5)AJAX(@angular/http)
(6)表单(@angular/forms)
(7)组件化CSS封装
(8)XSS保护
(9)单元测试工具
2、React JS
React JS 不像一个框架反而更像一个库,但绝对是值得一提。ReactJS是一个由Facebook开发的非MVC模式的框架,用于自己的产品,包括Instagram和WhatsApp,允许用户创建一个可复用的UI组件。你可以用React进行很复杂的更新并且应用运行仍然很快,框架效率很高,对于要处理大量数据的大型程序来说这是最好的选择。
核心功能
(1)组件化、数据绑定以及平台无关的Render机制
(2)无依赖注入
(3)使用JSX代替传统的HTML Templates
(4)XSS保护
(5)单元测试工具
3、Vue JS
Vue是2016年以来发展最为迅速的JS框架之一。作为用于用户界面开发的渐进式JavaScript框架,它也是一个能快速开发和跨平台的方案。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。与Angular和React相比较,它被证明速度更快,并且吸收了这两者的优点。
值得一提的是,Vue的创始人是一位大陆赴美留学生,尤雨溪,学习艺术设计,本科毕业于Colgate University,后在Parsons设计学院获得Design & Technology艺术硕士学位。他曾在Google工作并使用Angular。他的想法是直接抽取出他喜欢的Angular的特性,不再引入其他复杂的理念而打造一款新的框架。所有的Vue模板都是基于HTML,你可以在GitHub上找到很多资源。它也提供双向绑定和服务端渲染。在Vue中,你可以使用模板语法或使用JSX直接编写渲染函数。Vue.js自身不是一个全能框架,它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。
技术特性
易用:已经会了HTML,CSS,JavaScript?即刻阅读指南开始构建应用。
灵活:简单小巧的核心,渐进式技术栈,足以应付任何规模的应用。
性能:20kb min+gzip 运行大小、超快虚拟 DOM 、最省心的优化。
选择一个正确的JS框架不是一件容易的事情,这更多的取决于你的项目开发对于技术应用的需求,以及开发团队的合作方式。很多时候,我们使用Jquery库就够了,不想动脑筋或者缺少前端设计思想者,也可以选择Bootstrap框架。
如果这些都不足以让你省心,那么,OK,上面介绍的三个框架,总有一个适合你。既省心,又好学,又好用的,大概就是vue了!尤雨溪看见了,不要只是开心,至少也要点个赞吧~
但是,对于初学者,我还是提醒你一下:HTML/CSS/JavaScript真的那么难学吗?