Web框架为程序员提供了什么?

时间:2012-07-10 19:53:32

标签: javascript django html5

如果框架管理HTML / CSS / javascript,程序员是否还需要知道javascript语言?或者是在框架的抽象中处理了什么?

我想使用html5 canvas / webgl /使用其他任何库来制作图形游戏/应用程序。通过像django这样的网络框架,我会更有效吗?我不确定它提供的优势。我认为,如果我想以有效的方式创建一个设计良好的动态网站,我会使用一个框架。但如果我不关心外表,或者我只是在学习,那么我最好先玩javascript和html5吗?

2 个答案:

答案 0 :(得分:5)

在我看来,您可以轻松地使用框架来简化开发,但请记住:使用简化开发的每个框架或工具,您将失去一些控制权。

最终,为了完成某项任务,您将需要了解css / JavaScript或其他任何底层技术。在那种情况下,你将需要学习“硬”的东西。

然而,在您达到这一点之前,我强烈建议您学习基础技术的基础知识,以便了解工具的功能。这有很多原因,但最重要的原因是:

  1. 如前所述,无论如何你迟早都需要。
  2. 如果您不了解基础技术,那么您将会花费大量时间来理解为什么框架生成的页面/应用程序的行为方式不符合您的要求。
  3. 疑难解答更难
  4. 真的 很容易让新手开发人员选择一个框架并开始使用 真的 愚蠢的事情它。可能导致安全漏洞,泄漏敏感数据,使您自己和客户面临风险的事情。
    • 当然,有些框架可以保护新手开发人员免受SQL注入等攻击,但不是全部。需要有人了解这些工具在“引擎盖下”的作用,以区分它们。
  5. 当然,您需要知道的数量是有限的。

    作为一个类比,驾驶汽车而不花时间学习它的操作基础以及如何安全驾驶汽车将是愚蠢的。但是要驾驶汽车,你不需要知道如何拆开发动机。如果你是那些希望能够拆开引擎(并将其重新组合在一起)的人之一,那就太棒了!您将成为汽车领域至少一个领域的专家之一。

    发展也是如此。不同的人需要/想要不同深度的知识......

    但是对于网络来说,至少要了解HTML,CSS和JavaScript的基础知识是必须的。这就像在填充油箱之前了解柴油和汽油之间的区别。它是每个Web开发人员所需的基本知识。

答案 1 :(得分:2)

通常开发框架是为了通过采取几个步骤并使其易于使用来使更大的任务变得更容易。除此之外,您经常会发现它们包含配置文件和自动安装程序,以简化服务器组件(例如数据库)的设置,以便非技术用户易于使用。

然而,最大的问题是当用户遇到无法调试的错误或警告时,因为问题的基础只能通过(通常)框架核心语言中的少量专业知识来确认是基于。

很简单地说,您可能不需要学习Javascript来使用您的库,但强烈建议您了解内部工作原理,以便您可以轻松地调试和解决您在不久的将来遇到的问题。

享受并祝你好运!