javaee论坛

普通会员

225648

帖子

344

回复

358

积分

楼主
发表于 2019-10-30 08:42:24 | 查看: 69 | 回复: 4

最近总有小伙伴问我,现在做项目该选用什么框架好呢?这个问题,回答不好是要向全国人民谢罪的,所以我查了很多资料,力求中西结合,文体两开花,希望能够对大家有些帮助。

本篇主要探讨一下当今流行的前端框架以及该如何选择适合的框架。

第一篇:前端主流框架

到底哪些是当今前端的主流框架,每个人有不同的看法,给大家推荐几个网页,可以实时了解大部分人的看法。

[1]TrendingJavaScriptrepositoriesonGitHub

[2]前端top100

[3]GItHubTrending(非官网)

根据这几个页面的情况以及我个人的印象,目前比较热门的框架有这么几个(排名不分先后):

Bootstrap、Vue、React、Angular

当然还有其它一些优秀的框架,这里不作赘述,欢迎讨论。

1.Bootstra

p先看看Bootstrap是怎么自我介绍的吧。

ThemostpopularHTML,CSS,andJSlibraryintheworld.

可以说是很嚣张了,尽管有很多人不以为然,但目前来看确实是这样的。它由Twitter的工程师开发,一经推出就颇受欢迎,是GitHub上star前端排名第一的项目(总排名第二)。

优点:

简洁的风格:Bootstrap提供简洁、清新的设计风格,做出的网页看起来比较舒服。

方便使用:Bootstrap无需配置,只需要添加对js和css的引用即可。其模块化的css使使用十分简单,只需要给标签赋予class属性,如btnbtn-success,tabletable-striped等。

移动端兼容较好:Bootstrap遵循移动端先行的原则,在各个尺寸设备上都表现良好。

支持SASS:在2018年1月下旬,Bootstrap4正式版发布,从Less迁移到了SASS,过去最大的槽点之一不存在了。

缺点:

容易与已存在代码发生冲突:如果在项目中途,想要使用Bootstrap增进体验,很可能和项目原有的HTML、CSS和JavaScript产生大量的冲突,例如存在相同的类名等。

重量:Bootstrap4.3.1版本的总大小为3.43MB,我们如果在项目中使用它,起码需要引用bootstrap.min.css(153k)与bootstrap.min.js(57k)两个文件,这只是部分功能。当然,如果目标用户没有远隔重洋,这并不算是太大的缺陷。

浏览器支持:由于国内浏览器市场较为复杂,尤其是部分企业内部旧版IE、360浏览器占据主导地位,使用Bootstrap会带来一些困扰,但这个问题应该会逐步被解决。

小结

我自己还是蛮喜欢Bootstrap的,有时候在内网上线一个临时的展示页面,用它真的很方便,但它其实更像一个“库”,本身的能力比较有限。

2.Vue

官网:渐进式JavaScript框架。GitHub:Vue.jsisaprogressive,incrementally-adoptableJavaScriptframeworkforbuildingUIontheweb.

比起上面的某B谦虚了许多。然而Vue在GitHub上平均收获95个star,是GitHub有史以来星数第3多的项目。

优点:

渐进式:所谓“渐进式”的意思就是可以自底向上逐层开发。Vue十分轻巧,其核心库只关注视图层,不用一开始就像其它框架一样接受各种机制和组件,这也方便了与其它东西的集成。与渐进性串联在一起的优点还有:轻量、易用、灵活、模块化

响应式:响应式即当我们改变一个数据值时,会触发一个页面的更新来反映这个变化,这在

方便的数据渲染:Vue.js的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进DOM的系统。假设我们想把一个数据显示在一个元素上,如果使用JS,则需要操作HTMLDOM,而Vue只需要提供数据以及数据要绑定到的元素id上,隐式地操作HTMLDOM。

高性能:Vue有更好的性能,并且非常非常容易优化,因为它不使用脏检查。

单向数据流:Vue在不同组件间强制使用单向数据流。这使应用中的数据流更加清晰易懂。

完善的中文文档:Vue的作者尤大神是中国人,原生的中文文档学习起来简直不能再开心。

缺点:

硬要说有什么缺点的话,大概是作者太帅吧。

哈哈,客观来讲,Vue是一个比较新的框架,生态系统没有一些老框架繁荣,而且跨平台方案尚未成熟,期待会慢慢解决啦。

小结

如果你想尝试构建一个中小型的网站,我想目前Vue是不错的选择,即使之前对它一无所知。

3.React

AJavaScriptlibraryforbuildinguserinterfaces.

React起源于Facebook的内部项目,主要用于构建UI。GitHub星数第四,哥儿几个竞争很激烈。

优点:

高效:React具有和Vue相似的性能。原因主要是它减少了与DOM的交互。

灵活:React可以方便地与已知的库或框架配合。而且使用React构建的组件可以复用。

JSX:JSX是一种JS的语法扩展,它执行地更快,比较灵活,缺点是看起来有些诡异。

跨平台:ReactNative能使你用相同的组件模型编写有本地渲染能力的APP(iOS和Android)。能同时跨多平台开发,对开发者是非常棒的。

单向数据流:与Vue类似。

繁荣的社区:一是早,二是有FB背景,不得了啊。

缺点:

学习曲线陡峭:学习React需要知道JSX和ES2015,需要学习构建系统。小结

React相比Vue最大的优势一是跨平台,二是生态繁荣,具体选用哪个看个人实际情况啦。

4.Angular

Angular分为AngularJS(Angular1)和Angular(Angular2)两个版本,AngularJS在复杂度和性能上存在一些问题,在Angular上得到了解决,这里我们只讨论Angular(Angular2)。

Angularisaplatformforbuildingmobileanddesktopwebapplications.

优点:

跨平台:正如介绍所说,Angular的代码可以在不同平台不同应用上复用。

高性能:Angular通过WebWorker和服务端渲染,达到了较高的性能。

优秀的组件系统:Angular可以使用自定义组件和大量现有组件扩展模板,可以方便地写出漂亮的应用。

缺点:

学习曲线陡峭:Angular的设计目标是针对大型复杂应用,因此有较大的API,需要投入更多的学习时间才能使用。小结

Angular在开发大型应用的领域是有一些地位的。

我想在2019年这4个框架应该至少可以满足80%的前端开发者的需求,根据自己的实际需要去选择就好啦。

感谢阅读~


普通会员

2

帖子

298

回复

308

积分
沙发
发表于 2023-08-12 22:31:59

专业抢二楼!顺便笑摸狗头(3L)

普通会员

2

帖子

292

回复

304

积分
板凳
发表于 2023-08-17 23:12:46

很好

普通会员

0

帖子

317

回复

321

积分
地板
发表于 2023-12-04 00:47:57

好好好

普通会员

0

帖子

318

回复

324

积分
4#
发表于 2024-04-23 14:29:53

楼主你知道的太多了

您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017