-
1 # 益智之家
-
2 # 十全武功1
是前端指令碼語言,最主要的價值是提高使用者體驗度,讓網頁儘可能的實現跟應用程式相似的操作便利性,減少頁面重新整理,節省網頁資料下載量,提供友好的提示語給使用者等等,使用者看網頁不在是枯燥的事情,而是一種快樂有趣的事情。在這方面,阿里騰訊百度以及各個地圖導航公司的產品最有說服力——大家都在用,啥感覺都知道。
-
3 # 雲智時代
JavaScript在過去的幾十年中發展很快。它已經成為目前Web的重要組成部分。今天Angular成為了主宰,未來又會怎樣?
JavaScript的世界非常吸引人。20多年來,這門語言的應用發展迅速,從簡單的網頁動畫到幾乎可以想象的任何事情。儘管如此,實際的JavaScript程式語言還沒有經歷許多重大變化。過去幾年中所做的大部分更改都只是添加了ECMAScript。
在我看來,語言開發最強大的之處就是建立AJAX。AJAX是一種技術,允許從伺服器請求和檢索資料,而無需重新載入頁面。從此在瀏覽器中開發應用程式,而無需呼叫專門的內聯應用程式,如Java小應用程式或Adobe Flash。
阻礙然而,隨著新的機會的出現,也出現了一些困難。在早期,JavaScript仍然主要由網頁設計師和佈局設計師使用。換句話說,那些對如何編寫應用程式並使用程式設計模式和架構有所瞭解的人使用它。然而,本質是“讓影象移動”或“頁面動畫”。通常,這些設計師的核心專業職責是將圖片設計轉換為HTML格式或“彩色”頁面,並透過使用CSS將結果幀放置在適當的位置。每個人都有一組特定的外掛和小部件,以使頁面以某種方式與使用者進行互動。
隨著市場需求的增長,需求越來越複雜。桌面應用程式開發人員和後端開發人員跳入前端開發。他們意識到JavaScript與“傳統”程式語言相似,只是語法類似於C。其餘與傳統的伺服器端程式設計相距甚遠:沒有強大的資料型別,不同的瀏覽器對於任何給定的功能都有自己的實現方法,有些瀏覽器甚至支援其他人完全沒有使用的功能,有不同的範圍,圍繞著“this”這個神奇的詞語有著無窮無盡的頭痛。
jQuery今天,jQuery是一個標準庫,可以讓開發人員和瀏覽器達成一致。可把它看作是一種程式碼統一體。一旦啟用它,跨瀏覽器問題就會消失。這些功能在每個瀏覽器上都有相同的功能了。
演進隨著時間的推移,程式設計速度的要求不斷提高。單頁應用程式的時代即將到來。每個人都需要一個低成本的工具來支援路由選擇,模組化和連結到資料。它也必須有一個低的學習曲線,這樣程式設計師才能開始。
首先是ExtJS,prototype,YUI和dojo。但關鍵的缺點是針對每個人的學習曲線都很高。
隨之Backbone出現了。一段時間以來,它一度令業界羨慕不已,但它很快就揭示了開發人員程式設計時必須考慮的特性。但隨後兩大巨頭微軟和谷歌進入了。微軟開始開發KnockoutJS,谷歌推出了AngularJS。
領跑者在這兩個產品中,顯然Angular贏得了一段時間。當然,這並不完美。還有一些缺點。例如,學習曲線仍然不是最簡單的。但是,這個框架允許開發人員進行大量的“開箱即用”編碼。更重要的是,隨著npm(JavaScript的包管理器)和NodeJS(全域性基礎)的發展,現在可以為專案找到大量的盒子解決方案。
過了一段時間,Facebook推出了自己的JS渲染最佳化庫ReactJS。ReactJS用於構建UI。Facebook還提供了自己的架構來構建Flux應用程式。
Google推出了Angular的第二個版本,該版本與Flux架構相比,更像Angular 1的原始架構。事實上,Angular 2可以使用ReactJS作為檢視的引擎。
在考慮JavaScript的發展以及對強型別,類宣告和物件初始化的語法簡化等功能需求的不斷增長時,必須是微軟的TypeScript,即使與CoffeeScript和Google的Dart相比,選擇也一樣。
新的JavaScript標準更加靈活。它使舊式編碼(基於prototype繼承)使用封裝類,以更“習慣”的形式確保和繼承。
關鍵玩家目前,Flux+ReactJS和AngularJS 2是市場上的主流。事實上,Angular 5已經發布。儘管如此,第2版仍然興盛。另一個競爭者是TypeScript,可以用於React和Angular。
Flux+ReactJS和AngularJS的本質區別AngularJS是一個支援開箱即用程式設計的框架。它有一個非常方便的CLI,但它需要自己的應用程式體系結構。Flux的架構可以用於各種方法。
目前,最流行的架構實現是Redux。這為解決方案選擇提供了更多靈活性,它會為資源提供更最佳化的程式碼。但是,如果沒有適當的控制,任何應用程式都可能會滾雪球,從而導致維護複雜性。
-
4 # 自由踐行
很強大,尤其是jquery出世後,基本奠定了前端霸主地位。
結合CSS,HTML5,ajax似乎已經所向披靡,無所不能了。
最大的問題就是它的版面和書寫格式,建立一個物件的同時裡面還有一堆的事件和巢狀函式。我這個有15年程式設計經驗的老手都看著煩,一坨坨的程式碼字母堆在一起,看著眼花繚亂,經常因為數錯了花括號導致執行錯誤或是意想不到的結果。
還有號稱jother的寫法,指令碼又如何,給你程式碼你都看不懂
回覆列表
JS是前端指令碼語言,最主要的價值是提高使用者體驗度,讓網頁儘可能的實現跟應用程式相似的操作便利性,減少頁面重新整理,節省網頁資料下載量,提供友好的提示語給使用者等等,使用者看網頁不在是枯燥的事情,而是一種快樂有趣的事情。在這方面,阿里騰訊百度以及各個地圖導航公司的產品最有說服力——大家都在用,啥感覺都知道。