我们应该把这件事公开。人们似乎普遍认为 jquery 用户是无知的,而且往往是设计者。这是从哪里来的,是真的吗?
根当时的 javascript 社区并不像现在这样充满活力和热情。
让我们回顾一下记忆;我们将把时钟倒回几年——jquery 之前的日子。当时的 javascript 世界是一个非常不同的场景。那个社区远没有今天那么充满活力和热情。当然,当时有一些库,例如 prototype;但他们从未像 jquery 那样迅速吸引普通用户的关注。当时,javascript 是一种广受憎恨的语言。有时,我们很容易忘记,有时开发人员拒绝花必要的时间……你知道……学习 javascript!相反,他们只是简单地复制并粘贴他们的方式,希望避免在裤子上留下令人讨厌的 javascript 污点。
dom你的意思是,“我讨厌 dom api。”
这些复制粘贴成瘾者(我就是其中之一)没有意识到,当你说“我讨厌 javascript”时,你真正的意思是(无论你是否意识到):“我讨厌dom api。”没有人会因为这种感觉而受到责备。尤其是在那些日子里,当 ie5 支持生效时,事情可能会变得有点糟糕。 dom 的浏览器实现是罪魁祸首;不是 javascript 语言。这是因为实际上没有任何 dom 规范。结果,浏览器尽其所能地发挥了它的作用!我们有 innerhtml 不是因为规范,而是因为 internet explorer 团队决定将其放入其中(此时其他浏览器供应商对其进行了逆向工程,并将其实现到自己的浏览器中)。但 javascript 语言作为一个整体是可靠的。
事实上,包括我自己在内的许多人都会说,作为一种语言,javascript 确实非常美丽。
jquery大约在那个时候,jquery 进入了人们的视野,并开始席卷开发社区。虽然像 prototype 这样的其他库对于新手来说仍然保留了一定程度的复杂性和混乱,但 jquery 却非常容易掌握,因为所有东西都可以通过 jquery 对象访问(具有讽刺意味的是,它经常被批评) 。
需要申请课程吗?简单的;这样做是为设计师量身定做的。 jquery 允许您使用已知的 css 选择器来查询 dom。
$('#container').addclass('ahh-yeah');
有趣的事实:从技术上讲,尽管 jquery 普及了 css 选择器引擎的想法,但它很大程度上基于 dean edwards 的工作。
然后,在某个时刻,时间线偏离了这个替代现实......
这确实简单得不能再简单了。通过抽象出复杂的代码和浏览器怪癖,开发人员可以继续做重要的事情:创建网站和应用程序。
虽然 jquery 的社区突飞猛进,但库本身也在不断成熟和成形。世界是桃色的。
然后,在某个时刻,时间线倾斜到了这个替代现实(好吧,不像布朗博士那样),突然间,如果你将自己标记为自豪的 jquery 用户,javascript 社区的某些成员就会因此觉得有必要将您刻板印象为一个无知的“设计师”(无论您是否是)——当然不是“javascript 开发人员”。这怎么发生的? javascript 开发人员不使用 jquery?
人气的负担 每个人对聚光灯都有自己的看法。
很自然,一旦你达到一定的知名度(找不到更好的语言),你就会接受大量的审查。似乎每个人对聚光灯都有自己的看法。例如,您无疑听到过对天主教的无休止的批评。 “他们崇拜雕像。”这是唯一历史可疑的宗教团体吗?当然不是;但它是最大的。美国是世界上最强大的国家之一。自然,每个人都有自己的看法。 “美国人又无知又肥胖。”忽略好的,关注坏的。
jquery 以压倒性优势成为最流行的 javascript 库。再说一遍,每个人都有意见。我读过无数的批评——从它不做什么,到代码库的结构。然而,对 jquery 最大的批评也许来自一个简单的事实:与 mootools 等软件相比,其用户平均而言对普通 javascript 的使用经验较少。虽然有些人认为这是一个缺点,但老实说,我认为这是一个优点——以一种奇怪的方式。
jquery 有许多经验不足的用户这一事实并不是它的失败;而是它的失败之处。这证明了它的吸引力。
jquery 用户不了解 javascript! 这是您听到最多的争论。再次证明 jquery,许多人在学习普通 javascript 之前学习 jquery。关于这是否是一件好事,已经有无数的争论。事实上,这类讨论延伸到所有抽象。
在了解 css 的细节之前,设计人员是否应该分别使用 css 预处理器和框架,例如 sass 和 compass? ruby 开发人员可以在不先学习 javascript 的情况下使用 coffeescript 吗? 在学习如何编写单个功能测试之前,您应该使用 modernizr 吗? 如果您刚刚学习 php,可以使用 codeigniter 吗? 就我个人而言,我觉得那些要求新手在转向 jquery 之前先学习 javascript 的人错过了一件事:javascript 和 dom 太可怕了!如果你把 es5 规范扔给他们,他们会心脏病发作,除非他们真正有兴趣成为一名 javascript 开发人员。许多人只需要向他们的网站添加一些效果。我们不可能总是掌握一切。他们是选择优先事项的坏人吗?当然不是。
javascript 和 dom 太可怕了!
将其与简单的数学进行比较。当你第一次学习如何添加 2 + 2 时,你是按照官方的方式做的吗?我当然没有;我用我的手指。我打赌你也这么做过。虽然这是问题的巨大简化,但 jquery 不也是这样吗?它为 javascript 新用户提供了一个简单而令人兴奋的入口点。你真的希望他们在学习如何做一些有趣的事情之前先了解闭包、对象和全局变量吗?来吧,来吧,现在。
严格的“以正确的方式学习,否则你就是个傻瓜”的观点是天真的,并且没有考虑到我们所有人都有的各种学习方式。
我将 jquery 视为诱饵。将其举过用户的头顶,让他们感到非常兴奋,然后,当他们觉得准备好了时,他们几乎总是会继续学习更多的普通 javascript。
jquery 用户编写糟糕的代码 这又是一个大规模的概括。世界上一些最大和最有影响力的公司都使用 jquery。但是,是的,有很多初学者仍在学习过程中。那好吧;它发生了。每种语言都存在糟糕的代码。我自己写了很多内容,我很自豪地说!我们能做的最好的事情就是,尽可能地提供建议和提示,而不是公开蔑视他们。我们都在学习。我们真的需要攻击某些人吗,因为他们有不同的优先事项和技能?
随着受欢迎,可能会出现糟糕的建议。
jquery 成功地创建了这个令人难以置信的热情社区 - 从铁杆 javascript 开发人员到对完成工作如此轻松感到惊讶的设计师。这种热情随后导致社区成员编写了无数的 jquery 教程——无论好坏。虽然仍在学习 jquery(我仍在做的事情),但我可以保证我在某一时刻提供了一些糟糕的建议。它与 php 社区并没有太大不同。随着受欢迎,可能会出现糟糕的建议。
ruby 社区 这种毫无意义的教导几乎伤害了社区。p>
在 ruby 社区中,有一个有趣的动态。总的来说,教程是由退伍军人编写的。换句话说,如果您要撰写 ruby on rails 文章或书籍,那么您应该充分考虑到严格的审查。如果你没有丰富的经验,你就不敢写。从某些方面来说,这是一种优势。作为一名学生,您可以更轻松地确信您所学的内容是正确的。另一方面,php 教程到处都是。作家有时会关注无关紧要的事情,而忽略重要的事情。您经常会找到 php 教程的最佳实践,其中描述了使用单引号还是双引号是否更快。当然,这种毫无意义的教导几乎伤害了社区。p>
你喜欢什么? 我必须说,这是一件有趣的事情。你喜欢哪个?是一个较小的、充满热情的基础,还是一个非常受欢迎的、包含所有技能水平的基础?当然各有利弊。
不可否认,我们中的许多人都觉得有必要成为开拓者。还记得父母什么时候开始注册 facebook 的吗?批评者普遍宣称 facebook 的末日已近。一旦你为了广泛的吸引力而牺牲了排他性,人们就会本能地开始寻找下一个事物。但那并没有发生。对于 jquery 来说也是如此。当然,一些用户已经转向更全面的框架,例如 dojo。但这是可以预料到的,并且应该成为 jquery 的荣誉徽章。对于许多人来说,学习周期是这样的:
学习 jquery;兴奋起来。 意识到您不知道 this 在不同情况下指的是什么。学习 javascript,并逐步改进旧的 jquery 代码。(可选)将您的技能提升到需要更全面的框架来构建大型应用程序的程度。开始查看其他工具,例如 dojo。有那么糟糕吗?
实际截止日期 伙计们,我们并不是用二进制编码。
总会有人建议你不要使用图书馆 - 就这样。不过,考虑到 javascript 和 dom 的当前状态,我真诚地认为这是一个糟糕的建议——尤其是对于新手来说。不应该期望他们在学习过程的早期就与令人沮丧的浏览器不一致问题作斗争。而且,很多时候,抽象是一件非常好的事情!伙计们,这不像我们在这里用二进制编码。当您使用 jquery 或任何其他流行的库时,您将受益于无数的测试、错误修复和业内最优秀的人才。
现在,当然,您不需要使用其他人的框架。如果你有能力的话,创建自己的图书馆;这也有效!目标是:
规范浏览器怪癖 少写代码从尽可能多的人的思想中受益 满足真正的截止日期并完成工作jquery 不是“设计师的库”,但它对设计师很有吸引力。它不像其他库那样基于类,但这使得新手的入门更加轻松。所以我们最终得到的是一个帮助重新点燃 javascript 社区的库。它足够简单,足以吸引新手,而且功能强大,足以被世界上最大的公司使用。到底为什么又被批评呢?
以上就是使用 jquery 是愚蠢的吗?的详细内容。