• <nav id="i44m4"></nav>
  • <kbd id="i44m4"></kbd>
    經典案例推廣高端H5電商設計公司聯系報價
    QQ聯系
    微信聯系
    手機聯系
    QQ聯系
    微信聯系
    手機聯系

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

    發布時間:2019-08-02
    發布者:eidea
    瀏覽次數:3232
    近年來,開發人員已經創建了JavaScript的替代品。JavaScript仍然是在瀏覽器中運行的唯一語言,因此這些新語言主要是編譯或轉換為JavaScript。CoffeeScript是第一個類似的腳本,但很快就被眾多競爭對手所超越,每個競爭對手都對JavaScript進行了改進。JavaScript雖然是很受歡迎的語言,但是并不適合所有人,那么有哪些替代方案呢?本文將分析5種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宣稱自己是一種“在實踐中沒有運行異?!钡恼Z言,這意味著如果一個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的可能性是個很不錯的方向。

    網站案例欣賞

    廣百展貿

    國企單位自適應官網

    柯翌咨詢

    H5創意型企業官網

    西藏秘茶

    企業官網

    老板把我摁倒在办公桌啪啪_人禽杂交在线播放网站_我原来是富二代_女人和男人啪视频在线观看_又黄又刺激超爽动态图_色偷偷2019免费视频观看