這一挑戰(zhàn)也導(dǎo)致了開發(fā)團(tuán)隊(duì)想要實(shí)現(xiàn)代碼共享的夢想:將 Web 和移動應(yīng)用的代碼放在同一個地方,允許在 Web、iOS 和 Android 之間共享業(yè)務(wù)邏輯,并保持足夠靈活,以便在必要時包含指定平臺的代碼。
隨著 Schematics 和 ng 的出現(xiàn),現(xiàn)在有了一整套新的可能性。Angular 和 NativeScript 團(tuán)隊(duì)合作創(chuàng)建了 nativescript-schematics ,這是一個可以讓你從單個項(xiàng)目構(gòu)建 Web 和移動應(yīng)用的技術(shù)綱要(原理),適用于 @angular/cli 6.1.0 及以上版本。
開發(fā)團(tuán)隊(duì)使用命名約定將 Web 代碼與移動代碼分開,開發(fā)人員可以使用 .tns 指定 NativeScript 代碼,而 Web 代碼則不使用 .tns 擴(kuò)展。
目標(biāo)是盡可能多地共享代碼,并將特定于平臺的代碼分解為單獨(dú)的文件。
開發(fā)團(tuán)隊(duì)還在 Angular CLI 中為 nativescript-schematics 提供支持,以創(chuàng)建新的代碼共享項(xiàng)目,或轉(zhuǎn)換現(xiàn)有的 Web 項(xiàng)目以啟用代碼共享,并將現(xiàn)有組件和模塊創(chuàng)建或轉(zhuǎn)換為代碼共享格式。