作者 | Theodoros ‘Theo’ Karasavvas , Ryan Donovan
译者 | 弯月
出品 | CSDN(ID:CSDNnews)
每当 Java 发布重大更新 , 我们都会重复相同的经历 。 最开始的时候 , 开发人员会因为新功能的发布而感到高兴 。 他们会直接使用 Java 编写代码 , 框架的流行度会下降 。 接着 , 在较长一段时间内都没有新的发布时 , 框架就会提供各种新功能 , 从而吸引开发人员 。 然后 , 再次重复这个过程 。
此次的 ES6 据说是 Java 最大的一次变化 , 所以我们又开始了新一轮的循环 。 当 ES6 刚发布的时候 , 框架的流行度下降了 , 而Java 则变得更强大 。 但是 , 我想提出一个更大胆的预测:随着开发人员越来越熟悉 ES6 的功能 , 最终我们将打破这个循环 。 将来 Java 开发人员不会再使用任何框架 。
文章图片
我知道很多人对此表示怀疑 , 但请听我说完 。 我并不是说 Java 的使用会变窄 , 事实上 , 如今很多公司都在招聘 Java开发人员 。 相反 , 我认为 ES6 的两个关键特性(特别是模块和类)会淘汰掉许多流行的框架 。 换句话说 , Java 框架都会逐渐消亡 , 就像当年的 Flash 一样:主要原因还是因为没有需求了 , 而且其固有的安全漏洞导致使用非常危险 。
请先不要着急为你喜欢的框架辩驳 , 让我来解释一下为什么我认为会发生这种转变 。
文章图片
Java框架的问题
Java框架是面向开发人员的一种工具 , 抽象出了前端应用程序开发的一些复杂性 。 虽然毫无疑问这些框架非常实用 , 但 Java 的 Web 组件规范的进步使得即使不使用框架也可以轻松地开发新的前端应用程序(例如单页应用程序) 。 那么 , 问题就来了 , 使用这些框架还有必要吗?
让我们来看看当今最流行的 Java 框架 , 反思一下它们的不足之处 。 其实 , 这种例子比比皆是 , 因为如今的大多数框架都存在许多根本性的缺陷 。
大多数使用 Java 框架的人(我也是其中一位)可能并没有注意到这些缺陷 , 因为我们已经习惯了 。 这就像是与魔鬼的交易:抽象为我们带来了开发的便利性 , 但没有重视它们带来的混乱 。 然而 , 事实在于我们使用的大多数框架都非常臃肿 , 它们管理着 Java 本身并不支持的复杂流程 , 而且提供的捷径只会让调试变得更困难 。
除了这些之外 , 还有一个更重要的问题:关于 Java 框架的构成 , 我们并没有一个良好的定义 。 这就导致我们陷入了一种有点荒谬的境地 , 比如最流行的 Java “框架”之一React 实际上根本不是真正的框架 。 它只不过是开发人员构建的一个高度专业化的 Java 库 。
当前所有流行的框架都存在这些问题 。 但也有许多具体的问题只影响了个别框架 。 下面 , 我们就来快速地浏览一下 。
AngularJS与 Angular
说起 Java 框架中存在的问题 , 就不得不提 AngularJS , 虽然这个框架会过时 , 但人们不一定会停止使用 。 许多开发人员仍然会告诉你 AngularJS 是编写 Java 代码的“最佳”方式 , 尽管该框架已被弃用 , 而且不花几年的时间认真研究就很难掌握 。
第二个问题是 , AngularJS 的代码几乎无法理解 , 而且 Angular 2 也继承了这个问题 。 虽然有些人认为这是后端开发人员收入更高的原因 , 但实际上会导致开发人员的负担加重 。 举个例子 , Angular 2 包含区分大小写的 HTML 实例 , 这不仅违反了 HTML 本身的原则 , 而且迫使许多人不得不实现解析器 , 只为了清理 Angular 2 生成的 HTML 。
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
