学习JavaScript ……我应该直接跳到好东西(框架)吗?
几年前我学习了HTML / CSS,然后是PHP。 我最近再次对Web开发很感兴趣,刚开始玩Django和RoR这样的框架。 我很好奇在看框架之前我应该花多少时间/精力学习JS。 我一直在阅读Brett McLaughlin撰写的一篇名为Mastering AJAX的文章,看起来相当不错,但我看到很多东西(例如跨浏览器兼容性 – 甚至像XMLHttpRequest这样的东西)即将出现如果使用框架,则不会出现问题。
那么,我应该继续阅读这些文章并尝试使用基本的JS构建内容,还是应该开始研究jQuery之类的东西?
另外,我一直在观看一些关于Google I / O中GWT的video。 去年我一直在学习Java,在其中构建了一些中型应用程序。 我想知道GWT是否值得直接使用,还有gQuery?
从JavaScript的基础知识开始是一个好主意,恕我直言。
阅读JavaScript:The Good Parts ,作者: Douglas Crockford 。 非常非常好的书。
您还应该查看Douglas Crockford的网站 。
我还必须回到这里并在更新中提到这一点:
道格拉斯·克罗克福德(Douglas Crockford)在今年早些时候的微软MIX10大会上发表了一篇关于JavaScript(过去,现在,未来)的有启发性的演讲。 您将在Microsoft MIX10 – The Tale of JavaScript中找到Crockford演讲的完整video。 我的意思是ECMAScript 。
没有。
就像你学习编程时一样,你先学习C / Pascal然后是Java / C ++,最后是Python / Ruby / Smalltalk / Lisp,当学习任何语言时,你应该先学习简单的语言结构,首先要学习ECMAScript,然后学习DOM最后是框架。
为什么? 因为您将对语言有更深入的了解,并且能够调试可能看似奇怪的事情,除非您有这种学习经验。
如果你是一个经验丰富的开发人员,你可以加快每个阶段,但不要跳过它们,否则你会因为不完全理解小怪物而遇到问题。
Javascript是一种有趣且有趣的语言,但有时可能会很奇怪( Date
在屁股上咬了几次)。
使用框架来避免重复性任务并简化代码,但不能作为起点。 简单是最终目标,而不是起点,框架就是为了简单,而不是为了学习语言。 框架旨在简化经验丰富的开发人员的工作。
了解浏览器之间的差异(DOM实现)将允许您调试框架。 那是无价之宝。
我去年一直在学习Java ……
Javascript 不是 Java 。 永远不会永远不会。
即使您可以从Java 编译为 Javascript,它仍然是一个框架,除非您已经知道自己在做什么,否则不要跳到它。
我认为“两者都有”。 把它混合起来。 玩一个框架。 当你尝试做一些真实的事情时,你会陷入困境,所以你会拿起一些JavaScript来解决它。
很多优秀的jQuery书籍都会教你JavaScript。
这是了解如何使用其他语言编程的初学者javascript开发人员的最佳video之一:
这是John Resig去年在Northeastern所做的一次演讲,其中大部分是关于核心javascript的讨论,然后谈话的最后四分之一跳到了jQuery:
这实际上是一个非常有趣的技术讲座和演示,因为他确实有实例,而Resig非常善于展示。
与此问题中的其他人一样,我也强烈建议您阅读Javascript:The Good Parts以便更好地理解。
是的,直接跳到基于框架的编程而不是DOM是一个好主意。
在jQuery之类的任何主要框架出现之前我开始做JS,并且最初不愿意切换,但是当我第一次开始使用jQuery时,能够编写选择器和东西并且不必担心跨浏览器感觉非常好兼容性。
但是,JS的某些领域无法提供框架。 其中一个是用户脚本,您必须使脚本在您无法控制的站点上运行。 另一个这样的问题是在诸如XUL的应用程序中使用JavaScript。
总的来说,我建议你从一些简单的JS应用程序开始,然后切换到jQuery而不是继续讨论DOM的复杂主题。
是什么让你认为框架是好东西而JavaScript不是?
如果你问我,我会说JavaScript是一种非常有趣的语言,你应该先学习它。 JavaScript受到了糟糕的说唱,因为它主要用于浏览器脚本,而且那些浏览器都是错误的,让人觉得JavaScript很糟糕。
Crockford说JavaScript是世界上最容易被误解的语言 。
如果您之前的经验是使用PHP(或任何非函数语言),那么“一流函数”的概念将真正给您一个’aha’时刻。 ‘闭包’将是另一个简化代码的工具,会让你想知道为什么所有语言都没有它。 原型inheritance将向您显示OOP的替代品。 我肯定建议你在跳转到任何框架之前先学习JavaScript。 我必须补充一点,你还必须学习概念(第一类函数/闭包/原型inheritance),以便有效地使用任何JS框架,因为所有框架都利用了JavaScript的特性。
要学习JavaScript,请获取Crockford的“JavaScript,The Good Parts”一书,并尝试使用符合标准的浏览器(比如Firefox [与FireBug],Safari,Chrome)学习该语言,而不关注DOM操作。 Simon Wilson的演讲也很好。
一旦你对语言有了良好的感觉,继续下一步即操纵DOM。 我个人建议您尝试使用裸骨JavaScript进行一些DOM操作,以便更好地理解DOM和所涉及的痛点。 [例如,当我为onClick事件附加一个方法时,’this’并不是指我认为它指的是什么?]
通过手动进行DOM操作后您会感受到一些痛苦,然后转到JavaScript框架,它可以消除所有的痛苦并让JavaScript再次变得有趣。 就个人而言,我强烈建议jQuery优于其他框架 。
如果您在JavaScript旅程中有任何疑问,可以随时询问他们! :) 祝好运。
在对基础技术有基本的了解之前,我不会触及任何语言的任何框架。 值得的编码器是一种在没有知识的情况下使用工具的编码器。 JavaScript有一些令人悲伤的历史,但在其最新版本中,它的function非常强大,甚至令人着迷。 我说 – 学好它,然后使用适合你当前需要的任何框架
这取决于你想投入时间的地方。 理想情况下,我们都是汇编语言的专家,但这不现实或不实用。 我们必须选择我们的战斗。 然后我们通常会互相攻击以挑选错误的战斗,我们称之为“货物编码”。
就个人而言,在我可以花费大量时间敲打头脑的所有事情中,跨平台JavaScript的复杂性似乎没有其他选择那么有趣和有益,所以我决定直接跳到jQuery。 我很满意它是如何运作的。
我和你有相同的背景。 经过6个月的MooTools,我发现mootools间接教我“香草”javascript。
我听说有人说mootools更像是纯粹的javascript而不是jquery(毕竟,jquery的标语是“jQuery旨在改变你编写JavaScript的方式。”)。
我建议从框架开始。 许多最好的JavaScript开发人员使用框架。 一旦你感到舒服,你很可能会很容易地选择其他框架和简单的javascript。