NativeScript —— 初級入門(跨平臺的手機APP應用)《一》

来源:https://www.cnblogs.com/bob-yang/archive/2018/09/25/9698185.html
-Advertisement-
Play Games

NativeScript簡介 現在,還有其他幾種用於移動設備的JavaScript開發系統。 其中一些競爭對手已經建立了一段時間。其他開發系統可能有大公司在開發它們。 但這些都不會使任何其他工具成為最佳選擇。NativeScript從眾多其他JavaScript環境中脫穎而出的原因在於其獨特的設計。 ...


NativeScript簡介

  1. NativeScript是一個相當新的開源開發系統,幾乎完全用JavaScript創建跨平臺移動應用程式,帶有一些可選的CSS和XML來簡化顯示佈局的開發。您可以在https://github.com/NativeScript 找到構成NativeScript的每個主要項目的位置。即使它是市場上的新手,它已經完全相容Apple的iOS和谷歌的Android。 此外,還有微軟的Windows Mobile。 NativeScript 使用Android上的V8引擎(由GoogleChrome和node.js使用)和iOS設備上的Apple的JavaScriptCore引擎。
  2.  現在,還有其他幾種用於移動設備的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');
  3. 由於NativeScript允許您從JavaScript代碼訪問完整的操作系統庫和第三方庫,因此您無需等待其他人創建包裝器或橋接器來與iOS或Android的API任何部分進行通信。 您現在可以完全使用任何API作為一等公民,甚至可以使用任何在首次發佈的新API。
  4. 現在,在您擔心必須掌握iOS和Android來製作應用程式之前,NativeScript已經替你解決了這一點。 為簡化起見,NativeScript已經擁有大量組件或模塊,這些組件或模塊包含了開發人員需要的最常見的東西,NativeScript稱為通用核心模塊。 因此,您不必像上面那樣編寫Android或iOS特定代碼來查看文件是否存在,您只需編寫以下代碼即可:

    1 var fs = require('file-system'); 
    2 var exists = fs.File.exists(path);

    NativeScript文件系統模塊包含了每個本機平臺的API,因此您只需要寫入通用介面即可。 但是,當您需要在內置模塊和組件之外執行某些操作時,NativeScript是唯一允許您通過JavaScript輕鬆完全訪問設備提供的所有內容的環境。

  5. NativeScript 命令行,實用程式,通用模塊和組件都是用TypeScript編寫的。 然後將TypeScript轉換為JavaScript,然後分發給所有開發人員以供下載,安裝和使用。 因此,除非您實際從NativeScript存儲庫中提取開源代碼,否則您將看到的所有代碼都是JavaScript。
  6. 創建通用模塊是為瞭解決JavaScript文件使用變數和函數污染全局命名空間的問題,而另一個JavaScript文件可能會意外的覆蓋。 JavaScript允許您隨心所欲地重新聲明或修改您的功能,這是使其如此強大的一部分。 然而,有了這麼大的功能,能夠很容易地也誤傷自己。 然後,出現各種無頭無腦的錯誤。 為瞭解決一個文件功能或變數被另一個文件覆蓋的問題,開發人員提出了幾種技術,這些技術演變成我們今天的通用模塊格式。 您可以使用三種標準:CommonJSmodule格式,即node.js推廣的格式; AMDmodule格式,專為在瀏覽器環境中非同步解析JavaScript文件而設計; 以及全新的ECMAscript 6模塊格式,在最終發佈時,應該成為事實上的模塊格式。 它們都包裝了源代碼,因此預設情況下模塊中的所有代碼都不會幹擾全局命名空間。 NativeScript遵循CommonJSmodule格式,您可以在其中使用exports和module.export來告訴您希望向外部各方公開的模塊中的代碼部分。 當您看到var coolModule = require('cool-module');時,這是CommonJSmodule格式用於載入模塊的語法。

安裝NativeScript

  1. 要開始使用NativeScript,我們首先必須安裝多個工具。 幾乎所有內容的主要工具是nativescript命令,或者您也可以使用較短的tns別名(Telerik NativeScript的縮寫)。
  2.  要安裝nativescript命令並使其工作,必須首先安裝node.js,可以從 https://nodejs. org/ 下載和安裝。nativescript命令也是用TypeScript編寫的,在你下載它之前已經預轉換為JavaScript。 它使用node.js和其他幾個常用模塊來執行其所有工作。
  3. 一旦你安裝了node.js,你只需要在終端做一個簡單的npm install -g nativescript 命令,(或者在Windows上稱為命令提示符視窗)。 然後npm將下載並安裝所需的NativeScript代碼和命令行工具。 它將全局安裝它,以便可以從您正在處理的任何項目中使用它。
  4.  更多安裝細節請移步:https://docs.nativescript.org/start/quick-setup
  5.  這裡不在過多廢話。。。這裡不在過多廢話。。。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 單表查詢 先創建表 1.註意: select * from t1 where 條件 group by 分組欄位 1.分組只能查詢分組欄位,要想查看其餘的利用聚合函數 2.聚合函數的分類:count,min,max,avg,group_concat,sum等。 3.模糊匹配:用like關鍵字。 sel ...
  • set_time_limit(800);$dsn = 'mysql:host=localhost;dbname=test';$db = new PDO($dsn,'root','',array(PDO::ATTR_PERSISTENT => true)); //刪除上次的插入數據$db->query ...
  • 參考網址:http://oraclejsq.com/jsq/getOracle_jcjc.do?nodeid=010100114 該教程介紹了oracle自帶客戶端sqlplus的使用方法以及oracle網路服務名是如何配置的。 ...
  • 該功能的實現沒有特別複雜,主要在onKeyDown()事件中實現,直接上代碼,如下: ...
  • 描述: 之前有做過一個記賬本APP,拿來練手的,做的很簡單,是用Eclipse開發的; 最近想把這個APP重新完善一下,添加了一些新的功能,並選用Android Studio來開發; APP已經完善了一部分,現在就想把已經做好的功能整理一下,記錄下來。 效果圖: 可以手動滑動菜單 也可以通過點擊頭部 ...
  • main.m文件 Agent.h Agent.m Person.h Person.m ...
  • 前言: 在app的文章中,經常會夾雜著一些特別長的長圖。在閱讀的時候需要滑動很久才能看圖片下方的文字,因此對於長圖只展示圖片上面一部分,並且可以展開這個功能是很重要的。 效果: 基本思路: 利用scaleType的matrix屬性以及直接改變圖片的高度來實現圖片的收起與展開。 過程: 開始嘗試: s ...
  • 思路 ImageView和ImageButton都可以設置background和設置src,兩者的區別自行度娘。由於兩者的不同,獲取它們的圖片資源的方法也不同。倘若設置的是background,那麼需要先getBackground(),然後把獲取到的Drawable強制轉換為BitmapDrawab ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...