搜尋
首頁web前端js教程JavaScript——祝福還是詛咒?

每個人一生中至少有一次用 JavaScript 寫過程式碼。有些人說他們喜歡它,有些人則說他們不喜歡。這只是一封小小的“信”,寫給那些對 JS 生態系統有遙遠感情的人們,無論好壞。

在開始之前我們需要了解 Javascript 的歷史。 Javascript 不是一種語言,而是生態系。 Java 或 C 是​​一種語言 Javascript 不是,ECMAScript 是該語言的實際名稱。當我們責怪 Javascript 時,我們實際上是在責怪生態系統。

JavaScript 的歷史

程式設計涉及很多事情,如果我們將程式設計想像成一個大球體,那麼 Web 佔據了最大的部分。

JavaScript - A Blessing or a Curse?

當我們談論程式設計時,80%都是與網路相關的技術。這就是為什麼 Javascript 在 1995 年開始純粹作為一種 Web 語言,並在 1997 年得到 IE4 支援。因此,為了我們的理解,我們需要知道 Javascript 從來就不是為了在伺服器上使用而設計的。 Netscape 實際上是第一個支援 Javascript 的瀏覽器,它使用 Mocha 作為 Javascript 引擎,但直到 V8 之前的所有內容都還不夠好。

隨著需求的增長,人們開始嘗試讓Javascript 變得更強大、更快,但Google 團隊創造了奇蹟,實際上讓Javascript 變得足夠快,不僅對客戶端來說足夠快,而且隨著Ryan Dahl 引進V8 和Node.js,Javascript 開始了也可以在伺服器上使用。

其他語言,如 C 或 Java,它們旨在處於機器級別並創建較低級別的程式。要了解伺服器上的 Javascript 是多麼神奇,想像一下嘗試將 Java 放在客戶端上。該語言的目的不是用於與 DOM 和 Web API 交互,因此需要進行許多技巧。

ECMAScript 1 是用於 Web 瀏覽器的語言,旨在僅在其中運行。如果我們將其表現歸咎於語言,我們需要知道它不是語言,而是語言背後的引擎

JavaScript 開始成長

差不多十年後的 2009 年,隨著 ECMAScript 需求的成長,ES5 終於出現了。這就是大繁榮發生的地方。實際上,ECMAScript 語言的用途遠不止於簡單的前端應用程式。僅僅幾年後,React 和其他框架開始出現在地平線上,不僅適用於前端,也適用於後端以及 Express.js 的引入

Javascript 必須有自由,因為前端不像後端開發那樣嚴格和嚴格,React 和之前的客戶端繁榮的藝術需求創建了一個相當寬鬆的生態系統,沒有太多規則和限制。

如果其他語言在伺服器上已經存在了十多年了,Javascript 想要進入,由於其簡單的語法性質,很容易使用該語言,而且前端和後端開發使用相同的程式語言很方便.

一個程式碼庫

這是我想談的事情。在 2009 年 Shopify 正式推出其平台之前,我們與後端服務沒有太多互動。 Javascript 的壞本質對於當時的Web 來說已經足夠好了,而且當時存在的少數大型Web 平台,使用PHP 作為後端,像Facebook 這樣的前端,如果他們有更多的需求,他們就使用Java 作為後端。與 API 的互動性很差,需要進行一些更改。

Node.js 幫助開發人員做他們想做的事,使 Web 成為無縫的開發體驗,而不必為同一組功能使用不同的語言。最初 Nodejs 的效能很差,擴充功能很困難,需要發生一些事情。

Javascript 有很多問題需要解決。它必須解決的第一個問題是效能,而 Nodejs 也提高了效能。

一個程式碼庫可以解決所有問題,但可擴充性無法滿足業界標準。類型安全是必須的,就像 Facebook 創建了 Hack,微軟引入了 Typescript。

現代問題

Javascript解決了效能問題,它可能不如Go或Rust快,但也不是必須的。您不需要 Web 標準的瘋狂效能,如果需要,只需使用 Go 或 Rust 建立一項服務即可。讓我告訴你,我們所知道的網路的核心是 PHP 和 Ruby。它們比 Javascript 慢得多,而且資源消耗更大。

Javascript 解決了類型安全問題,因此可以在更大的專案中使用,但最後一個問題一直困擾著 Javascript,直到幾天前我們才取得了重大突破。

因為 Javascript 不是一種語言,而是生態系統,新功能和工具不是以該語言建構的,而是圍繞著它建構的。您最終需要 20 個設定檔來運行一個後端有 3 個端點的小型 SPA 應用程式。我們需要的改變是將所有內容捆綁在一個東西中。

將 ECMAScript、類型、Linting、安全性和格式放在一個套件中。因為現在你不僅迷失在依賴地獄中,而且編碼也很困難,因為沒有關於如何做事的單一標準。其他語言,如 Java、Ruby、Go、Rust 或 Perl,一切都在語言障礙之內。

JavaScript 的未來

Ryan Dahl 介紹了 Deno,Deno 開始做的就是將所有東西綁在一起。這是非常有前途的。

Typescript 現在的效能、函式庫數量、圍繞語言和資源存在的 SDK,包括 Deno 所做的承諾,它將接管整個 Web 產業。

想像一個世界,所有這些檔案及其指令都捆綁在一個 Javascript 引擎中。

  • eslintrc.json

  • tsconfig.json

  • vite.config.js

  • package.json

  • postcss.config.js

  • .prettierrc

  • ecosystem.config.js

  • .哈士奇

根據我的淺薄理解,Javascript 非常接近成為 Web 領域的明智選擇,只需 3-4 年。您想要建立微服務、微前端、整體架構、擴展到每秒 5K 請求或只是創建一個簡單的 SPA,Javascript 將是唯一的解決方案。

給 Javascript 一些時間,PHP、Ruby 或 Go 等 Web 替代方案將會倒退。因為現在每個人都有反對 Javascript 的合理論點,但未來還是充滿希望的。

結論

總之,JavaScript 已從最初作為 Web 瀏覽器的簡單腳本語言的卑微發展到能夠處理客戶端和伺服器端應用程式的強大生態系統。它的歷程以效能、可擴展性和類型安全性的不斷改進為標誌,使其成為現代 Web 開發的多功能選擇。

Node.js 等工具和 React 等框架的引入擴展了其功能,而 Deno 等創新承諾透過將各種工具和配置整合到一個有凝聚力的環境中來進一步簡化開發流程。

隨著不斷的進步和強大的社區,JavaScript 的未來看起來充滿希望,為開發人員提供了一個統一且高效的平台來建立未來的 Web 應用程式。

以上是JavaScript——祝福還是詛咒?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
JavaScript,C和瀏覽器之間的關係JavaScript,C和瀏覽器之間的關係May 01, 2025 am 12:06 AM

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

node.js流帶打字稿node.js流帶打字稿Apr 30, 2025 am 08:22 AM

Node.js擅長於高效I/O,這在很大程度上要歸功於流。 流媒體匯總處理數據,避免內存過載 - 大型文件,網絡任務和實時應用程序的理想。將流與打字稿的類型安全結合起來創建POWE

Python vs. JavaScript:性能和效率注意事項Python vs. JavaScript:性能和效率注意事項Apr 30, 2025 am 12:08 AM

Python和JavaScript在性能和效率方面的差異主要體現在:1)Python作為解釋型語言,運行速度較慢,但開發效率高,適合快速原型開發;2)JavaScript在瀏覽器中受限於單線程,但在Node.js中可利用多線程和異步I/O提升性能,兩者在實際項目中各有優勢。

JavaScript的起源:探索其實施語言JavaScript的起源:探索其實施語言Apr 29, 2025 am 12:51 AM

JavaScript起源於1995年,由布蘭登·艾克創造,實現語言為C語言。 1.C語言為JavaScript提供了高性能和系統級編程能力。 2.JavaScript的內存管理和性能優化依賴於C語言。 3.C語言的跨平台特性幫助JavaScript在不同操作系統上高效運行。

幕後:什麼語言能力JavaScript?幕後:什麼語言能力JavaScript?Apr 28, 2025 am 12:01 AM

JavaScript在瀏覽器和Node.js環境中運行,依賴JavaScript引擎解析和執行代碼。 1)解析階段生成抽象語法樹(AST);2)編譯階段將AST轉換為字節碼或機器碼;3)執行階段執行編譯後的代碼。

Python和JavaScript的未來:趨勢和預測Python和JavaScript的未來:趨勢和預測Apr 27, 2025 am 12:21 AM

Python和JavaScript的未來趨勢包括:1.Python將鞏固在科學計算和AI領域的地位,2.JavaScript將推動Web技術發展,3.跨平台開發將成為熱門,4.性能優化將是重點。兩者都將繼續在各自領域擴展應用場景,並在性能上有更多突破。

Python vs. JavaScript:開發環境和工具Python vs. JavaScript:開發環境和工具Apr 26, 2025 am 12:09 AM

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

JavaScript是用C編寫的嗎?檢查證據JavaScript是用C編寫的嗎?檢查證據Apr 25, 2025 am 12:15 AM

是的,JavaScript的引擎核心是用C語言編寫的。 1)C語言提供了高效性能和底層控制,適合JavaScript引擎的開發。 2)以V8引擎為例,其核心用C 編寫,結合了C的效率和麵向對象特性。 3)JavaScript引擎的工作原理包括解析、編譯和執行,C語言在這些過程中發揮關鍵作用。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。