1. 程式人生 > >Hybrid app(二)----開發主要應用技術

Hybrid app(二)----開發主要應用技術

    在上一篇 Hybird App(一)—-第一次接觸 文章中,詳細的介紹了現階段手機APP的三大類,而Hybrid app結合Web app和Native app的優點,脫穎而出,變得越來越流行。下面就說說在開發過程中我們主要應用到的技術。混編APP主要是在Cordova的基礎上,加入移動端元件Ionic,因為Ionic是基於Angular.Js編寫的,所以,要求頁面前端使用Angular.JS取代Jquery。

主要應用技術

Node.Js

    Node.js 是一個基於 Chrome V8 引擎的 JavaScript 執行環境。Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。

Cordova

    Cordova是一款開放原始碼的App開發框架,旨在讓開發者使用HTML、Javascript、CSS等WebAPIs開發跨平臺的移動平臺 應用程式,其原名稱之為PhoneGap,Adobe收購Nitobi公司後,PhoneGap商標保留,程式碼貢獻給了Apache基金會,而 Apache將其命名為ApacheCallback,其後釋出新版本時,定名為ApacheCordova。
    Cordova是一個行動設 備的API介面集,利用JavaScript存取這些介面可以呼叫諸如攝影機、羅盤等硬體系統資源。配合上一些基於HTML5、CSS3技術的UI框架, 如jQueryMobile、DojoMobile或SenchaTouch,開發者得以快速地開發跨平臺App而不需要編寫任何的原生程式碼。


    注意到因為Cordova本身仍是一個原生程式,為App打包時依然需要用到這些系統平臺的SDK。

Ionic

    Ionic是一個新的、可以使用HTML5構建混合移動應用的使用者介面框架,它自稱為是“本地與HTML5的結合”。該框架提供了很多基本的移動用 戶介面範例,例如像列表(lists)、標籤頁欄(tabbars)和觸發開關(toggleswitches)這樣的簡單條目。它還提供了更加複雜的可 視化佈局示例,例如在下面顯示內容的滑出式選單。

    Ionic宣稱他們極度強調效能,並且通過限制DOM互動、完全移除jQuery以及使用像translate(z)這種特定的硬體加速的CSS濾鏡觸發移動裝置上GPU——與由動力不足的移動瀏覽器提供的互動相比這種方式提供了硬體加速的互動——等方式使速度最大化。

    PS:Ionic的npm安裝需要Python環境的支援,建議使用2.7的版本。

Angular.Js

    AngularJS是建立在這樣的信念上的:即宣告式程式設計應該用於構建使用者介面以及編寫軟體構建,而指令式程式設計非常適合來表示業務邏輯。[1]框架 採用並擴充套件了傳統HTML,通過雙向的資料繫結來適應動態內容,雙向的資料繫結允許模型和檢視之間的自動同步。因此,AngularJS使得對DOM的操 作不再重要並提升了可測試性。

設計目標:

  • 將應用邏輯與對DOM的操作解耦。這會提高程式碼的可測試性。
  • 將應用程式的測試看的跟應用程式的編寫一樣重要。程式碼的構成方式對測試的難度有巨大的影響。
  • 將應用程式的客戶端與伺服器端解耦。這允許客戶端和伺服器端的開發可以齊頭並進,並且讓雙方的複用成為可能。
  • 指導開發者完成構建應用程式的整個歷程:從使用者介面的設計,到編寫業務邏輯,再到測試。

    Angular 遵循軟體工程的MVC模式,並鼓勵展現,資料,和邏輯元件之間的鬆耦合。通過依賴注入(dependencyinjection),Angular為客戶 端的Web應用帶來了傳統服務端的服務,例如獨立於檢視的控制。因此,後端減少了許多負擔,產生了更輕的Web應用。

相關推薦

Hybrid app----開發主要應用技術

    在上一篇 Hybird App(一)—-第一次接觸 文章中,詳細的介紹了現階段手機APP的三大類,而Hybrid app結合Web app和Native app的優點,脫穎而出,變得越來越

vue 2.0 實戰 移動音樂appjsonp的應用+輪播圖資料的抓取

1.在recommend.vue中,created時進行資料抓取 <script> import {getRecommend} from 'api/recommend' import {ERR_OK} from 'api/config' export defa

Smobiler實現美觀登入介面——C# 或.NET Smobiler例項開發手機app

目錄 一、 本文目標 二、 準備工作 1、 資料庫 2、 材料 三、 介面佈局 1、設定控制元件的屬性值 (1) 輸入框 (2) 圖片屬性 (3) HandElectricity的標題的label屬性 (4)登入按鈕 (5)版權申明  (

HBuilder開發APP——網路請求

 mui框架中給我們封裝好了常用的Ajax函式,是基於XMLHttpRequest,支援GET、POST請求方式,支援返回json、xml、html、text、script資料型別。         mui

Framework7 + cordova +AS 混合開發安卓app

四、cordova建立專案 建立專案 cordova create hello com.example.hello HelloWorld 如果一切正常,本條命令將建立一名為hello的專案資料夾,com.example.hello是你的專案包名,它將生成一個

從Android原生角度看移動html5開發APP之整體mui初始化

有幾天沒有寫用html5開發移動app的總結了,今天抽出點時間來總結一下吧。 不多說直接入主題: 1、html就是一個框架,雖然說有點想layout,但是還是有點不一樣的,具體的就是一個是標籤,一個是具體控制元件。在移動開發中html用的最多的就是塊標籤即<div&g

android開發實戰-記賬本APP

繼昨天的開發,繼續完成今天的內容。 (一)開始構建一些業務邏輯,開始構建記賬本的新增一筆記賬的功能。 ①對fab按鈕的click時間進行修改,建立一個AlertDialog.Builder物件,因此我們給dialog新增一個佈局,命名為new_cost_data.xml,位於他的佈局很簡單,我們只需要設定兩個

雪飲者 決策樹系列決策樹應用

ssi 字符串長度 mes pla 選擇 font com vector nac   本篇以信息增益最大作為最優化策略來詳細介紹決策樹的決策流程。   首先給定數據集,見下圖    註:本數據來源於網絡 本篇將以這些數據作為訓練數據(雖然少,但足以介紹清楚原理!),下圖是決

我是初學者第一次項目開發開發中遇到的問題和註意事項

持久層 數據庫 認識 碼代碼 操作 出錯 排序 文檔 項目 這周正式開始做項目練習,這才發現實際去做的時候會遇到和出現很多的問題 在這裏說一說我的體會,請指正 首先,實體類 1、實體類中有哪些屬性,類型是什麽,並根據屬性建立sql的相應表格, 2、哪些屬性需要在寫在實體

身份認證系統多WEB應用的單點登錄

會有 求和 頂級域名 等等 票據 什麽 多個 另一個 如何解決 隨著互聯網的發展,web應用的復雜度也一直在提升,慢慢的單一的web應用已經不能滿足復雜的業務需求。例如百度的搜索、新聞、百科、貼吧,其實本質上都是不同的網站。當用戶使用這些平臺的時候,我們當然不希望用戶在每一

vue高仿餓了麼APP

這裡我直接跳過vue-cli的安裝。   一,vue.js程式碼是如何執行的? 1,進入頁面,首先載入index.html和main.js檔案。 ① index.html檔案 <!DOCTYPE html> <html> <head>

Spring Boot20---開發Web應用之JSP篇

Spring Boot(20)---開發Web應用之JSP篇   前言 上一篇介紹了Spring Boot中使用Thymeleaf模板引擎,今天來介紹一下如何使用SpringBoot官方不推薦的jsp,雖然難度有點大,但是玩起來還是蠻有意思的。 正文 先來看看整體的框架

Spring Boot19---開發Web應用之Thymeleaf篇

Spring Boot(19)---開發Web應用之Thymeleaf篇   前言 Web開發是我們平時開發中至關重要的,這裡就來介紹一下Spring Boot對Web開發的支援。 正文 Spring Boot提供了spring-boot-starter-web為Web

REST開發REST風格端點

REST(二)開發REST風格端點 篇幅有限,這裡我們就不在贅述service和dao的設計和實現了,如果需要可以文章末尾檢視原始碼。 我們先定義使用者實體 實體 package com.lay.rest.entity; import com.lay.rest.enti

寫一個易於維護使用方便效能可靠的Hybrid框架

前言 繼上一篇之後,我反覆思來想去,我下一篇該怎麼寫,那麼想法有了,我應該怎麼去落實,框架在程式碼層面我要怎麼設計,怎麼樣才能使用起來儘可能的方便,那麼好吧,我深深的覺得,上一篇我給自己挖了個大坑,最近的思想一直依託於Cordova框架的設計模式,說實話想跳出來很難,我真的很難很難想出一個比它外掛化部分更好

線性表 單鏈表應用——可利用空間表

常常會有頻繁申請、釋放記憶體的需求,比如在傳送網路報文時,每次都要分配記憶體以儲存報文,等報文傳送完成後又需要刪除報文。 為了避免頻繁的new/delete對系統帶來的開銷,需要實現一個通用的Free

Spring Boot乾貨系列:開發Web應用之JSP篇

前言     上一篇介紹了Spring Boot中使用Thymeleaf模板引擎,今天來介紹一下如何使用SpringBoot官方不推薦的jsp,雖然難度有點大,但是玩起來還是蠻有意思的。 正文      先來看看整體的框架結構,跟前面介紹

Spring Boot乾貨系列:開發Web應用之Thymeleaf篇

 前言       Web開發是我們平時開發中至關重要的,這裡就來介紹一下Spring Boot對Web開發的支援。 正文      Spring Boot提供了spring-boot-starter-web為Web開

Python Numpy 100題實驗 pad()函式應用

題目描述:使用數字0將一個全為1的陣列包圍起來: 程式碼: In [74]: a = np.ones((5,5)) In [75]: a Out[75]: array([[1., 1., 1., 1., 1.], [1., 1., 1., 1.,

訊息中介軟體MQ模式、應用場景、常用協議

1.訊息中介軟體模式分類 1.1 點對點 1.2釋出/訂閱 2訊息中介軟體應用場景 2.1非同步通訊 有些業務不想也不需要立即處理訊息。訊息佇列提供了非同步處理機制,允許使用者把一個訊息放入佇列,但並不立即處理它。想向佇列中放入多少訊息就放多少,然後在需要的