天才教育網(wǎng)合作機(jī)構(gòu) > 編程語言培訓(xùn)機(jī)構(gòu) > java培訓(xùn)機(jī)構(gòu) >

全國千鋒IT培訓(xùn)

歡迎您!
朋友圈

400-850-8622

全國統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:編程語言培訓(xùn)資訊 > java培訓(xùn)資訊 > 南昌javascript哪個(gè)學(xué)校,拳打南山敬老院,腳踢北海幼兒園的 JavaScript

南昌javascript哪個(gè)學(xué)校,拳打南山敬老院,腳踢北海幼兒園的 JavaScript

日期:2021-07-27 12:20:51     瀏覽:194    來源:全國千鋒IT培訓(xùn)
核心提示:想了解南昌javascript哪個(gè)學(xué)校嗎?想了解拳打南山敬老院,腳踢北海幼兒園的 JavaScript?? 嗎?......本文帶你一探究竟。1.拳打南山敬老院,腳踢北海幼兒園的 JavaScript起因是我近日對(duì) Atom 編輯器 的架構(gòu)好奇,就去

想了解南昌javascript哪個(gè)學(xué)校嗎?想了解拳打南山敬老院,腳踢北海幼兒園的 JavaScript?? 嗎?......本文帶你一探究竟。

1.拳打南山敬老院,腳踢北海幼兒園的 JavaScript

起因是我近日對(duì) Atom 編輯器 的架構(gòu)好奇,就去讀了 Atom 和 Electron 的誕生歷程。然后順藤摸瓜的擼了 Node.js 等一些新的技術(shù)介紹,發(fā)覺 已經(jīng)不是 20 年前的毛頭小伙了……。它的觸角已經(jīng)伸展到幾乎所有的編程領(lǐng)域,成了名副其實(shí)的萬金油。本文就簡(jiǎn)單梳理一下我這幾天看的無所不能的 。一、為表單驗(yàn)證而誕生的 年 Erendan Eich 為網(wǎng)景設(shè)計(jì)了*版 ,主要用于表單校驗(yàn)并獲成功。愛搞自己一套的微軟隨后也發(fā)布了自己的 方言 JScript。在其后幾年微軟和網(wǎng)景互坑互助,最終聯(lián)合推動(dòng)了 的標(biāo)準(zhǔn)化版本—— 的確立。2000 年左右隨著網(wǎng)站的高速發(fā)展, 的價(jià)值越來越大,跟 HTML 和 CSS 并稱網(wǎng)頁三劍客。HTML 負(fù)責(zé)結(jié)構(gòu),CSS 負(fù)責(zé)樣式, 負(fù)責(zé)行為。 成為網(wǎng)頁必不可少的組成部分。由于當(dāng)時(shí)的機(jī)能限制, 的使用場(chǎng)景有限,驚艷的動(dòng)效都是由 Flash 負(fù)責(zé)。二、前端制霸的 Ajax1999 年,愛搞自己一套的微軟又在 IE 里做了個(gè) 的對(duì)象,卻沒有太重視,直到 2005 年,Jesse James Garrett 基于當(dāng)時(shí)的一些 的應(yīng)用,提出了 Ajax ( and XML) 的概念。之前,網(wǎng)頁向服務(wù)器提交數(shù)據(jù)(如發(fā)帖)就需要刷新頁面來顯示操作的結(jié)果,Ajax 通過異步交互實(shí)現(xiàn)無刷新的網(wǎng)頁更新方式,使得網(wǎng)站的交互操作更接近原生應(yīng)用。還記得我在*機(jī)房*次用 Google Maps 的時(shí)候,感受它絲滑流暢的拖動(dòng)和放大縮小,直接跪了,這才是黑科技!這個(gè)時(shí)期,隨著 HTML/CSS 標(biāo)準(zhǔn)化,使得 具有了更重要的作用,比如操作 DOM 樹;機(jī)能提升使得 可以實(shí)現(xiàn)比肩 Flash 的動(dòng)畫效果,而且更加輕量。所以涌現(xiàn)出以 jQuery 為代表的無數(shù)前端庫,極大的提升用網(wǎng)站的交互體驗(yàn)和視覺效果。 借著 Ajax 和 Web2.0 的浪潮,成為真正意義上的前端王者。再之后則涌現(xiàn)出 MVC 架構(gòu)的 Angular.js,專注于表現(xiàn)層的 React.js 等框架,則是在“網(wǎng)頁即是應(yīng)用”的路上持續(xù)進(jìn)化。三、魔爪伸向服務(wù)端的 Node.js2008年,Lars Bak 在他的丹麥農(nóng)場(chǎng)為谷歌的 Chrome 寫了性能超群的 引擎 V8,V8 做為 Chrome 殺手級(jí)的亮點(diǎn)功能之一(沙盒和多進(jìn)程是我認(rèn)為的另外兩大殺手功能),對(duì) Chrome 的成功功不可沒。2009年,Ryan Dahl 借助 V8 的卓越性能和 天生的單線程特(缺)性(陷),腦洞大開的發(fā)布了 Node.js 項(xiàng)目。Node.js 是具有事件驅(qū)動(dòng),異步 I/O 特性的高性能,高并發(fā),輕量級(jí) Web 服務(wù)框架。江湖中也不時(shí)傳來某公司用 Node.js 后少用了多少服務(wù)器的故事。需要說明的是,Node.js 本身是基于 V8 引擎,也就是說它本身并不是用 編寫的,而是用 C++。Node.js 服務(wù)上面跑的腳本語言是 而已。Node.js + 的組合就像 Nginx + Lua,一個(gè)是底層服務(wù),一個(gè)是上層腳本。后來,Node.js 變成了一個(gè)通用的 運(yùn)行時(shí),可應(yīng)用的領(lǐng)域不僅限于服務(wù)器。如果說 Ajax 是*個(gè)引爆點(diǎn),幫助 奠定了前端老大的地位,那 Node.js 就是第二個(gè)引爆點(diǎn)。隨著 Node.js 的快速發(fā)展, 真正變成了一種通用的腳本語言,在下面的各種領(lǐng)域大放異彩。四、 CLI 應(yīng)用的軍火庫 NPM如果說 Node.js 是廚房,NPM (Node Package Manager) 則提供了豐富的各式食材,并在很短的時(shí)間成為了開發(fā)界*的包管理平臺(tái)。在 NPM 上涌現(xiàn)出涵蓋網(wǎng)絡(luò)服務(wù),數(shù)學(xué),文檔處理,數(shù)據(jù)庫,開發(fā)工具等幾乎涵蓋所有領(lǐng)域的各類應(yīng)用??梢栽L問 Awesome Node.js 了解其強(qiáng)大之處。?五、奮戰(zhàn)在移動(dòng)端的 Hybird App隨著 iOS 和 Android 的崛起,只會(huì) 的前端工程師開始眼紅收入超越自己的 iOS 和 Android 工程師,于是他們聯(lián)合起來提出了 PhoneGap,一個(gè)將 HTML5 和 封裝成移動(dòng)應(yīng)用的平臺(tái)。希望借此實(shí)現(xiàn)開發(fā)一份代碼,適配兩個(gè)平臺(tái),賺三份工資的偉大理想。然而事與愿違, PhoneGap 生成的跨平臺(tái)應(yīng)用(Hybird App)由于性能、兼容性、對(duì) native 功能支持不理想等問題,并沒有被特別廣泛的使用,也沒有實(shí)現(xiàn)前端工程師的漲薪夢(mèng)想?;诰W(wǎng)頁的 Hybrid App 也有一些獨(dú)特優(yōu)勢(shì),比如可以遠(yuǎn)程推送更新,無需像原生程序一樣需要編譯和發(fā)布新版本,這個(gè)特性尤其適合電商或內(nèi)容為主的應(yīng)用。而且畢竟開發(fā)容易,可用于早期試錯(cuò)和產(chǎn)品方向驗(yàn)證。真正要追求性能和品質(zhì),還是要用原生代碼(native code)來改寫。所以很多應(yīng)用采用了原生和網(wǎng)頁混合模式,交互操作多,有性能要求,內(nèi)容相對(duì)固定的部分用原生實(shí)現(xiàn);重內(nèi)容重排版需要經(jīng)常更新的部分用網(wǎng)頁實(shí)現(xiàn),*化兩者的優(yōu)勢(shì)。六、桌面端即是網(wǎng)頁的 年,Atom 項(xiàng)目啟動(dòng)。隨著 Atom 的演化,團(tuán)隊(duì)獨(dú)立出用于支撐 Atom 跨平臺(tái)的底層架構(gòu) Atom Shell,后更名為 Electron。包括著名的 Slack,Visual Studio Code 的客戶端都是基于 Electron 構(gòu)建的。Electron 底層是基于 Chromium 和 Node.js。Electron 做了幾件事:1. 創(chuàng)建主進(jìn)程(main process),主進(jìn)程將為每個(gè)界面創(chuàng)建單獨(dú)的渲染進(jìn)程(renderer process)。2. 每個(gè)界面本質(zhì)上就是一個(gè)網(wǎng)頁,渲染進(jìn)程將網(wǎng)頁代碼在 Chromium 中渲染成網(wǎng)頁顯示出來。3. Electron 實(shí)現(xiàn)了各平臺(tái)的特殊功能(比如菜單,Dock),并為這些網(wǎng)頁界面提供原生功能的調(diào)用接口,使得應(yīng)用可以實(shí)現(xiàn)原生應(yīng)用才能做的很多功能,并可以使用 Node.js 的全部模塊(Module)。如果你需要實(shí)現(xiàn)一些 Electron 或 Node.js 不支持的功能,可以自己用 C++ 寫 Module 來實(shí)現(xiàn)。由于 Electron 內(nèi)建了特定版本的 Chromium,所以優(yōu)勢(shì)是網(wǎng)頁設(shè)計(jì)時(shí)不用考慮兼容性(謝天謝地),劣勢(shì)是會(huì)導(dǎo)致 Electron 什么也不做的情況下,應(yīng)用體積也在 100 MB 左右,打包壓縮后大約 30-50 MB。Electron 也繼承了 Chromium 的特點(diǎn),啟動(dòng)慢,利用資源(內(nèi)存占用)換性能(流暢度)。NW.js 也是類似的框架,他采用了 Node.js + Webkit 組合。兩者各有優(yōu)劣,NW.js 跟 Electron 的完整功能對(duì)比。國內(nèi)釘釘客戶端是基于 NW.js 做的。網(wǎng)易自己造了兩個(gè)輪子貌似已經(jīng)停更的 Hex 和 NEJ,網(wǎng)易云音樂客戶端是基于 NEJ 的。Electron 類的網(wǎng)頁封裝成客戶端另一個(gè)問題是源代碼很難被保護(hù)。由于 是解釋型語言,無法通過編譯來保護(hù)代碼,自身也沒有很好的代碼混淆方式,所以并不適用于需要版權(quán)保護(hù)或者純靠客戶端功能收費(fèi)的應(yīng)用。Electron 上曾有 issus 討論源代碼保護(hù)的話題,但官方的態(tài)度是 wontfix 。如果需要寫一些需要保密的代碼,可以考慮用 C++ 寫 Node module 來解決。結(jié)語、Learn once, write 這幾天查資料時(shí)而感覺 威力無窮,時(shí)而又覺得它在哪個(gè)平臺(tái)都是點(diǎn)到為止,像玩具和試驗(yàn),距離工程性還有距離。 有種鳩摩智用吐蕃內(nèi)功練少林七十二絕學(xué)的意味。或許照這個(gè)發(fā)展勢(shì)頭,以后世上只有兩種工程師, 工程師和其他工程師……這幾天調(diào)研有些倉促,如果寫的不對(duì)的地方也請(qǐng)斧正。

上述文章了解到關(guān)于拳打南山敬老院,腳踢北海幼兒園的 JavaScript?? ,讓我們對(duì)南昌javascript哪個(gè)學(xué)校 有一個(gè)直觀的認(rèn)知。我們發(fā)現(xiàn),作為一個(gè)優(yōu)秀的Java程序員是多么的自豪。

本文由 全國千鋒IT培訓(xùn) 整理發(fā)布。更多培訓(xùn)課程,學(xué)習(xí)資訊,課程優(yōu)惠,課程開班,學(xué)校地址等學(xué)校信息,可以留下你的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢電話:400-850-8622

如果本頁不是您要找的課程,您也可以百度查找一下: