中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

JavaScript的世界:障礙,當前的領(lǐng)先者以及下一步

發(fā)布于:2021-01-17 00:05:42

0

70

0

Angular javascript react

在過去的幾十年中,JavaScript發(fā)展了很多。在這個時候,這種語言已經(jīng)成為現(xiàn)代網(wǎng)絡(luò)的重要組成部分。在本文中解釋了Angular如何成為今天的主宰者以及下一步。

JavaScript世界令人著迷。在大約20年的時間里,該語言的應(yīng)用得到了長足的發(fā)展-從簡單地為網(wǎng)頁設(shè)置動畫到幾乎可以做的一切。盡管如此,實際的JavaScript編碼語言并未發(fā)生許多根本性的變化。所做的大多數(shù)更改都是在過去幾年中添加的,涉及ECMAScript。

我認為,語言開發(fā)最強大的收益是AJAX的創(chuàng)建。AJAX是一項允許在不重新加載頁面的情況下從服務(wù)器請求和檢索數(shù)據(jù)的技術(shù)。從那時起,就可以在瀏覽器中開發(fā)應(yīng)用程序而無需調(diào)用專門的內(nèi)聯(lián)應(yīng)用程序,例如Java applet或Adobe Flash。

一路上的障礙

但是,隨著新機會的出現(xiàn),也出現(xiàn)了一些困難。在早期,JavaScript仍然主要由Web設(shè)計人員和布局設(shè)計人員使用。換句話說,它被那些對如何編寫應(yīng)用程序以及使用編程模式和體系結(jié)構(gòu)有一定了解的人使用。但是,他們工作的本質(zhì)是“使圖像移動”或“動畫頁面”。這些設(shè)計師的主要職業(yè)常常是將圖片設(shè)計轉(zhuǎn)換為HTML格式或為頁面“著色”,并通過使用CSS將生成的框架放置在適當?shù)奈恢?。每個人都有一組特定的插件和小部件,以使頁面以一種或另一種方式與用戶交互。

隨著市場需求的增長,需求越來越復(fù)雜。桌面應(yīng)用程序開發(fā)人員和后端開發(fā)人員跳入了前端開發(fā)。他們逐漸認識到,JavaScript是類似“傳統(tǒng)”的編程語言,只用語法類似于C。其余的與傳統(tǒng)的服務(wù)器端編程相去甚遠:沒有強大的數(shù)據(jù)鍵入功能,不同的瀏覽器對任何給定功能都有自己的實現(xiàn)功能,有些瀏覽器甚至支持根本不使用的功能,這是不同的范圍界定,神奇的單詞“ this”周圍無休止的頭痛。

jQuery

今天,jQuery是一個標準庫,可將開發(fā)人員與瀏覽器進行協(xié)調(diào)。將其視為一種代碼統(tǒng)一器。一旦啟用它,跨瀏覽器的問題就會消失。這些功能在每個瀏覽器上都具有相同的功能。

下一步是什么?

隨著時間的流逝,對編碼速度的要求不斷提高。單頁應(yīng)用程序的時代已經(jīng)來臨。每個人都需要一種便宜的工具來支持路由,模塊化和數(shù)據(jù)鏈接。它還必須具有較低的學(xué)習曲線,以便程序員可以開始工作。

第一步是ExtJS,prototype,YUI和dojo。關(guān)鍵的缺點是每種方法的學(xué)習曲線都很高。

然后,骨干出現(xiàn)了。在一段時間內(nèi),它成為了業(yè)界的羨慕對象,但是過早地揭示了開發(fā)人員在編碼時必須考慮到的自身特性。但是隨后,兩家巨頭微軟和谷歌進入了市場。微軟開始開發(fā)KnockoutJS,而Google推出了AngularJS。

當前的領(lǐng)跑者:Angular

在這兩種產(chǎn)品中,很明顯Angular已贏得了一段時間。當然,這并不完美。仍然有一些缺點。例如,學(xué)習曲線仍然不是最簡單的。但是,該框架允許開發(fā)人員執(zhí)行很多“即用型”編碼。而且,隨著npm(JavaScript的程序包管理器)和NodeJS(在全球范圍內(nèi))的發(fā)展,現(xiàn)在可以為項目找到許多現(xiàn)成的解決方案。

不久之后,F(xiàn)acebook推出了ReactJS,它是自己的用于JS渲染優(yōu)化的庫。ReactJS僅處理渲染,但基于“拾取”數(shù)據(jù)變化。Facebook還提供了自己的架構(gòu)來構(gòu)建Flux應(yīng)用程序。

Google推出了Angular的第二個版本,該版本與Flux架構(gòu)更類似于Angular1的原始架構(gòu)。實際上,Angular 2可以使用ReactJS作為視圖引擎。

考慮到JavaScript的發(fā)展和對強類型,對類聲明和對象初始化的語法簡化等功能的需求不斷增長,當今最流行的TypeScript必須是Microsoft。即使與CoffeeScript和Google的Dart相比,選擇也很明確。

新的JavaScript標準更加靈活。它支持舊式編碼(基于原型的繼承);使用類進行封裝,以更“習慣”的形式確保和繼承;而且隨著ReactJS的出現(xiàn),函數(shù)式編程(純函數(shù)和類似的東西)仍在吸引人。

目前,F(xiàn)lux + ReactJS和AngularJS 2是市場上的主要參與者。實際上,Angular 5已經(jīng)在市場上。盡管如此,版本2仍然看起來不錯。另一個競爭者是TypeScript,它代表了其他語法,可用于React和Angular。

Flux + ReactJS和AngularJS之間的本質(zhì)區(qū)別

AngularJS是一個框架,可以直接進行編碼。它具有非常方便的CLI,但是需要其自己的應(yīng)用程序體系結(jié)構(gòu)。Flux的體系結(jié)構(gòu)可用于多種方法。

目前,最受歡迎的架構(gòu)實現(xiàn)是Redux。這為解決方案選擇提供了更大的靈活性。它可能提供有關(guān)資源的最佳代碼。但是,如果沒有適當?shù)目刂?,任何?yīng)用程序都可能滾雪球,從而導(dǎo)致維護復(fù)雜性。