2009-12-24 53 views
2

爲什麼決定以純文本形式發佈javascript程序?是爲了實現性能增強還是作者從未想到JavaScript將用於更復雜的應用程序,開發人員可能想要保護源代碼?爲什麼javascript程序以純文本格式提供?

+4

你更喜歡什麼替代方案?發送加密的js文件給瀏覽器解密? – DOK 2009-12-24 20:15:44

+4

對於這個問題,爲什麼HTML純文本?爲什麼是CSS? PHP? Perl的?編譯一切可能會使它更快更安全,但它不會讓web開發變得更容易。 – Rob 2009-12-24 20:17:00

+6

編譯不會保護源代碼。軟件許可證保護源代碼。 – jrockway 2009-12-24 20:51:25

回答

3

這是因爲JavaScript從來沒有用於大型Web應用程序,而是一種在瀏覽器上做一些「酷炫」的方式。 JavaScript並不是一種非常流行的語言,並且直到AJAX出現時才被人們鄙視,這就是爲什麼JavaScript從未如此分散的原因。畢竟,將JavaScript發送到瀏覽器最簡單的方法是通過普通的文本文件,爲什麼他們在1995年時會爲其他任何事情困擾?

+0

我想我們已經有不同的經驗與JavaScript開發。我一直在大型Web應用程序上使用它很長時間。它可能已經被實際上不喜歡編寫代碼的人鄙視了。 – DOK 2009-12-24 20:32:47

+2

此外,最初互聯網被分享簡單的純文本文件,所以它是有意義的,使網頁簡單的純文本文件。 – Xavi 2009-12-24 20:39:54

2

看看YUI;它會通過替換的變量,函數等所有的名字壓縮JavaScript文件,這樣的東西abc,...

它也將刪除所有不必要的空格,換行等,因此,將兩者混淆JavaScript代碼並縮小其大小。

+0

混淆是減少代碼大小,並使其閱讀(或竊取)非常困難的好方法。但是要維護它是一個瑣碎的事情,所以使用工具進行模糊處理是很好的,所以你不必這樣編寫代碼。 – DOK 2009-12-24 20:26:23

6

我認爲部分原因是由於HTML本身以純文本形式提供給瀏覽器,因此JavaScript也應如此。這是Web的方式。

+0

-1。這不是一個答案,只是一個僞宗教聲明(你可能稱它爲主或其他方式)。 – KooiInc 2009-12-25 08:29:23

1

文本是在任何一對計算機之間傳輸而不用擔心計算機體系結構的一種數據形式:字節順序,字大小,浮點二進制表示,負編碼等。即使EBCDIC計算機也可以輕鬆處理ASCII。

儘管任何二進制表示方案都可以克服這些絆腳石 - 就像TCP/IP內部的代碼一樣 - 這樣做的代碼並不完全令人愉快,甚至無法讀取。經驗是,即使是最經驗豐富的工程師偶爾也會忘記使用所需的主機到網絡或網絡到主機的轉換宏。事實上,許多主要傳輸數字信息的協議將數值轉換爲ASCII符號以便傳輸,這主要是因爲通用性。 (想起PCLANSI 3.64)。基於文本的傳輸很容易被廣泛的本地數字格式化器和解析器所支持,所有這些都傾向於進行優化。而且,幾乎所有的編程語言都支持文本編碼的數字數據。支持二進制格式的數據從足夠痛苦

0

保持純文本比二進制(從緩衝區溢出等)更安全。它具有較低的進入成本。縮小和gzipping使其高效。 Web開發更容易。我需要繼續嗎?

相關問題