不';JavaScript小型化是否会损害开源?

不';JavaScript小型化是否会损害开源?,javascript,open-source,minify,Javascript,Open Source,Minify,现在网络上有很多关于缩小JavaScript的重要性的信息。速度才是最重要的 但缩小规模难道不违背开源的开放性吗 JS(与flash和后端相反)的一个优点是,源代码就在那里,其他开发人员可以看到,他们认为“嘿,看起来不错,我想知道他们是怎么做到的”。JS源代码可供所有人查看,因此开发人员可以从中学习、修改,并在自己的项目中使用类似的JS 缩小JS使其无法阅读。它使外部开发人员无法读取代码,因此取消了横向共享和学习 显然,会有一些人希望缩小他们的JS,以试图保留他们的知识产权。当人们破坏开源社区的

现在网络上有很多关于缩小JavaScript的重要性的信息。速度才是最重要的

但缩小规模难道不违背开源的开放性吗

JS(与flash和后端相反)的一个优点是,源代码就在那里,其他开发人员可以看到,他们认为“嘿,看起来不错,我想知道他们是怎么做到的”。JS源代码可供所有人查看,因此开发人员可以从中学习、修改,并在自己的项目中使用类似的JS

缩小JS使其无法阅读。它使外部开发人员无法读取代码,因此取消了横向共享和学习

显然,会有一些人希望缩小他们的JS,以试图保留他们的知识产权。当人们破坏开源社区的创造力时,这总是一件令人遗憾的事,但这在某种程度上是可以理解的,而且肯定不会停止

但是对于我们其他开发者来说——他们每天都在使用开源软件——JS的小型化阻碍了我们的发展。它使我们无法利用网络的开放性。它关闭了创造性共享的可能性

我所说的都是一些正在缩小的东西——库、插件等等(也许在为移动设备提供JS时)。但是对于使你的个人网站个性化的定制代码来说,缩小你的代码真的没有必要。它可能会节省几毫秒的下载时间,但保持打开状态不会有多大改变。web上的大多数站点可能只有不到20KB的自定义JS代码,而将其缩小的好处实际上是微乎其微的。几个ms真的比得上让JS代码保持开放、可读和可供他人使用的好处吗

对于具有更多JS的站点,也许我们可以开始开发一个基于开源的标准,这样开发人员就可以键入稍微不同的URL,以便获得未统一的代码。如果缩小的代码位于domain.com/script.min.js,那么让我们在domain.com/script.js或/script.full.js中始终提供未缩小的代码。还是有其他建议

我在网上找不到任何其他谈论这个问题的东西。一切都在另一边——推动缩小。这提醒了我。这让我觉得,作为开发人员,我们已经允许自己陷入一种毫无疑问的速度意识,而不考虑其他因素。也许,由于意识形态的本质,你们中的一些人在读到这篇文章时会立即想抛弃它,并与之争论。但是再想想——这小小的速度优势真的值得失去开源创造力吗?我不相信是这样


所以我想我的问题是,关于开源JavaScripting的争论在哪里?

如果javascript是开源的,那么你也可以找到未精简的版本。例如,jQuery:

有“缩小”和“未压缩”的文件可供下载


如果您发现一个javascript文件声称是开源的,但没有可用的未压缩文件,那么就犯了一个错误。

我敢肯定,大多数(如果不是全部的话)提供小型版本的开源javascript库也为开发人员提供了原始源代码。这就好比分发编译后的二进制文件供一般使用的开源程序也将其原始源代码分发给公众一样


如果您指的是专门为某个项目按项目定制的脚本,那么默认情况下,这些脚本不是开源的,除非作者特别引用/包括FOSS许可通知。为此,我没有义务提供我的自定义代码的未统一版本,除非我打算免费分发并许可它;我没有见过很多(任何?)FOSS JS LIB没有非精简版本

即使有,自由和开放源码软件也不意味着可读——即使是非小型代码也可能完全难以辨认

JS(与flash和 后端)就是源代码就在那里,可以 被其他开发人员看到,他们认为“嘿,看起来不错 很好,我想知道他们是怎么做到的。”

我不认为我们真的想鼓励从偶然发现的网站源学习Javascript。如果你想学习Javascript,最好从一个真正的开源项目中学习,这个项目已经被仔细地记录、测试和编写了

99%的情况下,如果我不开源一段JS,那不是因为知识产权问题。这是因为它是一个快速的黑客-不适合社区消费

web上的大多数站点的自定义JS可能少于20KB 代码,而缩小它的好处实际上是微乎其微的


无论节省的内存是2kb(顺便说一句,这仍然会有所不同)还是2mb,缩小都是一种最佳实践,应该从一开始就灌输给开发人员。

同样,用JavaScript编码对我们行业、产品和社区的长期发展是一个好主意吗?目前这是一个必要的缺点,但我宁愿把我的思想努力放在完全摆脱JavaScript作为编码语言上。@sinelaw LOL&wtf?flash是真的,但是JavaScript呢?你知道除了IE还有其他浏览器,对吧?:)它会提醒您,因为默认情况下,me构建过程包括JS缩小,并且您想要我的应用程序的自定义代码?@lwburk/tybro0103:因为JavaScript具有。这是一个你可以争论的观点,但我的观点是JavaScript不是一种你应该使用的语言(有证据表明我并不孤单,像GWT这样的项目越来越流行)。我认为是“汇编语言”