小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

React Native并非原生

 quasiceo 2015-04-23

React Native并非原生

當(dāng)我們就Apple的“ MVC非MVC ”討論術(shù)語泛濫問題時,F(xiàn)acebook于上個月正式開源的React Native似乎亦是如此。主張“Learn once, write everywhere”,讓開發(fā)者用JavaScript開發(fā)移動原生應(yīng)用,此景雖好,但事實并非如此。React Native 其中很大一部分利用了原生架構(gòu),卻也包含了一些非原生架構(gòu):

  • 用視圖作為drawing result,而不是drawing source;
  • 平行的組件層級結(jié)構(gòu)(component hierarchy);
  • 使用ListView,而不是UITableView;
  • 不使用UIButton創(chuàng)建按鈕;
  • 不使用響應(yīng)鏈,但是找到了相似的替代品;
  • 最后,使用JavaScript語言來編寫。

以上列出的種種多多少少體現(xiàn)了React Native的一些優(yōu)勢,但React Native本質(zhì)上并非原生。 另外,React與不久前剛發(fā)布的Components框架的基本原理跟蘋果關(guān)于MVC模式的誤解實在是不謀而合:

圖中所示:控制器(Controller)持續(xù)通過視圖(View)顯示數(shù)據(jù)并不能體現(xiàn)MVC的具體含義,除非將其理解為“Massive View Controller”。

在Components和React Native中,用View(UIView/NSView)將“實現(xiàn)UI的可變狀態(tài)”替換為“模型(單一)功能”,發(fā)揮drawRect::的作用。以后面臨的問題不再是創(chuàng)建新的完整框架,而是通過視圖顯示數(shù)據(jù)。解決方法是,將畫板上的Custom View拖到UI上,執(zhí)行drawRect::。繪制視圖(以及/或者將組件設(shè)置為視圖狀態(tài)突變)比drawRect::更凸顯狀態(tài)性,而非削弱。

再強調(diào)一下,這個解決方案還不錯,只是沒有循規(guī)蹈矩罷了。據(jù)我所知,目前熱捧React Native的主要是一些Web開發(fā)者,他們?nèi)缃駸o需學(xué)習(xí)Objective-C/Swift或Java,就能開發(fā)“原生”應(yīng)用了。不過,React Native究竟是否體驗與宣傳如一還尚未定論。

最后,“react”貌似是指“單向響應(yīng)數(shù)據(jù)流”——更讓人摸不著頭腦的行內(nèi)話,我想以后會常常遇到。

(編譯/張新慧 責(zé)編/唐小引)

文章來源: Metablog

CSDN移動將持續(xù)為您優(yōu)選移動開發(fā)的精華內(nèi)容,共同探討移動開發(fā)的技術(shù)熱點話題,涵蓋移動應(yīng)用、開發(fā)工具、移動游戲及引擎、智能硬件、物聯(lián)網(wǎng)等方方面面,如果您有想分享的技術(shù)、觀點,可通過電子郵件(tangxy#csdn.net,請把#改成@)投稿。

第一時間掌握最新移動開發(fā)相關(guān)信息和技術(shù),請關(guān)注mobilehub公眾微信號(ID: mobilehub)。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多