NativeScript簡介 現在,還有其他幾種用於移動設備的JavaScript開發系統。 其中一些競爭對手已經建立了一段時間。其他開發系統可能有大公司在開發它們。 但這些都不會使任何其他工具成為最佳選擇。NativeScript從眾多其他JavaScript環境中脫穎而出的原因在於其獨特的設計。 ...
NativeScript簡介
- NativeScript是一個相當新的開源開發系統,幾乎完全用JavaScript創建跨平臺移動應用程式,帶有一些可選的CSS和XML來簡化顯示佈局的開發。您可以在https://github.com/NativeScript 找到構成NativeScript的每個主要項目的位置。即使它是市場上的新手,它已經完全相容Apple的iOS和谷歌的Android。 此外,還有微軟的Windows Mobile。 NativeScript 使用Android上的V8引擎(由GoogleChrome和node.js使用)和iOS設備上的Apple的JavaScriptCore引擎。
-
現在,還有其他幾種用於移動設備的JavaScript開發系統。 其中一些競爭對手已經建立了一段時間。其他開發系統可能有大公司在開發它們。 但這些都不會使任何其他工具成為最佳選擇。NativeScript從眾多其他JavaScript環境中脫穎而出的原因在於其獨特的設計。其他每個JavaScript環境都需要一個特殊的橋接器或某種類型的編譯擴展,它基本上將主機操作系統的一些本機功能暴露給您的JavaScript代碼。其中很多實際上只是包含在應用程式shell中的Web瀏覽器,因此您所做的所有工作實際上都在瀏覽器中。如果您決定在其他產品中使用iOS手機上的藍牙,則必須找到使用其他非JavaScript語言製作iOS藍牙橋接器或擴展模塊的人。在很多情況下,您甚至必須編譯模塊,然後該模塊才具有您需要的所有功能。
1 例如,要找出文件是否存在,我們可以在JavaScript中調用原生Android方法: 2 var javaFile = new java.io.File('/some/file/name.ext'); 3 var exists = javaFile.exists(); 4 5 或者JavaScript中的原生iOS Objective C代碼: 6 var fileManager = NSFileManager.defaultManager(); 7 var exists = fileManager.fileExistsAtPath('/some/file/name.ext');
- 由於NativeScript允許您從JavaScript代碼訪問完整的操作系統庫和第三方庫,因此您無需等待其他人創建包裝器或橋接器來與iOS或Android的API任何部分進行通信。 您現在可以完全使用任何API作為一等公民,甚至可以使用任何在首次發佈的新API。
-
現在,在您擔心必須掌握iOS和Android來製作應用程式之前,NativeScript已經替你解決了這一點。 為簡化起見,NativeScript已經擁有大量組件或模塊,這些組件或模塊包含了開發人員需要的最常見的東西,NativeScript稱為通用核心模塊。 因此,您不必像上面那樣編寫Android或iOS特定代碼來查看文件是否存在,您只需編寫以下代碼即可:
1 var fs = require('file-system'); 2 var exists = fs.File.exists(path);
NativeScript文件系統模塊包含了每個本機平臺的API,因此您只需要寫入通用介面即可。 但是,當您需要在內置模塊和組件之外執行某些操作時,NativeScript是唯一允許您通過JavaScript輕鬆完全訪問設備提供的所有內容的環境。
- NativeScript 命令行,實用程式,通用模塊和組件都是用TypeScript編寫的。 然後將TypeScript轉換為JavaScript,然後分發給所有開發人員以供下載,安裝和使用。 因此,除非您實際從NativeScript存儲庫中提取開源代碼,否則您將看到的所有代碼都是JavaScript。
- 創建通用模塊是為瞭解決JavaScript文件使用變數和函數污染全局命名空間的問題,而另一個JavaScript文件可能會意外的覆蓋。 JavaScript允許您隨心所欲地重新聲明或修改您的功能,這是使其如此強大的一部分。 然而,有了這麼大的功能,能夠很容易地也誤傷自己。 然後,出現各種無頭無腦的錯誤。 為瞭解決一個文件功能或變數被另一個文件覆蓋的問題,開發人員提出了幾種技術,這些技術演變成我們今天的通用模塊格式。 您可以使用三種標準:CommonJSmodule格式,即node.js推廣的格式; AMDmodule格式,專為在瀏覽器環境中非同步解析JavaScript文件而設計; 以及全新的ECMAscript 6模塊格式,在最終發佈時,應該成為事實上的模塊格式。 它們都包裝了源代碼,因此預設情況下模塊中的所有代碼都不會幹擾全局命名空間。 NativeScript遵循CommonJSmodule格式,您可以在其中使用exports和module.export來告訴您希望向外部各方公開的模塊中的代碼部分。 當您看到var coolModule = require('cool-module');時,這是CommonJSmodule格式用於載入模塊的語法。
安裝NativeScript
- 要開始使用NativeScript,我們首先必須安裝多個工具。 幾乎所有內容的主要工具是nativescript命令,或者您也可以使用較短的tns別名(Telerik NativeScript的縮寫)。
- 要安裝nativescript命令並使其工作,必須首先安裝node.js,可以從 https://nodejs. org/ 下載和安裝。nativescript命令也是用TypeScript編寫的,在你下載它之前已經預轉換為JavaScript。 它使用node.js和其他幾個常用模塊來執行其所有工作。
- 一旦你安裝了node.js,你只需要在終端做一個簡單的npm install -g nativescript 命令,(或者在Windows上稱為命令提示符視窗)。 然後npm將下載並安裝所需的NativeScript代碼和命令行工具。 它將全局安裝它,以便可以從您正在處理的任何項目中使用它。
- 更多安裝細節請移步:https://docs.nativescript.org/start/quick-setup
- 這裡不在過多廢話。。。這裡不在過多廢話。。。