0

我正在考虑为我的项目使用 Javascript 框架。但我很困惑,我应该使用框架还是使用简单的 Javascript。此外,我还想说一点,我对 Javascript 的经验并不多。对于仍然处于 Javascript 初学者水平的人,您有什么建议?

4

2 回答 2

5

关于初学者的疑惑:

去年我开始使用 AngularJS 时,我处于 ​​JavaScript 初学者水平。学习它的基础知识真的很容易。更好的是,它可以帮助您用很少的代码行完成相当复杂的事情。您编写的大部分代码都是 AngularJS 所称的指令,这也是最可重用的部分。

一些高级概念可能难以理解并且需要一些时间,但总的来说,我会说通过 AngularJS 的进步让我对 JavaScript 有了更好的理解

至少这是我的经验,而且这篇文章的目的不是为了推销 AngularJS。在我看来,学习一门编程语言,至少在大多数情况下,最好通过自己挖掘它的原始特性来完成。但是对于 JavaScript —— 以及它的所有怪癖—— 我发现有一些东西来指导我是非常有帮助的—— 在这种情况下,AngularJS。

关于项目框架:

当您想要拥有一个包含大量代码和交互的大型应用程序时,我发现框架对您有很大帮助。现在有一股 JavaScript 框架的热潮,所有这些都非常好。如果您想扩展 HTML 并进行声明式编程,可以使用AngularJS。如果您想在不同的抽象级别上工作,可以使用Ember.js。如果您想自己编写大部分实现,请使用Backbone.js。如果你正在做很多 GUI 的东西,ExtJS。这些框架中的大多数将帮助您编写更简洁、模块化和更可测试的代码,从长远来看,这将大大提高可维护性。

缺点可能是:

  1. 学习曲线 - 但如果你处于初学者水平,那么你不应该担心这个。
  2. 矫枉过正——对于某些项目,你真的不需要包含 500KB 的框架和库
  3. 不匹配——我认为这可能是最重要的因素。例如,一些框架更适合视觉效果,如图表和动画,而另一些则更适合其他方面。

结论:

  • 确定你想要达到的目标,
  • 找到适合工作的工具,
  • 框架/库(或者如果不需要)将有很大帮助

最后,更像是一般规则:

  • 不要因为对你来说太陌生而害怕做正确的事
于 2013-03-11T03:21:57.120 回答
2

图书馆可以非常好。它们可以帮助您对代码进行分段,它们可以帮助您更轻松地做很多事情。我已经开始发现骨干网对 AJAXy 网络应用程序特别有用。使用 JQuery,比使用 JQuery$('#element').hide();容易得多document.getElementById('element').style.display = "none";,而且 JQuery.toggle();甚至比这更好。在大多数情况下,它们也很容易为您处理跨浏览器问题。

从设计/架构的角度来看,最大的缺点是开销。一旦您开始使用上述库的库和插件,谁知道代码质量如何。

从个人发展的角度来看,最大的风险是您将开始使用库作为拐杖,并且永远不会费心去了解这些库为什么如何做它们所做的事情。当我看到一个网页<script>的标题中有 15,000 个(夸张的)块时,我讨厌它们,它们可能利用了它们正在使用的所有插件和框架的 1/10 的力量。编写 5 到 10 行代码要比有一个额外的 HTTP 请求并加载整个 JS 模块只是为了使用它包含的一个函数要好得多。

我个人的建议是使用库,但始终努力理解它们在做什么,并挑战自己至少自己编写部分 JavaScript,直到你知道 JS 内部发生了什么,以及为什么它正在发生。一旦达到这一点,您将能够更好地评估库或插件是否真的是您需要的,或者您是否应该自己编写一些东西。

于 2013-03-11T03:09:02.167 回答