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

JavaScript(React Native、Node.js等)移動、服務端通吃的全棧語言

企業動態
移動、Web和服務端使用同一種技術即可解決,盡管都需要進行開發,但技術是通用的,也就是說只要招JavaScript程序員,就可以同時解決移動、Web和服務端的問題,使用一個開發小組即可解決所有問題,也無需再招聘Java、OC、Java EE、PHP程序員了,這樣會給創業公司節省了大量的開支。

[[173757]]

作者:李寧老師

東北大學計算機專業碩士。曾任沈陽東軟股份項目經理。51CTO學院簽約講師。從事軟件研究和開發超過20年。長久以來一直從事Java、Android、iOS、C++、Swift、Objective-C以及跨平臺游戲引擎(Cocos2d-x、Unity3D等)的開發和技術指導工作。對國內外相關領域的技術、理論和實踐有很深的理解和研究。

主要著作包括《Cocos2d-x實戰游戲開發指南》(即將出版)、《Swift權威指南》、《Android深度探索 卷1和卷2》、《Android開發權威指南(第二版)》、《Android開發完全講義(第三版)》、《Android高新之路面試寶典》、《Android深度探索(卷1):HAL與驅動開發》、《Android應用開發實戰(第二版)》、《Java Web開發技術大全:JSP+Servlet+Struts+Hibernate+Spring》等暢銷書。

不管是互聯網公司,或是傳統的軟件公司,以及非IT企業,大多都需要開發各種類型的程序,包括移動App(主要是Android和iOS)、Web程序、服務端程序等。這些程序使用的開發技術都不盡相同,如Android使用Java開發,iOS使用Objective-C或Swift開發、Web程序頁面使用JavaScript、HTML5、CSS等技術,而服務端的選擇就更多了,如Java EE、PHP、Python、Ruby、Node.js等。理論上,每一類的程序需要不同的開發小組完成,如Android開發小組、iOS開發小組,服務端開發小組等。這對于大公司沒什么問題,反正錢多。不過對于大多數創業公司來說,可能是一筆不小的負擔。

為了解決這個問題,現在出現了很多跨平臺技術,包括基于HTML5的混合開發、C++跨平臺解決方案等。不過這些也僅僅是跨平臺。頂多解決了Android和iOS之間代碼***限度共享的問題(仍然有一部分無法共享的代碼需要單獨編寫),而服務端仍然要我們使用其他技術開發,如Java EE。不過自從有了Node.js以后,JavaScript就成為了服務端的開發語言,而且有了React.js,系統會將JSX代碼(在后面介紹)自動轉換Web頁面的DOM元素。這樣,JavaScript+JSX,連同Web+服務端一起搞定了,不過好像還少了點什么,對,移動端(Android和iOS),這就是本文要講的主題:React Native,下面會詳細介紹一下React Native,以及用于設計UI的JSX。

React Native是Facebook 在 React.js Conf 2015 大會上推出的一個用于開發Android和iOS App的一個框架。主要編程語言是JavaScript,UI使用JSX(一種語法類似于XML的UI描述語言)。

那么ReactNative和React.js有什么區別呢?

任何一種跨平臺框架都有兩部分:UI和邏輯。對于這兩種技術來說,UI都使用的是JSX,而邏輯都是用了JavaScript。

React Native和React.js的主要區別還是JSX。不管是React Native,還是React.js,在UI上都有一種技術:虛擬DOM(Virtual DOM)

那么什么是VirtualDOM呢?

其實JSX只是一種語法糖。Web通過DOM管理Element。而DOM的效率是很低的,為了提高DOM的效率,React.js提供了VirtualDOM,這項技術的工作是完全在內存中完成的,而且是增量修改DOM樹,所以效率非常高。

對于Web來說,實際渲染時,仍然需要DOM,所以在最終渲染是,VirtualDOM仍然要轉換成實際的DOM。而對于Android和iOS,就沒有DOM的概念的,UI完全是本地控件實現的,如Android中的TextView、EditText等。所以React Native就應運而生。如果說React.js在運行時將Virtual DOM映射成了DOM,那么React Native就是在運行時將Virtual DOM映射成Android和iOS的本地控件。

從這一點可以看出,React.js用于Web開發,而ReactNative用于開發Android和iOS App,他們都將UI抽象成了Virtual DOM,只是在實際運行時,前者將Virtual DOM映射成了DOM,后者將Virtual DOM映射成了Android和iOS的本地控件。

由于ReactNative的UI仍然使用Android和iOS的本地控件,所以在UI渲染上已經非常接近Native App了。盡管業務邏輯代碼使用JavaScript,但由于JavaScript是即時編譯的,也就是***次運行時會將JavaScript代碼編譯成二進制,所以JavaScript的運行效率比較高。因此,React Native的運行效率要比基于HTML5、CSS等技術的PhoneGap、AppCan高很多,因為這些技術直接用HTML5進行渲染,而HTML5會大量使用DOM技術,DOM在PC端的Web中也不算快,在移動端就更慢了。

總結:基于ReactNative的App在運行效率上接近Native App,而且還擁有混合開發模式的兩個優點:熱更新(無需重新編譯上傳App即可更新,而且還不用通過App Store審核)和跨平臺(降低了學習成本,使用同樣的技術開發Android和iOS App)。

OK,現在已經了解了React Native,是不是打算學一下呢!移動、Web和服務端使用同一種技術即可解決,盡管都需要進行開發,但技術是通用的,也就是說只要招JavaScript程序員,就可以同時解決移動、Web和服務端的問題,使用一個開發小組即可解決所有問題,也無需再招聘Java、OC、Java EE、PHP程序員了,這樣會給創業公司節省了大量的開支。

責任編輯:武曉燕 來源: 51CTO博客
相關推薦

2024-02-01 12:12:01

2017-09-07 12:35:39

前端JavascriptNode.js

2016-09-18 16:04:24

HTTPNode應用

2011-09-08 10:21:50

Node.js

2011-07-26 11:07:08

JavaScript

2011-11-02 09:04:15

Node.js

2023-09-08 14:12:04

2024-03-22 11:40:40

Node.jsNodeCRUD

2017-04-10 13:28:32

Node.jsJavaScript

2021-04-16 08:54:03

CMS系統redisnode服務器

2022-10-28 15:51:24

JavaScript開發Node.js

2021-05-26 09:00:00

Node.js開發模塊

2019-07-24 11:21:18

Node.jsHTMLCSS

2020-11-26 08:26:53

JS

2021-09-02 10:49:25

Node.jsPHP服務器開發

2013-11-01 09:34:56

Node.js技術

2015-03-10 10:59:18

Node.js開發指南基礎介紹

2024-05-07 08:22:48

前端開源庫github

2022-08-28 16:30:34

Node.jsDocker指令

2022-03-07 11:34:13

開源禁售
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩免费av | 日韩在线欧美 | 99精品福利视频 | 亚洲444eee在线观看 | 欧美区日韩区 | 91精品国产综合久久婷婷香蕉 | 精品在线观看入口 | 日韩亚洲一区二区 | 精品国产一二三区 | 狠狠操电影 | 91偷拍精品一区二区三区 | 水蜜桃亚洲一二三四在线 | 亚洲综合色视频在线观看 | 日韩精品一区二区三区久久 | 超碰综合 | hsck成人网 | 精品日韩一区二区 | 欧美国产日韩一区二区三区 | 国产精品黄视频 | 国产欧美一区二区三区久久人妖 | 国产成人一区二区 | 午夜播放器在线观看 | 99re热精品视频国产免费 | 九色在线视频 | 91精品一区二区三区久久久久久 | 成人精品在线观看 | 免费av手机在线观看 | 97国产精品 | 欧美不卡 | 精品一区二区视频 | 91 久久| 成人在线视频网站 | 日韩中文字幕一区二区 | 久久久久久国产一区二区三区 | 国产成人精品免费视频 | 久久国产亚洲 | 国产一区二区三区视频免费观看 | 欧美一区二区三区日韩 | av黄色在线| 亚洲成av片人久久久 | 日韩蜜桃视频 |