論及 JavaScript 的 IDE

來源:互聯網
上載者:User

很早之前,我便對 JS 開發環境吐槽過……原文如下:

JavaScript 的開發工作未曾輕鬆過。箇中原因有 網頁瀏覽器的不一致性、不完善的文檔和品質欠奉的工具所導致的,所幸的是,隨著 AJAX 開發浪潮的卷席,原本亟待改善的開發輔助環境得到極大的改善。

JavaScript 的 IDE 從啟動並執行平台可大體分為 Eclipse 系和非 Eclipse系。Eclipse 最初是由 IBM 公司所倡導的非營利性軟體基金會,旨在提供一個可容它方接納的,具一定伸縮性的開發平台。Eclipse 平台本身也是開源的,有許多實力相當的 IDE 工具構建在 Eclipse 平台之上包括前之提及的 JsEclipse、Aptana 和 Spket 等,或作為外掛程式安裝到 Eclipse 平台上,甚至有不少是屬於開源軟體的。這些工具的目的在於提升 Web 開發的生產效率,豐富市場的需求。JavaScript
的 IDE 似乎應該流行起來,但真正好用的 IDE 卻不多。目前增長的 Web2.0 開發竭求一種能征服廣大開發人員的開發協助工具輔助,但似乎 F5 重新整理瀏覽器與系統記事本才是開發人員的最佳選擇。

難道問題在於 JavaScript 是一種非編譯語言?與 Java 與 C 語言不同,JavaScript 不具備強型別的特性以至難於精確建模。在許多工業用的語言中型別安全是保證代碼高效,運作的成因。JavaScript 則不同,它的語言很寬鬆,自由度較大,就以 JavaScript 鴨子類型(duck type)的特性為例子,它允許你在變數後面隨手塗鴉,像 thing.Foo()、thing + 68、thing.X = "hello"、var y = thing[12]……這樣寬鬆的文法性質使得 IDE
難以作出準確智能提示;與此同時 AJAX 是一種嘗試把異種技術,異種方向的開發人員接攏在一起的技術,使得它本身變化莫測,也使得製作圍繞它的開發工具難度陡然提升。

瀏覽器不是罪魁禍首。以類(Class)為單元的物件導向可謂對 JavaScript 的一次後知後覺的洗禮。各種 AJAX 庫雖提供物件導向的特性但方式方法迂迴不同,為實現通用的對象鑒別方法和類體的解析都變得很困難。從辯證的角度看待,其語言特性把一些程式員的津津樂道的技巧特性舒展開來卻對構建工具是無益的,典型的例子有 eval() 函數的使用代碼在運行時有效,增加了系統的不可預見性。

真正的 JavaScript 建模機制是如此難地實現以致時下提供的 JavaScript 開發環境,不具備真正的上下文感知的輔助,這種情況下,所有內容提示和智能輔助是通過檔案靜態標記完成的。這種類型檢測是以鍵盤敲入時為依據的,類型檢測不會根據對象成員有所更改而知曉,能夠給予您的協助很少,總體來講,這需要程式員克服缺乏優異工具帶來的不便,而更多的是,如何提高代碼的複用度和關心代碼本身的合理性。

JS IDE 一路發展……時間一下子來到 2013……在我體驗了微軟 Visual Studio Express 2012 for Web 之後,有以下幾點要談:

  • 安裝包自然很大~ 附註冊密鑰:VX3VY-8GCVT-KJQCY-RQ99X-MCF2R
  • 不能自動補充注釋,竟然連  /** 補全也沒有
  • VS Web 是除商業軟體 Dreamweaver 之後為數不多的可視化 IDE
  • 待續……
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.