整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          新思域創新mini-site 技術創意完美融合

          014年6月27日,東風本田新CIVIC(思域)在廣東肇慶上市第九代中期改款車型,作為一款緊湊級家用中級車,CIVIC(思域)所面臨的市場競爭日趨激烈。為了能在新CIVIC(思域)上市前及上市時制造聲量,提升產品關注度,創意服務提供商新意互動推出微信H5互動mini-site,并配合多位一體的組合傳播,形成大范圍覆蓋和轉發,該創意形態開創了汽車品牌傳播造勢先河,憑借創意傳播和效果一舉摘得第七屆廣告主金遠獎網絡類銀獎。

          創意策略先行,創新傳播形式

          整體策略方面,新意互動采用全方位的創新傳播形式進行呈現。主要涵蓋:創新的形象化手繪風格、生動有趣的動畫效果、趣味化的內容包裝、HTML5技術手機端滑動體驗。在策略傳播方面,配合“多位一體”的傳播組合,為新思域上市預熱并提升新思域的品牌特性。

          創意方面,采用眾所周知的典故作為內容包裝,并以創新的形象化手繪風格配合生動有趣的動畫效果,趣味化呈現給用戶方可吸引眼球,并形成大范圍轉發。

          具體內容設計如下——

          第一屏:4S店經銷商形象的動畫小人,拉開卷軸,提示用戶:向上滑動,此時背景音樂響起。第二屏:出現盤古開天辟地的形象,在人們印象匯中盤古實乃能力者的代言,在動畫中出現文字:開天辟地,我能力至此,卻無緣結識CIVIC。第三屏:出現大禹治水的畫面,大禹治水三過家門而不入,實乃敬業的大無畏之人,在動畫中出現文字:治水三過家門而不入,我敬業至此,卻無緣結識CIVIC。第四屏:出現曹植七步成詩的畫面,曹植七步成詩,其才氣廣為流傳,在動畫中出現文字:七步成詩,我才情至此,卻無緣結識CIVIC。第五屏:出現劉備三顧茅廬諸葛亮的典故,劉備三顧茅廬,可見諸葛亮面子之大,在動畫中出現文字:劉備三顧茅廬,我面子至此,卻無緣結識CIVIC。第六屏:出現潘安的形象,潘安美男子的形象眾所周知,以致后人均已貌若潘安來夸贊男子的美貌。在動畫中出現文字:都說“貌若潘安”,我帥氣至此,卻無緣結識CIVIC。最后一屏:出現思域上市信息:時間及地點。因為如上故事人物均為古人,所以他們無緣結識CIVIC。

          通過如上烘托,營造出神秘而趣味的氣氛, 并表達了思域誠摯邀請用戶參加上市會的本意,古人與“活在當下”正好形成對比,也表達了思域年輕化的心態。

          技術與創意雙管齊下

          在上述策略和創意的指導下,新CIVIC上市預熱活動圍繞以下三個步驟展開:首先,利用媒體推送、網絡紅人推送、官方微信推送等“三位一體”的創新傳播組合,確保達成人群廣泛覆蓋和精準投放。

          其次,采用HTML5技術在手機端對產品信息進行完美呈現,用戶只需通過滑屏的簡單操作即可完成順暢的體驗。

          最后,通過刻畫古人現代化的活潑獨特形象,搭配名人“發自肺腑”的逗趣文字,以及前后呼應的CIVIC壓軸出場,讓內容充滿趣味性,充分調動用戶自主轉發積極性。

          經過上述活動和傳播執行,本次CIVIC(思域)在手機端建立的mini-site實現了1,117,428人群覆蓋數, 瀏覽量為327,653次, 分享量高達78,055次。

          本次傳播活動亮點有以下三個方面:

          第一,新傳播:通過點對點的推送給參加上市會的媒體,確保全部精準有效。配合選擇微信大號合作,大號選擇基于汽車類專業訂閱號,粉絲量大且專注于汽車,確保投放的精準性和廣覆蓋;并以官方微信推送的形式進行推廣,這種三位一體的傳播組合,確保達成人群廣泛覆蓋和精準投放;

          第二,新形式:利用「手機MINISITE」創新的溝通形式(此形式在6月份前尚未被廣泛應用),提供最便捷、豐富的用戶體驗。提供用戶便捷順暢的互動體驗、生動有趣的動畫效果,并搭配完美貼合的聲效,提供用戶簡便的操作,豐富的體驗;

          第三,新內容“網絡化趣味包裝”傳播內容,迎合目標人群興趣點,形成社會化擴散效應。通過刻畫古人現代化的活潑獨特形象,搭配名人“發自肺腑”的逗趣文字,以及前后呼應的CIVIC壓軸出場,讓內容充滿趣味性,充分調動用戶自主轉發積極性。

          此輪mini-site互動傳播不僅是對業界傳播手段的創新,其傳播內容也廣受好評,在傳播周期內形成大范圍自主轉發性的擴散效應,為新CIVIC(思域)上市營造了關注度,在傳播廣度、傳播有效性、傳播性價比上均獲得理想效果。

          【關于新意互動】

          成立于2003年1月,是美國紐約交易所上市公司易車集團的全資子公司,擁有員工近500人。憑借10余年豐富的網絡營銷全案代理經驗,已成功為50余家企業提供過極具創意的數字整合營銷服務。

          始終專注汽車行業,使新意互動成為國內最大的汽車行業數字營銷解決方案提供商,并擁有互聯網廣告、互聯網公關、受眾營銷、搜索引擎營銷、社會化媒體營銷、移動營銷、網站建設與維護、客戶關系營銷、視頻營銷、電商、輿情監測系統、虛擬影像及體驗等十二大業務模塊。

          此外,新意互動還贏得了眾多客戶的信任及廣告營銷行業多項專業獎項與榮譽。2015年憑借汽車數字營銷領域10余年的專注,榮獲“”自2012年起,新意互動連續3年榮膺“中國網絡廣告公司綜合服務排名”第二名,是大數據時代不可或缺的優質“智慧汽車營銷價值伙伴”。

          軟件要分發給使用不同語言和處于不同地區的人員,需要從多個方面處理從而使這些人能以自己文化背景下熟知的方式來使用。這包括了最基本的文本的翻譯,也有一些通用習俗和約定的問題(如不同國家和地區的日期時間的表示等)。而本地化(L10N)和國際化(I18N)就是專門來解決這些問題的。

          要很好的解決這一問題,往往需要多方面的人員參與,既有軟件設計者,有程序開發人員,也需要翻譯人員甚至翻譯測試人員,而要把這些人組織起來完成工作,需要的不是只面向一兩方的 API 和代碼,良好的本地化團隊往往需要面面俱到。

          傳統的解決方案

          最知名的解決這些問題的一套系統,是 GNU Gettext。這是一套上世紀九十年提出的用以解決自由軟件的國際化和本地化問題的工具套件。在 gettext 里,制定了翻譯文本的組織方式(po/pot),提供了從程序源碼提取字符串并生成翻譯模板的工具(xgettext)。在這些之外,gettext 和其社區也發展出了面向翻譯人員的翻譯內容管理系統(Weblate),以及有用于完成翻譯工作的專門軟件(Poedit)。Gettext 也提供 DIff/Merge 工具來解決翻譯內容的漸進式更新的需求。

          游戲具有其特殊性

          游戲作為最特殊的軟件之一,對于本地化和國際化也有著屬于它的苛刻要求:

          • 游戲往往會引入其他類型的需要多語言處理的資源而非只是文本,比如圖片,語音,乃至口型文件。

          • 因為上一條的緣故,導致游戲本地化團隊往往會引入更多不同工種的人員,從而增加了人員管理和協調的負擔。

          傳統方案在游戲開發上的擱淺

          GNU Gettext 天生不適合游戲開發中的多語言問題,它只處理文本資源,原版的 gettext 甚至只能從源碼中收集多語言數據,這顯然只適合普通軟件的需求,卻很難滿足游戲開發的需要。

          對于游戲而言,只有處于 UI 界面里的數據,會比較切近 Gettext 的需求場景,然而在很多成熟引擎下,這些數據也往往位于特定的 UI 聲明文件內(在 Unity 里這些數據處于 scene/prefab文件中)而不是源代碼中。至于占游戲內比重更大的其他需要多語言的數據,更是會分散在各種特定格式的數據之中。在 Unity 下,關卡數據可能存放在 prefab 中,角色/物品這類的設定性的文檔數據可能處于ScriptableObject,甚至這些數據都保存在別的序列化文件內(諸如最常見的csv/xls或者xml/json,再或者自定義的二進制數據文件)。

          一點牢騷

          誠然,游戲的多語言問題在如今看起來似乎并不算多么麻煩的事情,即使是考慮多語言輸入的問題等,在游戲編程精粹系列中,很早就有論證這些問題的文章[1]。而如今面臨的問題似乎同前輩們沒什么兩樣。相比游戲開發中的其他領域(尤其是圖形學),這個話題好像沒什么可談的。即使我在文章開頭的前幾段論述了這個問題多么棘手,但貌似現成的解決方案存在著一大堆。而在之前,我在一個游戲開發的群里提到這個話題時,被人指出是在浪費時間,對方建議我應該多研究研究圖像學之類的如何讓游戲畫面看起來漂亮的技術或者去鉆研鉆研游戲敘事來讓游戲內容變得好玩。:-)

          但事實真的如此了嗎?

          從 key-value 表到 I2 Localization

          實現一個簡單的多語言系統是十分容易。一個最小可用的多語言系統大體需要如下的部分:

          • 字典表,記錄了所有需要多語言處理的字符串,key 往往是對應內容的英文,而 value 則是對應語言的翻譯內容。這些內容在文件系統里通常以 json/csv/xml這樣的形式存在。

          • 一個形似 Localization.Get(key, lang)的函數,用來在 Runtime 返回指定 key 和語言所對應的翻譯內容

          • 一套加載機制,用來在對應語言環境下加載對應的多語言文件

          • 一套通知機制,使得系統能得知語言被切換過。這個系統往往是通過訂閱對應的事件來完成通知。

          實現這些東西的代碼花費不了幾個小時就能完成。然而仔細思考就會發現要拿這套系統來用的舒爽,就十分的困難了。

          一些待解決的問題:

          • 字體

          • 缺乏對其他多媒體資源的支持

          • 少數語言對文字排版的需求

          • 翻譯人員對接

          就字體問題而言,對于歐美不少語言,一個字體文件往往很容易就能解決大部分語言的字體問題,但是一旦遇到中日韓,就會變的十分頭疼。所幸很多系統和引擎都提供字體的 fallback 機制,只要合理利用這套機制,使得字體問題也能輕松得以解決。再或者干脆再弄個字體文件的字典表,替換文本的同時也替換對應的字體。

          其他媒體資源的支持問題,在別的本地化系統里出場率遠遠低于游戲。這是因為游戲里很容易產生那些需要多語言處理的多媒體資源。一個藝術字標題或者一個圖片按鈕,亦或是人物對話的配音。不過我們照貓畫虎,按照如何處理文本,也同樣來處理多媒體資源就行。這里比較棘手的問題是,相比文本這種往往一個語言的所有多語言資源都塞到一個文件內就能解決,多媒體資源在文件系統方面就會變得十分復雜。而一旦這些問題和引擎的資源打包系統耦合在一起,要設計出一套好用又節省內存的方案并不簡單。

          少數語言文字排版需求通常是指阿拉伯文字這種特有的從右往左排版的情況。相關資料十分豐富,我也不再贅述。不過要注意的是如果涉及到多語言混排,基本很難做對。如果需要相關信息, W3C i18n 小組下的內容對此會十分有幫助[2]。

          和翻譯人員對接部分,目前來看,業界主要以通過翻譯外包的形式將本地化任務托管給其他公司。這些公司往往要求提供 key-value 形式的多語言數據文件(如 xml/csv/xls)給他們。如果你在第一步的時候就已經決定用這樣的方式來組織你的多語言文本,正好可以一勞永逸。但第一步選擇了別的方案可能就需要提供導入導出功能。

          Unity 下有現成的處理好這些問題的框架嗎?當然,小節標題后邊的部分說的就是它 —— I2 Localization,Unity 資源商店里頂頂有名的國際化插件。

          關于它的介紹我不打算多花筆墨,讀者可以直接閱讀它的文檔來一窺究竟。I2 Localization 基本上很好的解決了上邊提到的問題。而且他還有不少十分有用的特性。

          如果你覺得你的問題已經解決了,那么你可以停止閱讀趕緊去購買插件/自己實現類似系統了。但是,假如你仍然抱有困惑,或者好奇多語言系統還有哪些問題和改進的地方,那么我將在下邊兩個小節內盡力給你一個滿意的答案。

          Rosetta - 關于本地化問題的反思和實現

          雖然上一節提到的 I2 Localization 十分優秀,但是依然有不少問題有待解決:

          1. key-value 形式的多語言系統天然違反游戲開發的流程和直覺

          2. 繁雜而未經設計的翻譯文本組織文件進一步導致了功能上的缺失和解決這一問題的困難

          3. 對于漸進式開發和需更新維護的游戲缺乏合適的 Merge 機制

          4. 和翻譯人員對接的部分過于的粗暴反而埋下多語言問題的禍根

          在 key-value 模式下,你需要為每一個多語言文本分配一個 key,這個 key 往往是一個英文單詞或者短語。這對于通常的軟件來說十分夠用。本來大部分需要多語言處理的文本都是按鈕上的文本或者窗體的標題。但是對于游戲來說,這類的數據占比十分低,而更多的多語言文本是游戲內各種物品技能裝備等的說明和關卡里的人物對白。這些文字全都篇幅不短。如果你的游戲內有書籍系統,那么更是意味著對應的是一篇短文。這時候為這些數量眾多的大段文字去分配一個個不會沖突的 key 是十分頭痛而又麻煩的。可能最后這些 key 變成了一個個奇怪的縮寫標記(比如一個 l10e2s2這樣的神秘字符串代表著關卡十中第二個事件上的第二段對話)。而開發人員在瀏覽游戲工程文件時,看著充滿神秘字符串的界面,還要去回頭查找對應的是什么文本。

          你可能會說,既然如此我干脆用需要翻譯的文本本身來作為 key 好了。噔噔噔!恭喜你,想出了幾十年前那些自由軟件黑客們就已經構思并實現了的點子—— GNU Gettext。GNU Gettext 的一大特點就是用文本本身做為 key。整個軟件選取一個開發語言,開發時所有的文本均按該語言撰寫。然后這些文本數據通過特定的標記(往往是通過 Gettext 的獲取多語言文本的函數),在軟件編寫完成后,通過特定的程序掃描整個軟件的代碼,從中將這些被標記的靜態文本挨個收集起來。

          除此之外,GNU Gettext 所定義的用于組織多語言文本的特定文件格式 po/potpo文件用來組織翻譯文本,而pot文件則是翻譯文本模板文件),也解決了上邊的問題二。相比大部分情況下使用某種現成的序列化文本格式來組織多語言文本,po/pot文件考慮了更多多語言工作中需要解決的問題,比如pot文件里支持針對單個文本片段的多種形式的注釋:

          1). #后緊接著空格符的注釋內容,是翻譯者添加的注釋;
          2). #后緊接著.的注釋內容,是 xgettext 從源代碼中提取出的注釋內容(通過 xgettext --add-comments 選項);
          3). #后緊接著:的注釋是待翻譯語句在源代碼中的位置信息;
          4). #后緊接著,的注釋是 msgfmt 程序專用的 flag;
          5). #后緊接著|的注釋是這條待翻譯語句之前的相關翻譯信息;

          而大部分使用通用序列化文本格式的本地化系統,基本不會去考慮這些情況。更何況這些部分還需要各種軟件和工具的支持,而繁雜的翻譯文本組織方式更是讓想支持這些也變得困難,除此之外,對于問題三,大部分使用通用的序列化文本格式的系統也幾乎不曾考慮,而 po/pot 文件很早就開始考慮這些問題并提供支持。GNU Gettext 作為一個存在幾十年的系統,期間積攢了數量眾多的處理這些問題的工具和軟件。

          問題四要指出的是,目前的外包形式的解決辦法,游戲開發商難以較為積極的參與到多語言工作中,其次對于游戲來說往往存在著大量需要多語言處理的多媒體資源,這些資源通常還涉及到美術和配音人員。最后的結果就是要么把這些也一同丟給本地化外包公司,要么就組織兩套系統然后花費額外精力來維護兩個系統間的周轉。其次完全交給外包公司也讓游戲本地化工作問題的反饋難以及時跟進(實際上大部分游戲根本不會提供多語言測試版或者雇傭多語言測試人員)。這一結果使得游戲開發和多語言工作過分割裂,最后很容易產生各種翻譯問題并很難解決(比如被游戲視頻 UP 主神奇陸夫人常常念叨的 Artifex 公司作品的翻譯迫擊炮問題)。

          我個人認為解決這一問題的辦法是游戲開發公司應該把多語言工作的主動性掌握在自己手里,通過自己部署翻譯管理系統,將多語言工作涉及到的人員全部聚集在一起。同時游戲應該提供多語言測試工具并提供多語言測試版本,然后讓多語言測試人員(可以是公司招聘的人員,也可以是通過發布測試版來讓對應語言的玩家充當)將多語言問題通過這個系統提交到翻譯內容管理系統上。在這一體制下,翻譯人員不再是外包給翻譯公司,由公司內部分配然后運作在其內部系統上,而是翻譯公司外派人員在游戲開發公司的系統上來工作。這樣一來無論是監管還是進度追蹤抑或是翻譯問題的追蹤和處理都會變得簡單而透明。同時也可以將配音和美術人員也統一在這一框架下。而且如果是大公司的話,這里邊的翻譯工作人員也可以是公司自己內部的員工。當然,這些構思只是出于一個技術人員在軟件開發角度的考量。可能涉及到商業和管理方面的問題并不一定會達成(比如翻譯公司拒絕外派人員而堅持使用自己的內部系統)。另外不少獨立游戲公司的本地化工作都是通過 Mod 系統然后讓對應語言的玩家社區來完成。如果有這樣的工具來提供給玩家社區也是很不錯的。

          從上邊討論可知, GNU Gettext 的解決方法優于 key-value 方案,并且 gettext 還有配套的開源的翻譯內容管理系統(比如 Weblate),這意味著問題四也可以方便的解決。

          然而原本的 GNU Gettext 并不十分符合游戲開發。比如游戲的多語言數據基本上不會存在于源代碼中。其次游戲存在眾多的需要多語言處理的多媒體資源,而那些配合 gettext 的 TMS 往往只支持文本內容的處理,前略里已經完整的講過這個問題了。如此一來,直接把 GNU Gettext 搬過來只會水土不服。我們需要一個適用于 Unity 和游戲開發的使用和 GNU Gettext 類似理念的全新的本地化框架。

          簡單來說,我們需要:

          1. 設計良好的組織多語言數據的文件格式

          2. 通過簡單標記就可以自動化收集多語言資源的工具

          3. 一個運行時的加載這些多語言數據文件,并在恰當的時機將資源替換成對應語言的內容的系統

          4. 對翻譯人員提供符合他們工作習慣的工具來完成翻譯工作

          這一想法最后誕生的結果就是 Rosetta。

          Rosetta 采取了和 GNU Gettext 相同的組織翻譯文本的方式。這意味著我們可以在文本資源上充分利用 GNU Gettext 現成的工具鏈。除此之外還處理了多媒體資源的多語言問題。

          而在問題二上 Rosetta 充分利用了 C# 的 attribute 和 reference 這兩個語言特性,通過 i18nAttribute 來標記需要多語言處理的資源,然后通過反射來搜集這些數據并生成對應的多語言模板文件。

          對于問題四 來說,Rosetta 暫時只能依托于 GNU Gettext 現有的工具來解決。目前我正計劃在 Rosetta 1.0.0 版本的時候,提供一個和 Rosetta 搭配的適用于游戲開發的翻譯內容管理系統:RosettaServer。

          只有這些了嗎

          在游戲本地化問題上,是否還有其他前瞻性的東西,我想很多人和我一樣好奇。而思考這些問題則花去了我十分多的時間(實際上這些問題在一年多以前就以各種片段的形式存在于我腦海而直到最近 Rosetta 的第一個可運行版本完成開發,我才開始著筆寫下這篇文章)。有幸于我對小眾游戲的關注和經常看到好玩的但沒有中文的游戲/軟件會動漢化他的念頭的緣故。我得以見到很多游戲提供的翻譯系統,也接觸到了一些處于這個領域十分前沿的問題。

          AVG.js 和 huozi.js

          AVG.js 是我的一位朋友 Icemic 在 HTML5 平臺上實現的 galgame 開發套件。這套工具里最讓我印象深刻的是專為游戲內中日韓文字排版而實現的排版引擎 huozi.js。

          實際上游戲開發對文本顯示的要求僅僅處于能看這一階段。而去思考并實現對應語言的規范排版需求的系統的情況基本不存在。雖然 W3C 的 i18n 小組一直在做這方面的工作(huozi.js 的開發也有參考他們的中文排版需求),但是游戲行業對這些毫無興趣。這一方面是因為這個問題本身十分復雜且和多個系統耦合(排版系統和 I18N),另一方面游戲內往往并不會出現大篇幅的密集文本。然而隨著游戲的發展,我相信以后不少游戲都會遇到類似的需求(如上古卷軸5 里的書籍系統)。

          Wayward : 從語義到語法

          大部分情況下,我們漢化一段文本的時候,只是在理解它的語義,然后用另一種語言來表達它。但在一些特殊情況下,翻譯工作會涉及到把一門語言的語法翻譯到另一門語言上的問題。

          最簡單的情況是單復數的處理。在中文中單復數很少會導致一個名詞發生變化,然而在英語等語言里,單復數往往會導致名詞發生變動,而在一些語言里甚至一個兩個三個和復數個都對應著不同的形式(在 I2 Localization 里有處理這個情況,并且支持最多為七的情況)。

          然而名詞的單復數只是這個問題下最簡單的一種情況。在 Wayward 中,翻譯需要處理更為復雜的語法問題,除了名詞單復數外,還有代詞和介詞等。整個游戲翻譯模板里有一個很復雜的表格來表述這種轉換:

          之所以會存在這種情況是因為,Wayward 是一個 RougeLike 類游戲,而游戲內有不少文本來自程序生成。在這時候就自然而然的涉及到語法的問題。翻譯工作也不僅僅是翻譯語義,而要考慮對應語言的語法。

          而可以遇見的未來是,由于過程生成技術在游戲里越來越廣泛的使用,游戲文本的過程生成也必然會越來越盛行。以后涉及到語法的本地化工作的情況也會越來越常見。

          配音和口型生成

          幾乎所有的 3A 游戲都提供配音,而這時候又涉及到 3D 游戲使用對應語言的配音時人物模型口型的問題。很早以前游戲可能會考慮采取捕捉或者人工調整來生成口型數據,而如今更多的是使用算法通過文本來生成對應的口型數據。這樣一來又引入了一種全新的需要多語言處理的數據。

          結語

          以上提到的諸多問題,很多都處于多個領域交叉的情況,甚至你很難界定某些具體問題屬于那個領域。但是你要完成一個游戲的多語言工作,往往必然會遇到他們。

          另一方面,從最早的普通軟件到如今的 3A 游戲,隨著游戲技術不停的發展,也會引入越來越多的問題。最早我們可能只需要翻譯文本,之后引入了圖像文件,再后來游戲配音又引入新的問題(配音和口型)。而可以預見的未來是,隨著過程生成技術流行,很多傳統的對多語言資源的處理也會面臨著翻譯內容變為翻譯規則。而只要游戲技術不停的發展,游戲本地化工作也會出現新的待解決的問題,這是本地化和國際化做為一個同游戲內多個方面耦合的系統的必然結局。

          參考

          1. 游戲編程精粹3 - 1.12 1.13

          2. 《阿拉伯文字文本布局需求》- w3c 國際化興趣組 阿拉伯文布局特別任務組

          * 本文源自作者的知乎專欄投稿。

          于React生態系統的一系列令人敬畏的事情。

          React

          • React一般資源
          • React社區
          • React在線游樂場
          • React教程
          • React通用教程
          • React鉤子
          • React和TypeScript
          • React性能
          • React內部
          • React面試問題
          • React工具
          • React開發工具
          • React框架
          • React造型
          • React路由
          • React組件庫
          • React真棒組件
          • 對命令行做出React
          • React測試
          • React庫
          • React整合
          • 形式
          • 自動完成
          • 圖像
          • 模型庫
          • 數據管理
          • 地圖
          • 圖表
          • React原生
          • React本機常規資源
          • React原生社區
          • React原生教程
          • React原生開發工具
          • React原生樣本應用程序
          • React Native Boilerplates
          • React Native Awesome Components
          • ReactAR / VR
          • ReasonReact
          • Flux
          • Flux一般資源
          • Flux實現
          • Flux教程
          • Redux
          • Redux通用資源
          • Redux工具
          • Redux教程
          • MobX
          • MobX通用資源
          • MobX工具
          • MobX教程
          • GraphQL
          • GraphQL規范
          • GraphQL工具
          • GraphQL教程
          • GraphQL實現
          • 服務器集成
          • 數據庫集成
          • Relay
          • 中繼一般資源
          • 中繼教程
          • 中繼工具
          • Apollo
          • Apollo綜合資源
          • 影片
          • 重要會談
          • React.js Conf 2015播放列表
          • ReactEurope Conf 2015第1天播放列表
          • ReactEurope Conf 2015第2天播放列表
          • ReactRally Conf 2015播放列表
          • React.js Conf 2016播放列表
          • ReactRally Conf 2016播放列表
          • React.js Amsterdam 2018播放列表
          • 視頻教程
          • 演示
          • 示例應用
          • 真正的應用
          • 貢獻

          React

          用于構建用戶界面的JavaScript庫
          

          React教程

          React通用教程

          • React官方教程
          • 在Visual Studio代碼中使用React
          • Scrimba - 以交互方式免費學習React
          • FreeCodeCampReact挑戰
          • ReactCheatsheet
          • React模式
          • 使用React設置流程

          React鉤子

          • React鉤子
          • 用React Hooks和Context替換Redux
          • React Hooks備忘單:解鎖常見問題的解決方案
          • 如何使用React Hooks獲取數據?
          • 易于理解React Hook食譜
          • 令人敬畏的React Hooks

          React和TypeScript

          • TypeScript,React和Webpack
          • TypeScript中的JSX

          React性能

          • React優化性能
          • 介紹React Profiler
          • 優化React:虛擬DOM解釋
          • React中優化主要性能問題的權威指南
          • Twitter Lite和高性能Retive漸進式Web應用程序
          • 使用React DevTools Profiler診斷React App性能問題
          • 提高React性能的五大實踐
          • React很慢,React很快:在實踐中優化應用程序
          • 使用react-window渲染大型列表

          React內部

          • Reconciliation
          • React Fiber Architecture
          • Build your own React
          • Inside Fiber: In-depth overview of the new reconciliation algorithm in React

          React面試問題

          • 13個基本的React面試問題
          • React面試問題和答案列表

          React工具

          React開發工具

          • create-react-app - 通過運行一個命令來設置現代Web應用程序
          • react-starter-kit - 同構Web應用程序樣板
          • react-devtools - 檢查Chrome和Firefox開發人員工具中的React組件層次結構
          • react-hot-loader - 實時調整React組件
          • react-loadable - 用于加載具有promise的組件的更高階組件
          • loadable-components - 簡化了React代碼拆分
          • reactotron - 用于檢查React和React Native項目的桌面應用程序
          • storybook - UI組件開發和測試
          • react-styleguidist - 隔離的React組件開發環境,帶有生活方式指南
          • react-cosmos - 用于創建可重用React組件的開發工具
          • eslint-plugin-react - 為ESLint實現特定的linting規則
          • eslint-plugin-jsx-a11y - 針對JSX元素的a11y規則的靜態AST檢查器
          • react-axr - React應用程序的可訪問性審計

          React框架

          • next.js - React框架
          • gatsby.js - 基于React的免費開源框架

          React風格

          • styled-components - 組件年齡的可視原語
          • emotion - 用于使用JavaScript編寫CSS樣式的庫
          • radium - 用于React組件樣式的工具鏈
          • jss - CSS的創作工具

          React路由

          • react-router - React的聲明性路由
          • navi - React的聲明性異步路由
          • curi - 用于單頁面應用程序的JavaScript路由器

          React組件庫

          • material-ui - React組件,可以更快,更輕松地進行Web開發
          • ant-design - 具有自然和確定性價值的設計系統
          • blueprint - 基于React的Web工具包
          • office-ui-fabric-react - 用于構建Microsoft Web體驗的React組件
          • react-bootstrap - 使用React構建的Bootstrap組件
          • reactstrap - 簡單的React Bootstrap 4組件
          • semantic-ui-react - 官方的Semantic-UI-React集成
          • react-fontawesome - 用于React的Font Awesome 5組件庫
          • Reakit - React的可訪問,可組合和可自定義的組件

          React很棒的組件

          • Awesome的React Components列表
          • react-select - 選擇React組件
          • react-dnd - 拖放React
          • react-grid-layout - 具有響應斷點的可拖動和可調整大小的網格布局
          • react-table - React的輕量級,快速且可擴展的數據網格
          • react-data-grid - 使用React構建的類似Excel的網格組件
          • react-draggable - React draggable組件
          • react-resizable-and-movable - React的可調整大小和可拖動的組件
          • react-resizable - 一個簡單的React組件,可以使用句柄調整大小
          • react-resizable-box - React的可調整大小的組件
          • react-sortable-pane - React的可排序和可調整大小的窗格組件
          • react-dates - 一個易于國際化,適合移動設備的網絡日期選擇器庫
          • react-big-calendar - 日歷組件
          • react-datepicker - ReactJS Datepicker
          • react-list - 一個多功能的無限卷軸React組件
          • react-intl - 國際化React應用程序
          • react-i18next - React的國際化做得對
          • react-aria-modal - 一個完全可訪問的React模態
          • react-hotkeys - React的聲明性熱鍵和焦點區域管理
          • react-keydown - React組件的輕量級keydown包裝器
          • react-joyride - 為您的應用創建導游
          • react-virtualized - 用于有效渲染大型列表和表格數據的React組件
          • react-window - 用于有效渲染大型列表和表格數據的React組件
          • react-text-mask - React的輸入掩碼
          • react-loading-skeleton - 創建自動適應您的應用程序的骨架屏幕
          • react-spinkit - 使用CSS為React設置動畫的加載指示符集合
          • rheostat - 使用React構建的可訪問滑塊組件
          • qrcode.react - 用于React的QR組件

          做出React 命令行

          • ink - 對交互式命令行應用程序進行React
          • react-blessed - 用于祝福終端接口庫的React渲染器

          React測試

          • jest - 令人愉快的JavaScript測試框架
          • enzyme - 針對React的JavaScript測試實用程序
          • react-testing-library - 簡單而完整的React DOM測試實用程序
          • react-hooks-testing-library - React掛鉤測試實用程序,鼓勵良好的測試實踐

          React庫

          • react-border-wrapper - 用于在React中沿div邊界放置元素的包裝器。
          • react-magic - 利用React的強大功能自動AJAXify純HTML
          • react-toolbox - 一組實現Google Material Design規范的React組件
          • tcomb-react - 允許您檢查React組件的所有道具的庫
          • react-responsive - 媒體查詢響應響應式設計
          • react-is-responsive - 一種在React中創建響應組件的實用程序
          • react-cursor - 用于Facebook React的功能狀態管理抽象
          • Omniscient.js - 抽象React組件,用于快速自上而下渲染不可變數據
          • Touchstonejs - React.js支持的UI框架,用于開發漂亮的混合移動應用程序。
          • Elemental - React.js網站和應用程序的UI工具包
          • StateTrooper - 使用CSP集中管理React應用程序的狀態
          • Preact:使用相同的ES6 API快速3kb React替代方案。
          • riotjs - 一個類似React的3.5KB用戶界面庫
          • Maple.js - 將Web組件的概念引入React
          • react-i13n - 一種高性能,可擴展且可插拔的方法,用于檢測React應用程序
          • react-icons - svgReact流行圖標包的圖標
          • Keo - Plain用于創建React組件的功能更強大的Deku方法,具有管道,memoize等功能性好處......
          • Bit - 用于跨應用程序管理和使用React和其他Web組件的虛擬存儲庫
          • AtlasKit - Atlassian的React UI庫
          • ReactiveSearch - Elasticsearch的UI組件庫
          • Slate - 用于構建富文本編輯器的完全可自定義的框架。
          • react-animated-transitions - React中的簡單動畫過渡
          • react-json-schema - 通過將JSON定義映射到您公開的React組件,構造來自JSON的React元素。
          • compose-state - 在React中編寫多個setState或getDerivedStateFromProps更新程序
          • react-with-analytics - 輕松實現Google Analytics for React應用程序
          • react-cache-me-outside - React應用程序的OTA數據更新。如何弓數據!
          • PrimeReact - React最完整的UI框架!
          • react-lodash - Lodash作為React組件
          • react-helmet - React的文檔主管
          • Stator - 簡單,簡單的JavaScript狀態管理,內置支持React
          • ClearX - 快速,輕松的React狀態管理,零學習曲線。 ClearX為您的React應用程序分離關注點提供了極大的靈活性
          • react-snap - 針對SPA的零配置框架無關的靜態預渲染
          • Draft.js - 用于構建文本編輯器的React框架
          • refract - 利用React式編程的強大功能為組件增壓
          • react-desktop - 使用React構建的OS X和Windows UI組件
          • Reapop - React和Redux通知系統
          • react-extras - 使用React的有用組件和實用程序
          • react-instantsearch - Algolia快速搜索React和React Native應用程序
          • uppy - Web瀏覽器的下一個開源文件上傳器
          • react-motion - 解決動畫問題的彈簧
          • react-esi - React Edge Side包含

          React整合

          • React Rails
          • ReactJS.NET
          • React ASP.NET Boilerplate
          • React Bootstrap組件游樂場
          • om - ClojureScript接口
          • quiescent - React上的輕量級ClojureScript抽象
          • Reagent - React.js的簡約ClojureScript接口
          • react-haskell - Haskell的React綁定
          • Express React views
          • Express Coffee-React視圖 - 在服務器上呈現咖啡React
          • React頁面中間件
          • ngReact - Angular中的React組件
          • ReactLaravel
          • coffee-react-transform - 為Coffeescript提供React JSX支持
          • sprockets-coffee-react - CJSX的鏈輪預處理器
          • react-kup - 一個簡單的,非侵入性的替代jsx的coffeescript
          • turbo-react - 結合Turbolinks和React來應用DOM差異
          • react-bacon - 使用React和Bacon.js的一個小模塊
          • msx - React的JSX Transformer,調整為向Mithril輸出調用
          • React.withBackbone - React 16 ready骨干綁定
          • Backbone React Component
          • react-backbone - 用于React的Backbone-aware mixins
          • NestedReact - 與Backbone Views和NestedTypes模型的透明集成
          • backbone-reaction - React,Backbone然后一些
          • react.backbone - React插件使Backbone遷移更容易
          • reactbone - Backbone的React擴展
          • backbone-react-ui - 用于骨干和骨干分離器的React組件
          • react-events - React組件的聲明性托管事件綁定
          • react-mixin-manager - React mixin注冊管理器
          • gsap-react-plugin - 用于補間React.js組件狀態的GSAP插件
          • @plaxdan的react-topcoat - 使用React庫構建的Topcoat CSS組件
          • @arnemart的React面漆 - 面漆的React成分集合
          • reactdown - 使用markdown語法編寫React組件
          • react-jade - 編譯Jade以ReactJavaScript
          • jade-react - 將Jade模板編譯為React.DOM表達式
          • gulp-jade-react - 將Jade模板編譯成React脫糖JSX和Gulp
          • sbt-reactjs - 使用npmReactSBT插件
          • scalajs-react - Scala.js和Facebook的React之間的內疚
          • react-xtags - 使用React實現xtags
          • jreact - 在服務器端Java上React(使用Rhino或Nashorn)
          • React.hiccup - 用sweet.js編寫的JSX的完全替代品
          • react-play - 使用JDK8的Nashorn渲染Play框架中的React組件
          • rx-react - 在RxJS中與React一起使用的實用程序
          • react-with-di - 一個被反射的React.js原型
          • reactfire - ReactJS mixin,可輕松實現Firebase集成
          • firedux - ReactJS的Firebase + Redux
          • react-clickdrag-mixin - ClickDrag mixin for React組件
          • Rewrite the Admin UI of KeystoneJS in React
          • react-masonry-mixin - 用于砌體的獨立混合物(@desandro)
          • react-packery-mixin - 獨立混合用于Packery(Metafizzy)
          • react-dropzone - 帶有React.js的簡單HTML5拖放區域。
          • aframe-react - A-Frame VR + React
          • react-three - 使用three.js創建和控制3D場景的React綁定
          • react-three-renderer - 使用React渲染到three.js畫布中
          • react-threejs - React和Three.js之間最簡單的綁定
          • react-masonry-css - 由CSS驅動的快速砌體布局,無依賴性
          • react-captcha - 針對Google的react.js reCAPTCHA
          • reaptcha - 用于Google reCAPTCHA的干凈,現代且簡單的React包裝器
          • react-recaptcha-that-works - React的reCAPTCHA橋

          Form

          • React Forms
          • react-formal - 為React提供更好的表單驗證和價值管理,提供最少的布線
          • react-forms - React的表單庫
          • valuelink - 具有擴展React鏈接的全功能雙向數據綁定
          • wingspan-forms - Facebook React的動態表單庫
          • newforms - React的同構形式處理
          • formjs - Reactjs的表單生成器
          • react-form-b??uilder - React.js的表單生成器
          • plexus-form - 使用JSON-Schema進行React的動態表單組件
          • tcomb-form - 用于開發表單編寫較少代碼的UI庫
          • formsy-react - React JS的表單輸入構建器和驗證器
          • Learn Raw React: Ridiculously Simple Forms
          • Winterfell - 在React中生成復雜,經過驗證和擴展的基于JSON的表單
          • Redux-Autoform - 從元數據中動態創建Redux-Forms
          • uniforms - 一堆React組件和幫助器,可以輕松生成和驗證表單
          • formik - React中的表單,沒有眼淚
          • NeoForm - 用于表單狀態管理和驗證的模塊化HOC
          • react-jsonschema-form - 用于從JSON Schema構建Web表單的React組件
          • List View Select - 具有本機組件的React Native的Toggleable選擇框
          • Final Form
          • formland - 一個簡單,超靈活,可擴展的基于配置的表單生成器
          • React - React形式 - React中的角狀React形式
          • unform - ReactJS表單庫,用于創建不受控制的表單結構,包含嵌套字段,驗證等等!

          自動完成

          • @rackt的React自動完成 - 符合WAI-ARIA的React自動完成功能
          • react @ autosuggest由@moroshko提供 - 符合WAI-ARIA標準的React autosuggest組件
          • @ eliseumds的React自動完成 - 只需品嘗一些ReactJS + RxJS
          • @prometheusresearch的react-autocomplete - 基于React的自動完成小部件
          • instaleype by @gragland - 簡單React自動完成組件
          • downshift - 構建簡單,靈活,符合WAI-ARIA標準的增強型輸入React組件的原語
          • React Bootstrap Typeahead - 基于React的typeahead,依賴于Bootstrap進行樣式化,最初受到Twitter的typeahead.js的啟發。

          Graphics

          • react-art - 反映ART繪圖庫的橋梁
          • react-canvas - React組件的高性能渲染
          • react-famous - 使用Famo.us以60 FPS的復雜3D動畫UI
          • react-kinetic - HTML5 Canvas通過KineticJS使用React
          • react-svg-morph - 將你的svg組件變為另一個
          • react-hooks-svgdrawing - 使用React鉤子繪制SVG

          模型庫

          • mori - ClojureScript的持久數據結構和支持API
          • NestedTypes - 具有“純渲染”支持的快速可變模型
          • swarm - JavaScript復制模型(MVC的M)庫
          • caplet - JavaScript模型庫

          數據管理

          • Immutable.js - Javascript的不可變數據集合
          • cortex - 用于使用React集中管理數據的JavaScript庫
          • avers - 一個現代客戶端模型抽象庫
          • imvvm - React的不可變模型 - 視圖 - 視圖模型
          • morearty.js - 在純JavaScript中更好地管理React
          • valuable - React的不可變數據存儲
          • react-resolver - 用于React組件的遞歸延遲加載數據的同構庫
          • freezer-js - React的輕量級和React式不可變數據結構
          • MobX - 簡單,可擴展的狀態管理
          • Qaf - 作為商店的組件。基于上下文的React的簡單狀態管理
          • baobab - 帶有游標的JavaScript持久性和可選的不可變數據樹
          • baobab-react - 為Baobab進行React整合
          • datascript - ClojureScript中的不可變數據庫和Datalog查詢引擎
          • immstruct - 不可變數據結構,具有基于組件的庫(如React)中從上到下屬性的歷史記錄
          • seamless-immutable - JavaScript的不可變數據結構,它與普通的JS Arrays和Objects向后兼容
          • tydel - 使用React綁定的類型模型和集合
          • extendedable-immutable - 擴展任何Immutable.js數據結構
          • statty - React和Preact應用程序的一個微小且不顯眼的狀態管理庫
          • Hydux - React的Elm-Like州經理,“包括電池”
          • ReSub - 用于編寫更好的React組件和數據存儲的庫
          • ProppyJS - 用于功能道具組合的小型庫
          • WatermelonDB - 下一代數據庫,用于強大的React和React Native應用程序,可擴展到10,000個記錄并保持快速
          • Effector - 快速而強大的無功狀態管理器。允許您編寫簡單,快速且類型安全的代碼并輕松管理React狀態。
          • reactn - React,但內置全局狀態管理
          • immer - 通過改變當前狀態來創建下一個不可變狀態

          地圖

          • react-googlemaps - 反映Google地圖的界面
          • react-maps - React的映射組件
          • react-google-maps - React.js Google Maps集成組件
          • react-gmaps - React.js的Google Maps組件
          • react-map-gl - MapboxGL-js加上覆蓋API的React包裝器
          • google-map-react - Isomorphic google map React組件
          • react-mapbox-gl - 一個mapbox-gl-js包裝器,使APIReact友好
          • google-maps-react - 使用React,延遲加載依賴項,當前位置查找器和Fullstack React團隊的測試驅動方法的聲明式Google Map React組件。
          • react-leaflet - 用于Leaflet映射的React組件
          • react-geo - 使用react,antd和ol的一組與地理相關的組件
          • pigeon-maps - 沒有外部依賴關系的ReactJS映射

          圖表

          • DevExtreme React Chart - 基于高性能插件的Bootstrap和Material Design的React圖表
          • react-chartjs - 使用chart.js的常見React圖表組件
          • react-stockcharts - 具有ReactJS和d3的高度可定制的股票圖表
          • Number Picture - 使用React和D3構建動畫可視化的低級構建塊。
          • Victory - 用于構建交互式數據可視化的可組合React組件的集合
          • Recharts - 一個基于D3的圖表庫,帶有一個很棒的聲明式API
          • React-ApexCharts - ApexCharts的React組件(交互式SVG圖表庫)
          • reaviz - 基于D3.js的React數據可視化庫
          • react-vis - 一個React可視化庫,其設計考慮了以下原則:React友好,高級和可定制,富有表現力和行業強大。
          • nivo - 它提供了豐富的數據可視化組件,構建在D3和React庫之上。
          • vx - 可重用的低級可視化組件的集合。它結合了D3的強大功能,可以利用React的優勢生成可視化,以更新DOM。
          • echarts-for-react - 一個非常簡單的ECharts React包裝器。
          • Chartify - 使用CSS構建圖表的React插件。
          • Semiotic - 結合了React和D3的數據可視化框架。

          React原生

          使用React構建本機應用程序的框架
          
          • React本機常規資源
          • React原生官方網站
          • React Native GitHub
          • React原生通訊
          • React本機游樂場
          • React Native Awesome List
          • React Native StackOverflow
          • React原生無線電

          React原生教程

          • React Native Tutorial
          • 介紹React Native:使用JavaScript構建應用程序
          • React Native簡介:使用JavaScript構建iOS應用程序
          • React Native符合異步函數
          • React Native中的手勢檢測 - 修復意外的平移
          • Digital Smart Mirror lab with React Native
          • React Native的美麗:使用JavaScript構建您的第一個iOS應用程序(第1部分)
          • React Native的美麗:使用JavaScript構建您的第一個iOS應用程序(第2部分)
          • React Native Flexbox上的迷你課程
          • Flexbox完整指南
          • Test driving react native applications
          • 在TypeScript中使用React Native

          React原生開發工具

          • react-native-code-push - 用于CodePush的React Native模塊

          React原生樣本應用程序

          • HackerNews
          • Ziliun
          • FinanceReactNative
          • SplashWalls
          • NBAreact

          React Native Boilerplates

          • 創建React Native App - 在沒有構建配置的任何操作系統上創建React Native應用程序,包含或不包含Expo
          • Snowflake - 使用Redux,Parse.com,Jest(88%覆蓋率)React原生iOS和Android
          • Ignite - React Native,樣板,插件,生成器等最熱門的CLI!
          • React Native Starter Kit - 一個強大的入門項目,用于引導您的移動應用程序的開發

          React Native Awesome Components

          • Expo - 用于制作跨平臺移動應用程序的世博會平臺
          • react-navigation - React Native應用程序的路由和導航
          • react-native-social-share - 使用React Native的iOS和Android原生Twitter和Facebook共享彈出窗口
          • react-native-fbsdk - 圍繞iOS Facebook SDK的包裝器
          • react-native-side-menu - 用于創建側邊菜單的簡單可自定義組件
          • react-native-mapbox-gl - Mapbox GL對原生模塊做出React
          • react-native-icons - React Native中的快速簡單圖標
          • react-native-vector-icons - 用于React Native的3000個可自定義圖標,支持NavBar / TabBar
          • react-native-google-signin - Google Signin for React Native
          • React天然選取器模態視

          ReactAR / VR

          React用于增強和虛擬現實的用法
          
          • React 360 - 使用React創建令人興奮的360和VR體驗
          • Viro React - 使用React Native快速構建AR / VR應用程序的平臺

          ReasonReact

          ReactJS的原因綁定
          
          • ReasonReact官方網站

          Flux

          用于構建用戶界面的應用程序架構
          

          Flux一般資源

          • Flux官方網站
          • Flux GitHub

          Flux實現

          • Flux Comparision
          • RefluxJS
          • Fluxxor
          • Marty
          • McFly
          • Alt
          • Fluxible
          • NuclearJS
          • Flummox
          • Coflux
          • MobX
          • Sinux

          Flux教程

          • 使用React和Flux構建應用程序
          • Flux:構建客戶端應用程序的簡單架構模型
          • 使用來自Yahoo的Dispatchr和Fetchr的Isomorphic Flux示例
          • 使用React.js和Flux進行異步請求
          • 在CoffeeScript中實現Flux
          • React:Flux Architecture
          • 了解Flux
          • 在Flux中喲
          • React.js架構 - Flux VS Reflux
          • 避免單頁應用程序中的事件鏈
          • ReactJS和Flux
          • 解構ReactJS的流量
          • Flux一步一步
          • 實踐中的流量
          • 什么是Flux應用程序架構?
          • React + Flux由Rails API支持:第1部分
          • Reails + Flux由Rails API支持:第2部分
          • Reails + Flux由Rails API支持:第3部分
          • Flux解決方案通過實例比較
          • Flux Cargo-Culting
          • 通量案例
          • Flux框架的演變
          • 通過示例與Flux作出React - 解析了一個簡單的Todo List
          • 從入門到放棄! - 初學者教程
          • 使用React和Nuclear JS的簡單計數器應用程序
          • LearnCode.academy Flux教程系列

          Redux

          JavaScript應用程序的可預測狀態容器
          

          Redux通用資源

          • Redux GitHub
          • Redux官方網站
          • 很棒的Redux列表

          Redux工具

          • react-redux - Redux的官方React綁定
          • redux-devtools - Redux的DevTools,具有熱重新加載,動作重放和可自定義的UI
          • react-router-redux - 保持react-router和redux同步的綁定
          • redux-form - 使用react-redux保持形狀狀態的高階組件
          • redux-thunk - 用于redux的Thunk中間件
          • redux-logger - 用于redux的Logger中間件
          • reselect - Redux的選擇器庫
          • normalizr - 根據模式規范化嵌套JSON
          • redux-saga - Redux應用程序的另一種副作用模型
          • redux-data-fx - Redux的聲明性副作用
          • redux-observable - Redux的RxJS中間件
          • redux-analytics - Redux的分析中間件
          • redux-undo - 用于向redux狀態容器添加撤消/重做功能的高階減少器
          • redux-search - 用于客戶端搜索的Redux綁定
          • redux-mock-store - 用于測試redux異步動作創建器和中間件的模擬存儲
          • redux-immutable - 創建一個與Immutable.js狀態一起使用的Redux combineReducers的等效函數
          • redux-react-i18n - 用于還原/React的i18n溶液
          • R16N - 還原/ReactI18n溶液
          • redux-actiontyper - Helper為Redux創建更簡潔的動作類型
          • redux-state-validator - 一個簡單的redux中間件,用于使用JSON Schema驗證redux狀態值和對象類型
          • redux-persist - 堅持并補充redux商店

          Redux教程

          • 在ES6中使用React和Redux構建應用程序
          • Redux入門
          • 使用慣用Redux構建React應用程序
          • Redux教程
          • React,Redux和Immutable入門:測試驅動的教程:第1部分
          • React,Redux和Immutable入門:測試驅動的教程:第2部分
          • 全棧Redux教程
          • 使用Redux和React-Router進行服務器端渲染
          • Redux深度介紹
          • 單元測試Redux應用程序
          • 使用JWT身份驗證保護您的React和Redux應用程序
          • 使用React,Redux和redux-saga構建圖像庫
          • 使用redux調用API的簡化方法
          • 基于React Redux的獻血者演示應用程序
          • LearnCode.academy Redux教程系列
          • 實用的Redux
          • 初學者的完整React Redux教程

          MobX

          JavaScript應用程序的簡單,可擴展狀態管理
          

          MobX通用資源

          • MobX GitHub
          • MobX官方網站

          MobX工具

          • mobx-react - React組件包裝器,用于將React與MobX結合使用

          MobX教程

          • 10分鐘介紹MobX和React
          • 使用MobX管理React應用程序中的復雜狀態
          • 將您的應用程序從Redux重構為MobX
          • Redux或MobX:嘗試解散混亂

          GraphQL

          查詢語言
          

          GraphQL規范

          • GraphQL官方網站
          • GraphQL規范
          • GraphQL規范庫

          GraphQL工具

          • GraphCMS - GraphQL無頭CMS
          • GraphQL CMS
          • Mongoose模式到GraphQL
          • GraphQL橋接到REST API
          • GraphQL Playground - GraphQL IDE,用于更好的開發工作流程

          GraphQL教程

          • GraphQL簡介
          • 關于GraphQL的第一個想法
          • 以類似的方式在GraphQL中建模查詢
          • Thin and Graphy
          • GraphQL概述 - GraphQL和Node.js入門
          • 使用GraphQL編寫基本API
          • 使用Node.js和SQL構建GraphQL服務器
          • GraphQL Tour:變量
          • 如何Graphql - GraphQL的Fullstack教程

          GraphQL實現

          • graphql-js - GraphQL for JavaScript的參考實現
          • react-transmit - 基于JavaScript Promises的Relay-inspired庫
          • graphql-ruby - Facebook的GraphQL的Ruby實現
          • graphql-java - GraphQL Java實現
          • sangria - Scala GraphQL客戶端和服務器庫
          • graphql-php - GraphQL參考實現的PHP端口
          • graphene - Python中的GraphQL變得簡單
          • graphqllib - Python的GraphQL實現
          • graphql-dotnet - 用于.NET的GraphQL
          • graphql-go - Go / Golang的GraphQL

          服務器集成

          • express-graphql - 使用Express創建GraphQL HTTP服務器
          • graphql-yoga - 運行GraphQL服務器的最簡單方法

          數據庫集成

          • Hasura - Postgres上的即時實時GraphQL
          • Prisma - 一個高性能的開源GraphQL ORM-like層,可以在GraphQL服務器中完成繁重的任務。
          • graphql-bookshelf - 一些幫助定義BookshelfJS模型周圍的GraphQL架構
          • GraphpostgresQL - PostgreSQL的GraphQL
          • graffiti - Node.js GraphQL ORM
          • sql-to-graphql - 根據您的SQL數據庫結構生成GraphQL API
          • graphql-sequelize - 通過Sequelize實現MySQL和Postgres的GraphQL和Relay

          Relay

          數據驅動的React應用程序
          

          Relay一般資源

          • 接力官方網站
          • 接力GitHub

          Relay教程

          • 官方接力入門
          • 視覺學習者的接力
          • Getting Started with Relay
          • Relay and Routing

          Relay工具

          • graphql-relay-js - 一個幫助構建支持react-relay的graphql-js服務器的庫
          • react-router-relay - React Router的中繼集成
          • relay-local-schema - 在沒有GraphQL服務器的情況下使用Relay
          • relay-codemod - 基于jsodeshift的Codemod腳本,用于更新中繼API

          Apollo

          基于GraphQL的數據堆棧
          

          阿波羅綜合資源

          • 阿波羅官方網站
          • Apollo GitHub
          • 阿波羅博客
          • Apollo Slack

          Apollo工具

          • react-apollo-redux - 一個小包裝器,用于響應阿波羅突變自動發送動作

          影片

          • reactjsvideos.com

          重要會談

          • Pete Hunt:React:重新思考最佳實踐 - JSConf EU 2013
          • Pete Hunt:React:重新思考最佳實踐(更新) - JSConf.Asia 2013
          • Tom Occhino和Jordan Walke:Facebook上的JS應用程序 - JSConfUS 2013
          • React:JS中的CSS
          • Pete Hunt:可預測,不正確 - Mountain West JavaScript 2014
          • 黑客方式:重新思考Facebook上的Web應用程序開發
          • Christopher Chedeau:為什么React Scale? - JSConf2014
          • Christopher Chedeau:React的架構 - OSCON 2014
          • Pete Hunt:ReactRESTful UI渲染 - 奇怪的循環2014
          • Pete Hunt:Instagram.com如何運作 - OSCON 2014
          • Bill Fisher和Jing Chen:React和Flux - NewCircle Training 2014
          • Sebastian Markbage:最小的API表面積 - JSConf EU 2014
          • Avik Chaudhuri:規模的JavaScript測試和靜態類型系統 - 規模2014
          • React Native&Relay:為移動設備帶來現代網絡技術 - f8 2015)
          • Citrusbyte推出GraphQL:與Nick Schrock合作的橫向平臺
          • Laney Kuenzel:接力中的突變和訂閱 - JSConf 2015
          • React今天和明天和90%清潔React與鉤子 - React Conf 2018
          • React會議
          • React視頻
          • 令人敬畏的React會談
          • React.js Conf 2015播放列表
          • ReactEurope Conf 2015第1天播放列表
          • ReactEurope Conf 2015第2天播放列表
          • ReactRally Conf 2015播放列表
          • React.js Conf 2016播放列表
          • React Amsterdam 2016播放列表
          • ReactEurope Conf 2016第1天播放列表
          • ReactEurope Conf 2016第2天播放列表
          • ReactRally Conf 2016播放列表
          • React.js Amsterdam 2018播放列表

          視頻教程

          • 第一次和Dan Abramov一起嘗試React Hooks

          演示

          • React和React原住民博物館
          • react.rocks - 具有可用代碼的Pinterest風格的在線演示目錄
          • react-hn - 一個React&react-router-powered of Hacker News
          • react-pokemon - 用于顯示神奇寶貝的React組件
          • React + Backbone TodoMVC
          • React + NestedTypes TodoMVC
          • react-rxjs-todomvc - 使用React和RxJS實現TodoMVC
          • react-mvc - 用React和純MVC編寫的示例聊天應用程序
          • react-observe-todomvc - 在React和Object.observe之上構建的TodoMVC實現
          • react-lights-out - React框架功能和靈活性的簡單演示
          • todomvc-swarm - 使用Swarm進行實時協作的React TodoMVC實現
          • reactodo - 使用React構建的多個localStorage TODO列表
          • lifequote - 人壽保險快速報價申請的React端口
          • reactor-demo - 使用React的同構Javascript應用程序
          • imgible - 基于React的Imgur-like同構演示應用程序
          • wow-realm-status-react - React - 魔獸世界狀態:React版
          • react-json-editor - 一個通用的JSON編輯器
          • react-todos - Backbone的示例TODO應用程序與React JS的視圖
          • github-issues-viewer - github在react + backbone中發出查看器構建
          • wolfenstein3D-react - Wolfenstein用React編寫的渲染層
          • Flux ImmutableJS TodoList
          • Hapi + React + Flux用戶管理系統
          • Redux TodoMVC
          • React / Redux CRUD在本地存儲中具有持久狀態
          • React Slack克隆 - 使用React和Chatkit構建的綜合Slack克隆
          • React顏色漂移 - 與React的生成藝術
          • overreacted.io - Dan Abramov的個人博客

          示例應用

          • isomorphic500 - 使用React和Fluxible構建的同構JS應用程序
          • fil - 瀏覽器中解釋器的游樂場(Redux)
          • sound-redux - 使用React / Redux構建的Soundcloud客戶端
          • react-pomodoro - 開發人員的番茄鐘計時器
          • Do - 使用React和Redux構建的Notes管理應用程序
          • soundcloud-react-redux - 使用React / Redux構建的SoundCloud客戶端
          • soundcloud-react-mobx - 使用React / MobX構建的SoundCloud客戶端
          • 用React和Redux重新實現Winamp 2.9
          • ComingOrNot - 使用react,react-router,redux,graphQL和無服務器構建的Event Planner
          • React Reduction - 使用React + Bootstrap4構建的Admin Dashboard
          • React Code Splitting Sample - React + React Router + Flux
          • 響應式React'電影數據庫'(TMDb)應用程序
          • CoreUI - 使用React和Bootstrap 4構建的免費管理面板
          • react-shopping-cart - 使用React和Redux構建的簡單電子商務購物車應用程序
          • hackernews-react-graphql - 使用React和GraphQL用通用JavaScript重寫的黑客新聞克隆

          真正的應用

          • Firefox調試器
          • 遠程復古 - 分布式團隊的敏捷回顧
          • Spectrum - 簡單,強大的在線社區
          • Mattermost - 開源Slack替代品

          主站蜘蛛池模板: 美女一区二区三区| 国产成人免费一区二区三区| 在线精品动漫一区二区无广告| 国产精品福利区一区二区三区四区| 风间由美在线亚洲一区| 精品综合一区二区三区| 久久久99精品一区二区| 日韩免费无码一区二区三区 | 久久精品人妻一区二区三区| 久久精品国产亚洲一区二区三区 | 无码免费一区二区三区免费播放| 国产成人AV一区二区三区无码| 久久久老熟女一区二区三区| 国模视频一区二区| 国产午夜福利精品一区二区三区| 激情亚洲一区国产精品| 日本一区二区高清不卡| 福利一区二区三区视频在线观看| 少妇一夜三次一区二区| 日韩精品无码一区二区视频| 久久精品无码一区二区三区免费 | 亚洲福利秒拍一区二区| 日本精品少妇一区二区三区| 亚洲狠狠久久综合一区77777| 在线精品日韩一区二区三区| 日本不卡在线一区二区三区视频| 成人区人妻精品一区二区三区 | 亚洲视频一区调教| 国产在线一区观看| 亚洲一区免费视频| 日韩精品无码一区二区三区四区| 中文字幕av人妻少妇一区二区| 99精品久久精品一区二区| 国产成人久久一区二区不卡三区| 国产精品无码AV一区二区三区 | 国产在线精品一区免费香蕉| 精品国产一区在线观看 | 国产成人精品亚洲一区| 精品深夜AV无码一区二区| 久久精品国产第一区二区| 国产精品无码一区二区三区在|