【发布时间】:2010-11-08 05:10:37
【问题描述】:
现在已经存在像 GWT、Morfik 等将 Java 客户端代码编译成主要 JavaScript 方言的框架,是否还值得学习 JavaScript?
【问题讨论】:
标签: java javascript gwt morfik
现在已经存在像 GWT、Morfik 等将 Java 客户端代码编译成主要 JavaScript 方言的框架,是否还值得学习 JavaScript?
【问题讨论】:
标签: java javascript gwt morfik
在我的书中,是的。
我坚信了解您使用的任何工具包的底层技术。
抽象是有漏洞的——如果你试图逃避只了解高级工具包而不是底层技术,你会遇到麻烦。迟早您需要在 JavaScript(或其他)级别调试您的项目。
【讨论】:
了解框架背后的技术可以减少调试框架所花费的时间。所以在我看来,了解幕后发生的事情总是好的。
【讨论】:
是的,
...我以经验说话:我从来没有学过 javascript,只使用了它的一部分,当我在谷歌搜索问题时遇到它。
现在我正在构建一个 Web 应用程序,我注意到并非所有脱离 javascript 的抽象都具有所需的功能,我需要进入 javascript 来解决它。
我注意到我怀念其他语言的基础知识,就像我怀念“javascript 编程语言”一书一样(我不确定它是否存在,但我有类似的 C、C++ 和 Java 副本)。所以今天我点了Javascript:The good parts,我会学习的...
【讨论】:
绝对。在我看来,抽象很重要,但了解抽象的工作原理同样重要。
我见过一些开发人员因他们的框架而生死攸关(javascript:jquery、yui 等...或 php:zend、cake 等...),但不知道如何在没有它们的情况下做任何有成效的事情.
您希望成为(或雇用)谁?知道一切如何运作,但通过使用框架和库来提高工作效率的人......还是使用这些资源却不知道它们实际上是如何工作的人?
【讨论】:
进一步扩展...
你现在应该学习汇编语言吗?有这么多高级语言吗?
现在我们有计算器和计算机可以为您做这些,您是否应该学习如何手动做减法和加法等基本算术?
好吧,我想说,如果你没有任何理由深入内心,也许你不需要这样做,但有人仍然必须这样做。
与所有事物一样,存在平衡。要知道,如果您不了解较低级别的内容,这将对您不利,但有时有必要跳过它,以便您可以深入了解其他内容。你必须承认有这么多的技术,你将无法成为所有事情的专家。在这种情况下,了解其他人是一件好事。
所以选择你的选择,然后选择你感兴趣的东西。如果你认为你有兴趣学习 JavaScript,那就去吧。如果没有,您可以坚持自己的抽象级别,并在遇到困难时找一个 JavaScript 伙伴来帮助您。
【讨论】:
我认为浏览器错误的现实将使诊断和理解生成的 JavaScript 成为必要的很长时间。我与一家电子表格公司合作开发 OS/2,他们不得不从 C++ 代码中读取生成的汇编程序,因为 IBM 编译器有时会生成错误的机器代码。因此,虽然他们可能没有足够的汇编程序来编写整个项目,但他们当然必须知道足够的知识才能找到问题。
话虽如此,也有许多 Web 框架需要您编写自己的 javascript 代码,如果不直接编写一些 javascript,给定的工具包不一定能完成您需要做的所有事情。如果您愿意,您可以选择避免它的框架,但与应用程序开发的 Assembler 不同,Web 开发社区已决定抽象出与它的任何参与,这一点并不明显。您很可能最终会完成需要它的项目。
【讨论】:
实际上,将其与汇编语言相提并论有点不合时宜。汇编是特定于平台的,向 C 的迁移启用了一定程度的平台不可知论,使开发人员能够在多个平台上提高工作效率。因此,产生了真正的生产力效应。
在诸如 GWT 之类的东西上学习所有丰富的网络知识会受到更多限制。毕竟,它是基于 Java 的,而且 Web 的范围比 Java 大得多。如果您只知道 GWT 而不是生成的 Javascript 的内部工作原理,那么您将严重限制自己(因为我不知道,所以无法评论 Morfik)。
但是,在编写 Javascript 代码时,使用 JQuery 之类的东西来提高工作效率要好得多。 JQuery 可以在任何操作系统上运行的任何浏览器上使用,因此它不会限制您。
【讨论】:
我会说是的。我遇到过声称知道 javascript 的人,但他们所能做的只是调用几个 jquery 函数。 Javascript (ECMAscript) 是一种漂亮的小(好吧,不是那么小)语言。
从 javascript 中抽象一点——定义“值得学习”。这种想法对我来说一直是个难题。您是否害怕学习新事物?
我想,这种思维方式才是程序员和程序员的真正区别。
【讨论】:
不懂 Javascript 的网络开发人员就像不知道如何更换轮胎的汽车修理工。
【讨论】:
JavaScript 是交互式客户端开发的核心。这是绝对必要的。在您了解 JavaScript 之后,如果您发现它们更容易编译,您可能会决定尝试其他可以编译为 JavaScript 的东西。
此外,如果您想在某家公司从事 Web 开发方面的专业工作,那么您将必须了解 JavaScript。此外,随着该语言在浏览器中的执行速度越来越快,并且在服务器端开发中也越来越流行,JavaScript 也越来越受欢迎。
【讨论】: