网易首页 > 网易号 > 正文 申请入驻

Angular真有React开发人员讲得那么差劲?

0
分享至

  转自 知乎 读芯术 https://zhuanlan.zhihu.com/p/214053025

  说真的,Angular真的不似React开发人员说得那么差劲,只是我们常常服从于脑海中已有的偏见。对于门外汉来说,Angular看起来既庞大又复杂。但很多人没有意识到的是,它背后使用的编程语言都是JavaScript,主要区别在于建构方式的不同。

  Angular本身并没有那么差劲。如果你真的那么想了,那多半是由于尚未了解前笼罩的刻板印象。对Angular的评价之所以褒贬不一,是因为无论是它的外观还是工作方式都与你习惯的有所不同。又或者是你自身存在的知识局限,让Angular没有按照你的要求运行。

  我是一名Angular开发人员,但并非因为它是我的首选本地框架就推荐它。如果你正在寻找一种以Angular为基座的React部件,它不合适。这是一个讨论部件,它超越了代码的细微差别,而且是“x比y更好”之类的东西。它是一个元视角,聚焦代码、功能以及在我们使用Angular作为工具的能力范围中,Angular所处的位置。

  与Web和前端相关的一切基础都是JavaScript。无论你是使用React,Angular,Vue,jQuery,Ajax还是Node,它们都是JavaScript的一种形式。

  这个行业面临的问题是,许多新手和过渡中的开发人员经常会使用JavaScript,但却从未好好学习过它。部分原因是由于JavaScript很容易上手,无需复杂的设置,也无需结构实现或导出编译,你只需创建一些代码,大多数情况下它就可以正常工作。它是一种经过设计的脚本语言,在运行时就能进行编译和解释。

  这常常给许多开发人员一种已经掌握了这种语言的错觉,导致他们在没有该语言背景知识的情况下直接进入库和框架。拥有计算机科学学位并不能将你从JavaScript中拯救出来,只有学习JavaScript才能让你战胜它。

  事实上,JavaScript并没有那么糟糕。它设计得很简单,这也是网景(NetScape)的部分吸引力所在(网景这个名字能让人联想到为什么90年代会出现那么多随机的雪花和低劣的页面效果)。在苹果禁止Flash应用的推动下,JavaScript加速了占领Web的步伐。

  但是随着项目规模的扩大和需求数量的增加,为了适应日益复杂的在线世界,我们今天所熟知和喜爱的框架和库成为了日益增加的代码管理问题的解决方案。Angular就是其中之一。在谷歌的支持下,它演变成我们今天熟知的框架。

  与React等库有很大不同,Angular是一个框架。人们经常比较Angular和React,但由于二者存在的原因以及构建的方式都不相同,对比时很难做到公平公正。

  框架是库的集合,通过界面进行协调,从而更容易地利用库提供的特性和功能,这一过程是通过框架的沟通方法以及框架自身构建的方式来实现统一。

  以Angular为例,它便是以体系化的结构组件为基础,这意味着Angular更偏好抽象为单个功能或逻辑组件的分解代码设计。这些组件界限分明,具有各自明确的方法、事件和属性。它利用了JavaScript的面向对象思想,并采用了TypeScript的类型定义形式。

  React是一个前端接口库,用于管理屏幕上信息的“绘制”。除了JSX语法之外没有强制的体系结构或设计模式,决定权主要留给了开发人员。

  因此,Angular通常被视为一种“刚性”框架。你几乎可以在任何地方随意地添加一段React代码,相比之下,Angular则需要一些设置。但随着刚性的增强,它具有一定的优势,特别是在应用程序的增长和团队要求一致,以结构化的方式不断前进时。Angular使项目具有可预测性,开发人员能够在项目之间实现无缝衔接。

  Angular通常被视为一个整体项目,不适用于过渡性应用程序。但这主要是由于常见的入门教程都是从头开始创建应用程序,与Angular的微前端存在差距。

  应用程序是由无数个多种技术、框架和库组成的。这种情况时有发生,特别是在准备升级但没有足够人力或预算从头开始创建整个系统的遗留系统中。已经有了一个将所有部件都连接在一起的基础框架,这可能是Angular框架,也可能是其他类型的框架。

  如果是其他类型的框架,Angular可以通过Angular Elements,以紧凑而包容的方式与之匹配。Angular Elements也被称为“Web组件”或自定义元素。通过这种方法,可以创建与框架无关的打包代码片段,这些代码片段可以用于传统Angular结构之外。

  最终结果可以直接出现在页面中,并在需要时与应用程序的其他部分保持独立,你几乎可以把它想象成一个位于另一个应用程序中的迷你Angular应用程序。它可能是React,也可能是Vue,甚至可能是Java Spring的化身或基于PHP的应用程序。

  这意味着,如果Angular是你在过渡项目中要走的路线,那么就需要把各个部分拆开,再重新组合在一起。它的模块化设计使它可以与应用程序的其他部分保持独立,或者集成到完全过渡的Angular应用程序中。这可以节省团队的时间,也不需要重构架构设计。

  使用Angular的主要成本是一条学习曲线,特别是如果你不是原生JavaScript的开发人员,或者对vanilla JavaScript不够了解。这就是Angular最终的指向——vanilla JavaScript,一种没有附加功能、没有架构和强制模式的JavaScript。

  如果你理解了vanilla JavaScript的工作原理,它混合了一些创造性的结构化模式,那么理解Angular会更容易也更快。TypeScript只是看起来更容易使用并践行了面向对象的思想,而这些思想在JavaScript中还无法实现。

  无论如何,你都无法避开vanilla JavaScript。在web前端开发领域中,无论你走到哪里,它都会一直存在。

  因此,如果你认为Angular很差劲,那就应该先退一步,去看看vanilla JavaScript,只有这样你才能真正理解这个框架的实现,以及其实现可扩展性、代码控制与协调的意图。偏见常常源于不了解和先入为主的臆想,Angular真的没有那么差劲!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
越扒越有!工程师徐泽伟欧洲度假被抓,被疑自投罗网,网友吵翻天

越扒越有!工程师徐泽伟欧洲度假被抓,被疑自投罗网,网友吵翻天

谭谈社会
2026-05-03 23:23:42
美军从德国撤出5000名士兵,对德国的影响有多大?

美军从德国撤出5000名士兵,对德国的影响有多大?

风向观察
2026-05-04 14:20:17
米切尔:哈登是名人堂、MVP级别球员,他在我身边意味着全世界

米切尔:哈登是名人堂、MVP级别球员,他在我身边意味着全世界

懂球帝
2026-05-04 13:18:05
2000艘船成“人质”:“自由计划”撞上“管理法”,美伊摊牌霍尔木兹

2000艘船成“人质”:“自由计划”撞上“管理法”,美伊摊牌霍尔木兹

上观新闻
2026-05-04 14:45:04
大批“宇航员”排队打卡内蒙乌兰哈达火山,景区:内部环境似火星地表,牧民提供“宇航服”出租服务,休眠火山很安全

大批“宇航员”排队打卡内蒙乌兰哈达火山,景区:内部环境似火星地表,牧民提供“宇航服”出租服务,休眠火山很安全

极目新闻
2026-05-04 16:07:52
著名法学家、西南政法大学行政法学科创建人王连昌教授逝世,享年94岁

著名法学家、西南政法大学行政法学科创建人王连昌教授逝世,享年94岁

界面新闻
2026-05-04 13:36:55
5A 景区扛不住了!无序扩张后,年轻人已经彻底“祛魅”

5A 景区扛不住了!无序扩张后,年轻人已经彻底“祛魅”

爆角追踪
2026-05-04 13:09:11
伦敦世乒赛团体赛:中国男团2-3不敌瑞典队小组赛遭遇两连败,王楚钦拿2分赵心童现场观战

伦敦世乒赛团体赛:中国男团2-3不敌瑞典队小组赛遭遇两连败,王楚钦拿2分赵心童现场观战

扬子晚报
2026-05-03 23:06:47
载220人极地邮轮暴发致命病毒:6人疑染病3人身亡,靠港遭拒成“海上孤岛”

载220人极地邮轮暴发致命病毒:6人疑染病3人身亡,靠港遭拒成“海上孤岛”

红星新闻
2026-05-04 11:40:25
上市6年下跌6年,股价从未涨停过!有人被套后死扛亏33.5万

上市6年下跌6年,股价从未涨停过!有人被套后死扛亏33.5万

财经智多星
2026-05-04 11:15:27
NBA夺冠赔率更新:湖人骑士并列第五 雷霆领跑森林狼垫底

NBA夺冠赔率更新:湖人骑士并列第五 雷霆领跑森林狼垫底

罗说NBA
2026-05-04 11:57:00
重庆一员工拒绝调岗至埃及,3天后企业账号被关停,次月被开除!法院:远超合理预期,公司赔偿23万余元

重庆一员工拒绝调岗至埃及,3天后企业账号被关停,次月被开除!法院:远超合理预期,公司赔偿23万余元

都市快报橙柿互动
2026-05-04 16:30:13
辽宁丹东发生一起交通事故已造成8人死亡

辽宁丹东发生一起交通事故已造成8人死亡

新京报
2026-05-04 17:55:34
徐志胜五一节去徐州参加发小婚礼,和新娘自拍,还亲手给了大红包

徐志胜五一节去徐州参加发小婚礼,和新娘自拍,还亲手给了大红包

八斗小先生
2026-05-04 11:46:28
柳州4死1伤命案后续:凶手61岁,捅杀手段很残忍!目击者爆料更多

柳州4死1伤命案后续:凶手61岁,捅杀手段很残忍!目击者爆料更多

胡侃社会百态
2026-05-04 15:54:36
亨得利晒与9岁吴宜泽合影!奥沙利文:他将夺冠 三年成为世界第一

亨得利晒与9岁吴宜泽合影!奥沙利文:他将夺冠 三年成为世界第一

念洲
2026-05-04 13:12:23
硅谷华裔工程师回国两周后,反而更看好美国了?

硅谷华裔工程师回国两周后,反而更看好美国了?

回旋镖
2026-05-04 11:10:15
多个村镇银行获批解散,股份行、当地农商行等承接相关资产负债

多个村镇银行获批解散,股份行、当地农商行等承接相关资产负债

澎湃新闻
2026-05-03 08:32:26
如果一个家庭长期没酒局、没社交,也少走亲戚,只能说明这两个问题

如果一个家庭长期没酒局、没社交,也少走亲戚,只能说明这两个问题

心理观察局
2026-05-04 09:23:46
亚洲首个倒下的国家要出现了?曾叫嚣取代中国,如今却步日本后尘

亚洲首个倒下的国家要出现了?曾叫嚣取代中国,如今却步日本后尘

混沌录
2026-05-04 15:15:08
2026-05-04 18:28:49
Nodejs开发
Nodejs开发
分享只有程序员懂的干货
648文章数 823关注度
往期回顾 全部

科技要闻

OpenAI“复活”了QQ宠物,网友直接玩疯

头条要闻

美军将出动1.5万军人疏导霍尔木兹船只 伊朗:靠近就打

头条要闻

美军将出动1.5万军人疏导霍尔木兹船只 伊朗:靠近就打

体育要闻

骑士破猛龙:加雷特·阿伦的活力

娱乐要闻

张敬轩还是站上了英皇25周年舞台

财经要闻

魔幻的韩国股市,父母给婴儿开户买股票

汽车要闻

同比大涨190% 方程豹4月销量29138台

态度原创

本地
旅游
游戏
数码
公开课

本地新闻

用青花瓷的方式,打开西溪湿地

旅游要闻

大家假期都爱去哪儿玩?一组景点大数据告诉你→

卡普空小萝莉被爆改!化身软萌猫咪 超可爱

数码要闻

联想来酷“W3259PS”31.5英寸显示器发售:4K 240Hz,5499元

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版