服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

经验分享:去哪儿网的网站前端框架如何挑选?和主流JavaScript框架有什么不同?

2021-01-04 14:54:27 阅读(162 评论(0)

随着前端框架的不断创新,许多IT企业面临着“如何选择框架”和“是否需要重建轮子”的选择。前端架构师司徒正美分析了主流框架的优缺点和适用场景,并为不同规模的公司和项目提供了相应的前端技术选择方案。近年来,前端技术发展迅速,几乎每年都会出现一个主流框架。每次新开业务线或启动新项目,第一件事就是纠结:用什么框架,重建什么轮子?RequireJS,五六年前,移动终端还没有兴起,我们别无选择,只能jquery。有人会说jquery只是一个类库,而不是一个框架;但当时前端业务并没有今天那么繁重。本来是后端做的,都搬到了前端,因为只有jquery才能打败世界。jquery不够,还有成千上万的jquery插件。所以问题是一个接一个地衍生出来的。一个页面上有太多的jquery插件和太多的请求,所以我们必须打包它们。包装要求我们计划插件。因此,这一需求在社区中逐渐形成了一些规则,其中最著名的是AMD规范,反映了RequireJS的加载库。RequireJS是前端技术发展的分水岭。JavaScript在ES6之前没有自己的加载机制,RequireJS的出现意味着前端可以更大规模地发展。我将来提到的技术选择是一个非常重要的选择点,即是否有加载机机制或符合模块规范。在选择前端框架时,应综合考虑框架本身和团队情况,回到原来的主题。框架的选择应该从两个方面来看,一个是框架的能力,另一个是你的团队的能力。从框架的角度来看,其功能丰富,社区活动,国内社区活动(有些在国外很受欢迎,但只有国内初创公司或一些大公司的边缘项目在测试水)、我们考虑的是文档是否齐全,是否及时更新,测试覆盖率和启动难度。然而,能够进入我们视野的外国框架基本上是在繁荣的世界里闯出来的领导者。jQuery、Angular、KnockOut、Emberjs、Polymer、React、Backbone、Zepto,我们基本上是围绕这些人转的。当然,还有更大的东西,比如EXT、YUI、Dojo、EasyUI、Bootstrap,这是UI库层面。以下是2012年流行的12个JavasscriptMVC框架的纯技术评估:显然,我们的第一步是圈定最流行的框架和库作为评估对象,然后根据自己公司的情况进行筛选。贵公司是建站公司还是有自己产品的公司?如果是建站公司,页面不会复杂到哪里去,基本上jquery 完成Bootstrap,不要想太多,就是它们。如果你有自己的产品,维护大量的客户数据,处理客户,不难想象有一个非常复杂的客户关系管理系统。根据中国人的特点,这只会变得越来越复杂,这需要仔细考虑。这通常持续了十年的维护升级,我们需要看看一个框架是否像你的产品那样长寿,它的升级和更新是否频繁和温和。如果你的项目是一个跨度超过三年的大项目,用“人月神话”这个词来说,90%的大项目应该尽量避免谷歌产品。我们需要使用更稳定、更成熟的技术方案,我们需要专注于避免谷歌的产品,它的许多产品都是票性的,GWT、Closure、Darty是前车之鉴。基于许多新技术的Polymer,其中Objectter.observe()、CustomElements、HTMLImports、ShadowDOM、Model-Drivenviews还远未标准化,很多都是独家的,变数太大,所以才出现下图所示的悲剧。Angular不是我黑的。它也喜欢悬崖升级。它与IE6-8兼容,1.08兼容旧IE,1.2兼容旧IE。1.3摒弃了旧IE的兼容性,直接从源代码中删除了所有兼容代码。因此,所有补丁方案都无法返回天空,并且不支持全球Ctrl函数。许多模块需要独立引用。1.4不支持向下的动画模块,由于使用Objectt,2.0由at改为ts构建.observe()所以不支持IE6-11,Chrome30...后台系统可以考虑EXT、EasyUI,avalon等国内优秀框架也值得考虑。如果您的产品是后台系统,则有两种选择:使用EXT、EasyUI等重大UI库方案,EXT具有严重的排他性,很难与其他前端解决方案相结合。它可以帮助你完成任何模块组织、包装和数据可视化。它可以帮助您完成任何模块组织、包装和数据可视化。它的文档齐全漂亮,入门难度中等,但它要求你的团队非常稳定。现在很难招聘全职EXT的前端。EasyUI是中国大品牌的UI框架。虽然它是封闭的,但扩展它并不难。此外,国内淘宝Kissy,网易Nej也不错。还有更轻的解决方案:MVVM。MVVM最擅长做这些重交互的产品。例如,JQuery社区为了对应复杂交互的Gird,开发了各种巨大的DataGrid、jqGrid、FlexiGrid,MVVM的几个循环绑定不如简单利落,扩展性好。目前,KnockOut、Emberjs、Angular和我写的avalon就是这种框架。虽然Angular有点坑,但如果你从1.3开始,不鸟IE,这仍然是一个不错的选择。它活跃的社区给它带来了无限的可能性。Knockout在.Net在人群中很受欢迎。微软生产,前端MVVM框架的鼻祖,但需要过度处理后端数据,因为不支持嵌入对象的绑定。Emberjs没有好爸爸,但是有好爸爸,作者Yehudakatz是jquery,Rails、SprouteCore、Merb、著名框架的核心成员Handlebars,虎父无犬子,Emberjs仍然是国外第二大MVVM框架。avalon是一款适合国情的MVVM。它有一个特殊的版本,兼容IE6,易于使用,性能高,视频教程多。如果有问题,可以抓住作者,这是它的几大卖点。重SEO产品可以考虑jquery Bootstrap RequireJS组合如果你的产品是商场这样的重演示产品,对SEO有要求,MVVM就不适合了。Angular和avalon目前正在进行后端渲染机制,但还没有进入台面。此时jQuery Bootstrap RequireJS非常好用。RequireJS的功能不仅提供了按需加载机制,还使我们能够组织更大的代码。如果不使用RequireJS,中国的另一个选择是SeaJS,它的规格是CMD。此外,还有CommonJS规范,但不能直接运行在前端,需要fekitt的帮助、FIS、合并了Webpack等构造工具。无论如何,此时你选择的框架必须有AMD、CMD或CommonJS的任何加载规范都有利于您未来的横向扩展。至于插件,小插件倾向于使用UMD,它可以使AMD、CMD、加载任何加载器的CommonJS。移动技术混乱,需要多管齐下。如果你的产品是移动的,基本上是SPA架构,因为它会减少等待,刷新整个页面和请求数量。目前,该领域非常混乱。与PC端不同,需要兼容的浏览器是N倍。为了性能,浏览器制造商切断功能或改变一些浏览器特性的行为往往会导致一些奇怪的错误。目前,社区正在整理这些坑和解药。但是目前还没有一个框架可以解决所有的问题,需要多管齐下。我的观点是:RequireJS(按需加载,移动端不能打包,充分利用304缓存,腾讯做了一个更牛叉的增量更新加载器MT,也可以试试) Backbone(组织代码和路由管理) Zepto(轻量DOM操作) fastclick.js(点击穿透和延迟处理) Hammer.js(各种触屏事件) iscroll5.js(滚动条处理) Animate.css(CSS3动画) Enquire.js(处理响应布局)。可以看出,移动端的每个部件都腐烂到雄蕊,每个部件都需要一个特殊的工具来修复。可以看出,移动终端的每个部件都腐烂到雄蕊,每个部件都需要一个特殊的工具来修复。移动终端非常注重体验,每个小角落都有各种各样的动画,但浏览器或自己的WebView非常糟糕,所以Native和Hybird的话题一直如此受欢迎。有人说,既然DOM最吃性能,那就用Canvas代替吧(见:http://zhuanlan.zhihu.com/FrontendMagazine19967854和http://www.ruanyifeng.com/blog/2015/02/future-of-dom.html)。Facebook还推出了自己类似的ReactNative方案,实现了一套GUI,但编写语言是JavaScript。它是用自己原来的超高性能轮子React实现的。这可能是一条路。但是优缺点也很明显,就像Angular浓浓的Java风格一样,React在逻辑上插入了大段标签语言(JSX)。同时,React的排他性也很强,很难与其他库配合使用。与此同时,我们可以看到,JQueryMobile,一个著名的JQuery家族,并没有入围。那个性能太差了,连SenchaTouch都不如。以上只是核心库,还没有搬出UI库。有不少UI库被称为MobileFirst,可以大胆使用CSS3,因为它忽略了IE。目前Foundation比较出彩、Semantic,Refill、Ratchet。假如只是想在平板上运行,性能问题就不会那么紧张,我们也可以试试inoic。、SenchaTouch,KendoUIMobile...没有最好的,基本上选择最适合自己的。对于每个平台,我都列出了一些主流框架,但这并不意味着你们都能控制它。小马过马,老牛没过膝,松鼠淹死半死,就是这样。初创公司喜欢新的框架,这是因为他们能负担得起高薪招募一两个前端牛。基本上,他们做了所有的页面,所以使用Angular或Ember没有区别。小公司小心,人员流失大,jQuery RequireJS是万金油。大公司基本上有自己的技术沉淀。换句话说,他们应该有自己的前端框架,除非它很旧,否则不建议重建轮子。对大公司的建议是建立自己的技术委员会,根据自己的人员配置选择框架。有句话说得好,不求最好,但求最合适。有些框架属于牛逼人手中的牛逼闪闪,二逼人手中一团乱麻。对于一些成长特别快的中等公司来说,这是最重要的预防措施。有一些牛人,但70%的战斗主体是新培训的实习生,很难开始。必须过滤掉中文文档不完整的框架。同时,我也不排除造轮子的可能性,毕竟有些公司人才济济,可以推出一些可靠的开源产品来造福社区。然而,无论我们选择什么框架或决定自己制造轮子,我们都不应该忘记我们的初衷。技术必须使我们的工作和生活更加轻松愉快——我们只选择我们可以控制的框架。我们不能保证一年后它是否会过时和落后,但至少它不会成为绊脚石。对于亚当·斯密(税收是必要的恶)来说,框架是必要的恶,它是强烈的约束,所以我们必须仔细选择。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

网上开店没货源怎么办?这几个稳定的货源渠道了解一下

货源的好坏影响着网店的运营,决定着品牌在消费者心中的刻板印象。因此,如何寻找货源、如何选择好货源,对于新手卖家来说至关重要,以下5个稳定货源渠道了解一下! 1. 阿里巴巴 阿里巴巴是国内最大的线上釆购批发平台,为数千万网商提供了海量商业信息…查看详情

json*解析怎么用

jsonpath可以用于解析网页数据吗?是的,JSONPath可以用来解析网页数据。它可以用来快速提取和检索任何给定网页数据中的元素,而不必手动检查或解析每个值。 它可以在JSON,XML,YAML和HTML之间方便地转换,使你使用一种格…查看详情

【了解国外知识产权登记内容】德国版权登记、专利申请流程

现今对作品申请版权登记、专利等以获得法律保护,已不仅限于国内了。我国创作者可在国外进行申请,外国人也可在我国进行申请。下面小万将为大家介绍关于德国版权登记、专利申请流程。 图片来源于网络 ▲ 德国版权登记流程:与我国版权登记流程几乎无区别…查看详情

美术作品著作权登记是什么?作品的发表时间如何确定?

一件美术作品可以带给我们艺术上的享受,美的享受。在现如今这个经济时代,一件完美的美术作品是可以通过买卖获取极大利益的,但是美术作品需要拥有版权,否则很容易被别人模仿,给自己的权益带来侵害。今天,小万就给大家说一说美术作品著作权登记那些事。 …查看详情

默认网关不可用如何解决?这几种方法可以解决

  对于路由器不熟悉的用户,可能不知道默认网关是什么,它是用于网络相连的系统,可以使得两台设备互相连接,但是很多的朋友在使用电脑路由器的时候经常遇到默认网关不可用这个情况,下面*就给大家来详细介绍一下默认网关不可用如何解决这一块的内容,希望…查看详情

六款好用的*客服系统免费版

随着科技的发展以及科技的进步,客服的工作也越来越复杂多样,客服系统软件可以使客服的工作变得系统化,调理化,下面我给大家介绍六款好用的*客服系统软件免费版。 1、米多客 米多客是由大连米云科技有限公司针对企业咨询开发的一款*客服工具。主要提供…查看详情

传统企业电商之路:开始之前

随着电商行业的发展,一个又一个的像“林氏木业”、“三只松鼠”等商业传奇不断的出现,传统企业主面对这不断严峻的竞争环境和新模式下快速成长的“新势力”的冲击中,纷纷也开始走了自己的电商之路,准备成为下一个歌颂的对象。但是多年的传统经验和身处高位…查看详情

推荐几款好用的英语小说软件,想看的应有尽有

喜欢看英语小说,不仅可以购买一些纸质小说,同时也可以选择好用的英语小说软件,应用起来更加的简单方便,其中所包含的内容也是非常丰富的,但是面对多种不同的英语小说软件,可能大家不知道该如何选择,那么下面就为大家推荐几款,好用的英语小…查看详情

靠谱的网上客服系统,帮助店铺智能留客

随着网络销售、*商铺的遍地开花,网上客服需求量也在逐渐增高,商户及网络平台对于网上客服系统的使用频率、使用要求随之变多。越来越多的商户希望可通过简单的*客服系统完成店铺的客服导入。那么,靠谱的网上客服系统有哪些呢? 1、智齿…查看详情

末世小说排行榜,这几本十分好看

在民间流传着某些年是世界末日的传说,人们对于世界末日也有着一定的好奇心,甚至打败了恐惧的心理,所以各种世界末日的小说和影片也迎刃而生,那么关于一些好看的末世小说进行介绍,想看的话一定不要错过。 1、狩魔手记 这部小说在20…查看详情

有哪些适合文本阅读的软件?这4款适合闲暇之余打发时间

现在社会,需要阅读的地方越来越多,我们能从阅读里获得的知识也越来越多。有哪些适合文本阅读的软件呢?快来看看我的推荐吧。 1.书旗小说 书旗小说app可以简单快捷的看各种小说,各种类型小说都可以选择,而且APP新手还有机会获得…查看详情

产品卖点找得好,品牌传播自然快

过去,企业提炼产品卖点是从自身出发,自己决定产品的优势是什么,然后通过媒体广告告诉消费者,那么有该卖点需求的消费者就可能成为企业的客户。但如今,市场产品包罗万象,同一类需求的产品可能存在成百上千种品牌,你的产品优势也正是别人的卖点。消费者成…查看详情

涵盖6大模块的创新智能化售后服务管理

售后服务是售后最重要的环节。售后服务已经成为了企业保持或扩大市场份额的要件(如舒达、天猫、京东等)。售后服务的优劣能影响消费者的满意程度。在购买时,商品的保修、售后服务等有关规定可使顾客摆脱疑虑、摇摆的形态,下定决心购买商品。优质的售后服务…查看详情

3款可以直接网页登陆的库存管理软件

库存的管理是一件非常重要的事情,但是,每个人对于库存管理的要求不一样,有的人会直接让员工做好管理,有的人则会选择软件管理,那么,关于网页库存管理软件都有哪些呢? 1、小库存管理 小库存管理聚集了库存量预警信息、订单管理、产品…查看详情

2021最新中国网店代运营前7排名

随着时代的发展,各行各业都涌现出了新的不一样,而网店代运营就是其中之一。它通过高效的服务、方便的管理闻名于世。本期*就整理了七个在本行业较为出名的网店代运营公司,希望能为各位提供帮助。 1.宝尊电商网店代运营 宝尊电商于2006年在上海成立…查看详情

最新文章