Angular 2:您应该升级吗?
您应该升级到 Angular 2 吗?
在 JavaScript 世界里,各种变化层出不穷,很容易让人感到不知所措。文章 已经 被写了 关于 它(我想这又是一篇)。JS 生态系统以惊人的速度发展,以及永无止境的“不要落后!”的合唱,导致了一种紧张的情况。
在 Angular 社区,我们已经和 Angular 2 一起到达了一个十字路口。 既然它已经进入测试阶段,越来越多的人开始尝试。 其中一些人真的很喜欢他们所看到的,而另一些人则不然…
“Angular 2 因为 TypeScript 带来了 复杂性。”
“这是 配置 优先于约定!”
“ 语法 太令人反感了。”
“我无法想到任何一个我选择这个 庞大的框架 而不是 React 的理由。”
我们许多 Angular 开发人员已经习惯了 1.x,甚至开始喜欢它。 它感觉很舒服。 由于风格指南的发明,我们的代码库相当有条理。 无需做出任何剧烈的改变。
现在 Angular 2 就在眼前。 它具有相同的名称和更高的版本号,所以它一定是下一个合乎逻辑的步骤! 为了升级而升级。 这是我们一直以来所做的。
但那里的一些例子看起来像是对 2000 年代中期 Java 黑暗时代的倒退。 AbstractServiceProviderAdapterFactory
越来越多的情况也不会落后…
@Injectable()
class TodoService extends AbstractTodoService{...}
就像有人进来告诉我们,镇上来了新的警长,规矩要变了! 而且我们可能不喜欢它们!
除了我们的东西都装在一个手提箱里,而下一个城镇非常友好,并且“更容易理解”(那些 React 镇上的人喜欢这样说)。 也许值得一游,只是看看…
剧烈的改变
人们可能会看到 Angular 2 并认为“哎,这看起来一点也不像 Angular 1。” 人们可能会是对的。
Angular 2 与其前身共享一些概念 – 特殊的 HTML 模板语法,用于修改 DOM 的指令/组件,以及一种“一站式”方法,包括您构建应用程序所需的一切 – 路由器、HTTP 服务等。
也有更多的相似之处,但 Angular 2 实际上更像是 Angular 1 的 精神继承者,而不是一个合适的“更新”。
您现有的 Angular 1 代码需要进行一些重大更改才能与 Angular 2 一起使用。它不像一个即插即用式的替代方案,您的代码的 60% 可能会勉强工作:没有任何东西可以开箱即用。这就是我说 Angular 2 并不是 Angular 1 的真正“更新”的意思。
记住这一点很重要:如果您的 Angular 1.x 应用程序运行良好,那么值得考虑您是否需要做任何更改。
“需要”升级?
如果您拥有一辆功能齐全的 2016 年汽车,当配备更新音响的 2017 年汽车推出时,您会卖掉它吗? 嗯,可能不会。 您的汽车运行良好,而经历购买新车 的整个过程 只是为了一个更花哨的音响系统,这需要做大量工作。
现在,你看,我是一个和下一个家伙或女孩一样 喜欢 喜鹊 的人。 我喜欢闪亮的新玩具。 但仅仅因为“版本 2”已经推出,并不意味着我们需要像它着火一样跳出“版本 1”。
Angular 1.x 不会突然冒烟。 它将会存在一段时间(特别是如果开发人员继续使用它)。
为什么要升级?
我们在软件行业似乎喜欢升级。 新版本出来了,我们必须拥有它。 坚持旧的坏掉的版本是行不通的。 我们需要新的热度。
我要继续挑战你问自己“为什么”。一个真实的、诚实的、哲学的“为什么”。
以下是我在问自己时得出的一些原因
- 它是新的,我喜欢学习新事物。
- 每个人都在谈论它,并说它有多么棒。
- 让您的软件使用旧版本的库是不行的。
- 因为功能更好
- 因为组件是未来的方式,而未来是棒极了。
- 因为安全。
- 我不想落后。
- 我不想在它们弃用旧版本时被困住(以及 100k 行代码)。
- 如果我不知道最新的东西,那么没有人会雇我。
这些是真实的原因。 所有的。 其中一些是合乎逻辑的,一些是基于兴奋的,一些是基于恐惧的。
但这是一个令人解放的想法:“我不 必 使用最新和最棒的。”
关键是知道您 为什么 觉得需要升级。 产品要求? 管理层这么说? 你只是想学习? 太棒了!
但不要“仅仅因为”这样做。 事实证明您最终可能不需要升级。
世界上所有的变化,如果你忽略它,那就无关紧要了。
Angular 2:你该升级吗?最初由 Dave Ceddia 于 2016 年 2 月 8 日在 Angularity 上发布。