总有人在抱怨如今的 JavaScript 开发变得多么多么复杂,这种现象并不罕见。当一个新人开始学习 JavaScript 的时候,其实我是对他抱有同情的。
如果你正在学习 JS,那么你很快就能感受到生态系统的爆炸式繁荣,感受到构建一个现代 web 应用需要掌握的成千上万个不断发展的知识点(至少在概念上是这样的)。
包管理器、代码检测、转义、打包、压缩、source map、框架、单测、热更新…不可否认,这确实更加复杂了,想想曾几何时,我们只要在页面中引入几个 script 标签,然后 FTP 到服务器上就可以了。
已经在 web 开发中摸爬滚打了好几年的开发者仍然渴望回到“过去的好时光”,这种想法其实是一种抱怨,我并不同情他们。上周我看到一条评论说,现在的 web 开发已经被那些喜欢使用命令行、写 JSON 配置文件的家伙们给劫持了。
在很长一段时间内,JavaScript 都被当成了一个笑话,一个玩具语言,只能用来添加一些不必要的视觉特效,比如鼠标移动到某个元素上触发个动画之类的,而且 JavaScript 经常是导致发生错误、致使页面奔溃的罪魁祸首。尽管在这些年间 JavaScript 取得了很大的进展,但今天仍然有部分人对这门语言不屑一顾。 PHP 开发者应该有同感。
无论好坏与否,JavaScript 曾经是(现在也是)绝大多数 web 浏览器支持的开发语言。社区努力改进了语言本身,并且提供了相关工具来帮助开发者构建生产级应用。我觉得讽刺的是,现在人们攻击 JavaScript 开发的理由是“过于复杂”。不幸的是,鱼和熊掌不可得兼。
现在 JavaScript 开发是行业中最急缺(薪酬也不赖)的一类职业。凭什么认为 JavaScript 开发“很容易”?可以试着去和 Java 或者 .NET 开发者聊聊天谈谈感情;这些技术都有很大的生态系统,为开发生产高质量应用构建了大量的工具。而对于配置文件,许多 Java 工具的 XML 文件是从他们的“耳朵”里出来的。
大量的JavaScript 教程中经常会包含一些模块打包和转义的东西,因为使用最新的语言特性编写模块化代码在就业市场是有很大需求的。这是团队合作构建大型复杂应用所必须的技能。请记着,这些构建工具和开发技术完全是可选的。没人强迫你在工程中使用。工具都是一种权衡:工具是以某种形式增加工程复杂性的代价解决了特定的问题。没人阻止你使用 ES5 的语法来写 js,没人阻止你使用 script 标签将 js 文件添加到 html 里。如果你愿意的话,你甚至可以从 CDN 上引用框架,比如说 React、Vue。
你是否满意 JavaScript 的演变?还是说现代 web 开发已经无情地带走了你 coding 的乐趣?我很乐于倾听你的想法,可以在下方或 Twitter 上给我留言。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/55612.html