成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

5種用于前端開發的JavaScript替代方案

開發 前端 新聞
JavaScript雖然是很受歡迎的語言,但是并不適合所有人,那么有哪些替代方案呢?本文將分析5種JavaScript替代方案。

 JavaScript雖然是很受歡迎的語言,但是并不適合所有人,那么有哪些替代方案呢?本文將分析5種JavaScript替代方案。

[[272112]]

1995年,Netscape(網景通信公司)聘請Brendan Eich為當時最受歡迎的網絡瀏覽器Netscape Navigator添加一種新語言。Netscape希望增強網絡的可編程性。

LiveScript在1995年末發布了測試版的瀏覽器,并在最終發布前改名為JavaScript,以利用Netscape與Sun Microsystems的合作關系,后者是流行的Java語言背后的公司(盡管JavaScript本質上與Java沒有任何關系)。

Mozilla的創始人之一是Eich,他在10天內開發出了JavaScript的原始版本。在接下來的25年里,JavaScript從一種不受歡迎且受到嚴重限制的語言發展成為現代web應用程序構建的強大基礎。如今,JavaScript主導了瀏覽器,并通過Node.js占領了大部分服務器。

然而,JavaScript并不是所有開發人員都喜歡的語言。Eich在早期做出了一些古怪的決定,這些決定一直持續到2019年,其中包括典型的繼承、“this”以及JavaScript的侵略性和不一致的類型強制。

近年來,開發人員已經創建了JavaScript的替代品。JavaScript仍然是在瀏覽器中運行的唯一語言,因此這些新語言主要是編譯或轉換為JavaScript。CoffeeScript是第一個類似的腳本,但很快就被眾多競爭對手所超越,每個競爭對手都對JavaScript進行了改進。

Dart

Dart是一種面向對象的c語言,由Google創建,作為JavaScript的替代品。它拋棄了JavaScript的原型繼承系統,而采用了更傳統的面向對象的方法,任何使用過Java或c++的人都熟悉這種方法。與JavaScript不同,Dart是一種靜態類型的語言,消除了JavaScript代碼中的常見錯誤源。Dart支持類型推斷,因此沒有必要在每次聲明變量或函數時都包含類型樣板。

也許Dart最令人激動的功能是它在網絡之外的可用性。Dart代碼可以轉換為JavaScript以便在瀏覽器中運行,但它也可用于獨立應用程序和服務器端開發。Google的Flutter UI工具包是一個可移植的前端框架,可用于桌面、移動設備和Web,構建本機應用程序。

TypeScript

TypeScript是微軟向更好的JavaScript進軍的第一步。與Dart不同,TypeScript不是一種全新的語言,而是JavaScript的超集。TypeScript編譯器可以編譯有效的JavaScript,但是TypeScript增加了幾個新特性,改進和現代化了JavaScript的限制,其中最重要的是一個可選的類型系統。

許多JavaScript問題都是由于缺少靜態類型導致的,這導致了編譯器在運行前進行檢查時就被限制了。顧名思義,TypeScript實現了一種類型表示法,開發人員可以使用這種表示法為web應用程序編程保證安全。與Dart一樣,TypeScript支持類型推斷。

值得一提的是,TypeScript比它的競爭對手谷歌更受歡迎。比如,雖然Angular是谷歌的項目,但它的框架是用TypeScript開發的。TypeScript也可以與React和Vue一起使用。

Elm

Dart和TypeScript與JavaScript和C. Elm有明顯的親緣關系。它是一種靜態類型的函數語言,與Haskell相比更類似于C,但沒有Haskell那種令人撓頭的復雜性。

Elm本質上是一種用于構建web前端的特定于領域的語言。

Elm不像JavaScript那樣是一種通用語言,相反,創建者Evan Czaplicki專注于構建最好的前端web應用程序開發體驗。Elm的主要優點是,通過靜態類型和不可變值消除了前端代碼中的許多潛在bug。Elm宣稱自己是一種“在實踐中沒有運行異常”的語言,這意味著如果一個Elm程序運行,它就不太可能在生產中遇到阻止性能的bug。

以下是Elm代碼示例


Elm代碼看起來和JavaScript一點也不像,但是它有簡單直觀的語法,Elm對學習過JavaScript的人來說應該不難。

ClojureScript

ClojureScript是Clojure編程語言的一個版本,可以編譯為JavaScript。Clojure是運行在Java虛擬機上的Lisp。與Elm一樣,Clojure也是一種函數性語言,具有不可變的數據類型。與Elm不同,它是一種通用編程語言,可以在后端與JVM一起使用,也可以通過JavaScript在前端使用。


與所有Lisp一樣,Clojure是用括號分隔的s表達式編寫的。用Clojure的創建者Rich Hickey的話來說,ClojureScript試圖用Clojure(簡潔且功能強大的編程語言)取代JavaScript,從而解決客戶機/嵌入式應用程序開發中的薄弱環節。Clojure可以與React和其他流行的JavaScript框架一起使用。

當Netscape雇用Brendan Eich時,他們計劃將Scheme集成到Navigator中,而不是創建一種新的語言。Scheme是一種Lisp,因此,如果歷史的發展稍微有些不同,Lisp可能已經成為世界上最流行的編程語言家族。JavaScript通過一流的函數、閉包和lambdas保留了一些“Lispiness”。在JavaScript開發過程中扮演關鍵角色并發明了JSON的道格拉斯•克羅克福德(Douglas Crockford)將JavaScript稱為“披著C外衣的Lisp”。

Phoenix LiveView

之前講過的語言可以編譯成JavaScript,它們讓開發人員無需編寫JavaScript就可以構建客戶端應用程序。

Phoenix LiveView與眾不同。Phoenix是一個用相對較新的Elixir編程語言編寫的web框架。Phoenix是一個服務器端框架。但我們為什么要在一篇專門討論瀏覽器JavaScript替代方案的文章中討論它呢?因為LiveView可以在許多web開發場景中替代JavaScript。

Phoenix的創建者Chris McCord稱LiveView是“一個令人振奮的新庫,它支持使用服務器呈現HTML,實現豐富的實時用戶體驗”。LiveView使用Phoenix channel在瀏覽器和服務器之間創建雙向連接。LiveView基于Websockets,可以在不編寫JavaScript的情況下創建交互體驗。人們自然會擔心這種方法太慢而無法使用,但是LiveView的設計目的是最小化數據傳輸,并且在實踐中可以用于構建低延遲接口。

但LiveView有局限性,我們不建議在LiveView中構建像Google Docs這樣的復雜應用程序。如果離線功能對應用程序很重要,那么LiveView也不是合適的解決方案。但是,對于表單、實時界面更新和數據驗證等功能,Phoenix LiveView是JavaScript的可行替代方案。它比大多數JavaScript應用程序小得多;,LiveView的瀏覽器代碼大約是React的四分之一。

總結

我們已經研究了JavaScript的五種替代方法,每種方法都提供了一種創建Web應用程序和交互式界面的不同方式。當然目前大部分人使用的依然是JavaScript,因為它是Web瀏覽器支持的唯一語言。

但隨著WebAssembly被廣泛采用,這種情況可能即將發生變化。所有主流瀏覽器都支持WebAssembly,將來它很可能成為面向Web的語言的默認編譯目標。對于Web開發人員來說,探索WebAssembly的可能性是個很不錯的方向。

責任編輯:華軒 來源: IT168網站
相關推薦

2023-10-08 14:30:50

JavaScriptWeb 開發

2016-09-20 12:49:29

2020-06-12 08:22:27

React ReduxReact開發

2021-02-23 14:54:13

Python編程語言工具

2021-07-28 14:14:09

JavaScript開源框架

2019-08-28 08:00:00

Splunk分析日志系統管理員

2025-05-09 10:00:00

JavaScriptarguments代碼

2022-10-27 20:44:00

開發前端Angular

2023-08-09 13:46:39

2020-08-12 08:27:05

前端性能分析工具開發

2023-07-10 16:21:53

2020-05-06 15:07:40

人工智能

2021-08-25 12:55:33

Linuxcron

2020-06-05 08:09:01

Python強化學習框架

2020-04-27 09:52:03

預測銷售機器學習ML

2021-04-12 20:19:24

JavaScript開發IDE

2012-03-27 10:08:08

JavaScript

2023-01-04 11:40:41

編程語言Web開發

2017-01-19 09:57:18

APP開發JavaScript

2024-10-16 08:36:03

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91热爆在线观看 | 成人一区二区三区 | 亚洲精品久久久久中文字幕欢迎你 | 一区二区三区电影在线观看 | 99精品视频在线 | 久久久久久亚洲精品 | 国产精品中文 | 成人在线一级片 | 成人久久18免费网站图片 | 日韩欧美一区二区三区四区 | 中文字幕一区二区三区在线视频 | 日韩在线91 | 亚洲 欧美 另类 综合 偷拍 | 一区二区三区不卡视频 | 免费观看日韩精品 | 狠狠亚洲 | 国产三级日本三级 | 日韩欧美国产精品一区二区 | 成人免费观看男女羞羞视频 | 精品一区二区久久久久久久网站 | 国产久| 97精品超碰一区二区三区 | 日韩在线观看中文字幕 | 人人操日日干 | 精品国产视频 | 亚洲精品久久久蜜桃 | 视频一区二区三区中文字幕 | 美日韩免费视频 | 久久免费精彩视频 | 精品日韩一区二区 | 欧美一区二区三区 | 国产精品久久网 | 一区二区三区四区免费视频 | 夜久久| 久久久久成人精品亚洲国产 | 国产电影一区二区三区爱妃记 | 成人精品视频 | av在线一区二区三区 | 成年视频在线观看福利资源 | www.精品国产 | 欧美视频三级 |