为什么前端技术栈如此复杂?
前端生态系统的复杂性是出了名的。在每一层,似乎都存在着不兼容的,相互竞争的标准。
没有通用的导入系统。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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JetBrains 推出 Writerside,创建技术文档的工具
JetBrains 宣布以早期访问状态推出Writerside,一款基于 IntelliJ 平台的 JetBrains IDE,开发人员可使用它编写、构建、测试和发布技术文档。可以作为 JetBrains IDE 中的插件使用,也可以作为独立工具使用。 Writerside 允许开发人员和编写人员在产品文档、API 参考、开发人员指南、教程和操作方法方面进行协作;基于人工智能的拼写检查和语法纠正工具支持超过 25 种语言,包括英语、德语、西班牙语和中文。 Writerside 的一些功能包括: 内置 Git UI。 实时预览,文档完全按照读者所看到的方式显示,无需等待构建。 支持 Markdown、XML 或两者的组合使用。开发人员可以注入语义属性或语义元素来丰富 Markdown,并且 Markdown 元素可以转换为 XML。 提供外观的自定义选项,包括选择深色或浅色模式、对比度、柔和或生动的皮肤,以及定义适合品牌的强调色。作者可以专注于内容,而无需设计布局和处理 CSS。 附带 100 多个内置测试,允许 Writerside 自动测试损坏的链接、丢失的资源、不正确的属性值、非唯...
- 下一篇
百度搜索已基于 AI 大模型完成重构
百度创始人、董事长兼首席执行官李彦宏在百度世界 2023 上正式发布文心大模型 4.0 ,并开启邀请测试。李彦宏称这是迄今为止最强大的文心大模型,实现了基础模型的全面升级,在理解、生成、逻辑和记忆能力上都有着明显提升,综合水平“与 GPT-4 相比毫不逊色”。 此外,李彦宏还宣布,百度搜索已经基于 AI 大模型完成重构,新搜索具有极致满足、推荐激发和多轮交互三个特点。不仅提升了搜索质量,而且突破了搜索的应用范围、扩大了产品边界。他强调说,生成式 AI 与搜索是天作之合。 据悉,百度搜索不仅提升了搜索质量,而且突破了搜索的应用范围、扩大了产品边界。百度搜索基于文心大模型进行升级,新版本大模型实现了基础模型的全面升级,在理解、生成、逻辑和记忆能力上都有着明显提升。 除了搜索,李彦宏还称如流、地图、网盘、文库等,都将以一个全新的面目与大家见面,并表示分享上述这些应用的目的,是为了拓展想象力、激发更多人做出更惊艳的 AI 原生应用。
相关文章
文章评论
共有0条评论来说两句吧...