Redian新闻
>
为什么前端技术栈如此复杂?

为什么前端技术栈如此复杂?

公众号新闻
前端生态系统的复杂性是出了名的。在每一层,似乎都存在着不兼容的,相互竞争的标准。
没有通用的导入系统。ES 模块、CommonJS、异步模块定义(AMD)和通用模块定义(UMD)都是你可以导入或分享代码的不同方式。打包器试图通过支持多种方法来解决这个问题。但是代码经历了多层的压缩、混淆和转译。TypeScript 被编译成 JavaScript。网络上的代码会被压缩(以减少网络带宽)或混淆(以防止复制)。源映射可以解决其中一些问题,但这又是另一项需要配置的事情。获取正确的堆栈跟踪可能会很棘手。这需要语言、工具和运行时之间的协调。
极其不同的环境。一个特性和一个错误。前端代码预期在任何地方运行 - 不仅仅是浏览器。在不同环境中可用的上下文和 API 各不相同,很难知道你有哪些可用的上下文(更不用说知道你正在导入的库假设了什么)。这段代码能在服务器上运行吗?这段代码能在客户端上运行吗?这对开发者来说很困难(我可以使用什么代码)对于库维护者来说也很困难(我应该为哪些环境优化我的代码?)。
过度强调文件结构。太多的前端工具依赖于项目结构来进行行为设定。配置必须在项目的根目录中(导致了一长串的 tailwind.config.js、postcss.config.js、eslint.config.js、next.config.js 等)。文件结构对于导入代码是必要的恶,但在前端中,它却做了更多的事情。它可能是一个 API,用于将特定文件路由为网页,或者作为 API,或者作为静态网页,或者作为动态重新生成的网页。这些都很方便,但有时候很难调试,也很难发现代码库的部分内容。
配置地狱。开箱即用的工具有很多。长期以来,我们有 create-react-app,这是一个被赞誉的工具包,它集成了许多这样的工具,从一开始就为开发者提供了一个可用的配置。但是,如果你偏离了这条黄金路径,你就会被 20 多个开发工具和复杂的交互所困扰。几乎每个工具都在与其他工具争斗。ESLint(代码检查工具)和 Prettier(代码格式化工具)经常发生冲突。
开发失衡。在代码和部署之间有如此多的步骤,意味着热重载开发往往复杂。这导致了像 webpack-dev-server 这样的工具的出现,它为你处理了大部分问题。但是要警惕魔法。这些开发服务器中有太多的假设,它们可能会迅速偏离生产行为。
原文:https://matt-rickard.com/why-is-the-frontend-stack-so-complicated
作者:Matt Rickard


本文还收录在《2023 中国开源开发者报告》中,并特邀评论员——杜天微,狮偶编程语言作者对此文进行评价:前端技术复杂吗?这应该是技术和供应链进步带来的结果。就跟城市化一 样,不可逆,不可阻挡
长按识别二维码查看报告完整内容

点击阅读原文,查看报告

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
《巨流河》作者齐邦媛去世,“如此悲伤、如此愉悦、如此独特”年度代码翻车现场 |前端代码评审问题总结为什么最近爆炸事故如此密集?背后的真相让人意外张郎郎:找哥哥张郎郎:宁静的地平线张郎郎:关于文革中的“一打三反”运动 (恐怖岁月)吞吐量提升5倍,联合设计后端系统和前端语言的LLM接口来了一个健壮的前端轮询为什么《黑天鹅》剧本第三幕如此牛b?昆明“猴子虐猫事件”持续发酵,为什么我们如此恐惧?2024前端圈 “开年之战”:React挖坑不填,要靠文档来补?为什么波音737 Max存在如此多问题?金姐刚实锤小男友,这就分了?! 想赶在侃爷前头生娃吓跑男方?什么前任文学...开源“靓仔”头像生成器:纯前端本地实现、完全随机绘制——保证独一无二!三国时期“合肥”,为什么如此重要,让东吴孙权死咬不放挑战 Spark 和 Flink?大数据技术栈的突围和战争|盘点干货:一键生成任意前端项目资深分析师:为什么《博德之门3》成功在游戏业如此罕见?皮肤管理太复杂?No!这份皮肤管理秘籍请收好!不是,你的风格学的那么杂?(古詩英譯)春江花月夜(其一)– 楊廣QCon上海2023 参会内容分享:LLM 时代的大前端技术趋势吴亦凡二审结果出来,看了吴母的信我才知道他为什么落得如此下场……原配化身成“福尔摩斯”追踪女主播:为什么我觉得如此悲哀?职场女性为什么如此关注社交媒体“人设”?也就是胖了点,为什么如此被嫌弃找工作不用想那么复杂,也没那么复杂Web技术栈也能开发鸿蒙应用?Taro 给出了一个友好的方案她呼吁限制中国获取半导体和尖端技术,中方回应刚从NIH拿了45万研究经费为什么搂搂抱抱对孩子如此重要?清洁洗衣机的「小泡泡」,如此粗鲁,如此有效!厦门大学韩家淮院士团队:为什么新冠疫苗的保护时间如此之短?——有关 COVID-19 疫苗的现状及未来前端monorepo大仓权限设计的思考与实现2024 年 7 个 Web 前端开发趋势
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。