2018年2月10日 星期六

【Ionic 3】建立第一個Tabs版型App

Ionic 3 App開發的入門介紹,內容包括:

  1. 安裝Ionic 3 / Cordova
  2. 建立第一個App: Tabs版型
  3. 預覽執行: ionic serve
  4. App佈署
  5. 除錯(Debugging)

安裝Ionic 3 / Cordova
以Windows環境為例
  1. 先行安裝node.js,以便能以npm安裝ionic與cordova。安裝過程需注意 (1) node.js執行檔是否有加入Path環境(安裝時預設值便會加入),(2) 是否能從命令列(cmd.exe)執行node.js指令(也是預設選項)。
  2. 開啟cmd,安裝cordova與ionic:
  3. npm install -g ionic cordova
最新版本(2018/1)是cordova 8.0.0, ionic 3.19.1。

2017年4月12日 星期三

Ionic 3 is released!!!

因應JavaScript推出ES6標準的重大變革,AngularJS改版推出Angular 2,這使得Ionic也順勢改版為Ionic 2,將支援ES6的Angular 2納入。2017年1月Ionic 2.0.0正式版推出;短短兩個月便修正到2.3.0版,改正不少bugs,效能也有所提昇。不過,2.x.x版大家都還沒玩透,4月初,Ionic 3.0.0便又推出了!(官方部落格:Ionic 3.0 has Arrived!

究竟為何Ionic如此迅速改版?原來是因為Angular 4推出的緣故!什麼?Angular 2不是才剛出,怎麼馬上就變4.0.0??? 這就要提到SemVer了。SemVer是一種軟體版本編號的規範(詳情請參考Semantic Versioning),簡言之,軟體版本由三個數字組成,例如3.0.0,依序代表Major, Minor與Patch的編號。Angular 2做了TypeScript版本 dependency的升級,因此改Major序號為4(跳過3直接到4是因為要將Angular眾多子函式庫的版本統一到4版),這也是為什麼Ionic要從2跳至3版的主要原因。

所以,Ionic 3.0.0到底跟Ionic 2.3.0有何差別?Ionic 2的專案要注意哪些事項?根據Ionic Github網頁的Change Log,舊的2.x.x專案必須:

2016年10月22日 星期六

關於Ionic 2 RC1更新

Ionic 2於2016/10月從RC0改版到RC1,最主要的改變是app-scripts版本更新,連帶每個Ionic 2專案的設定檔package.json也有更動。建議完成下列動作:
  1. 查看現有Ionic安裝版本:
    ionic info
    若Ionic Framework Version不是2.0.0-rc-0以上,建議移除ionic舊版、更新npm、再重新安裝ionic:
    npm uninstall -g ionic
    npm install -g npm
    npm install -g ionic cordova
    
  2. 如果有Ionic 2 app專案,先切換到專案資料夾,再執行下列指令:
    npm install @ionic/app-scripts@latest --save-dev
    上述指令會更新package.json裡的"dependencies"各個packages的版本,並在"devDependencies"加入app-scripts項目。

詳情可參考Ionic 2 RC Weekend Updates

2016年10月21日 星期五

Ionic 2系列002:Ionic2專案細節初探

延續上篇(Ionic 2系列001:第一個Ionic 2專案)當空白專案建好之後,例如建了BlankApp:
ionic start BlankApp blank --v2
則在BlankApp/src下便有了Ionic 2的專案結構:
Ionic 2專案結構,程式碼位於src下。
其中index.html則是app的進入點;app、pages則是主要程式碼所在。app資料夾放的是root component相關程式碼,root component是index.html第一個載入的元件。而pages資料夾內,則為每一個頁面分別建立一個資料夾。

2016年10月16日 星期日

Ionic 2系列001:第一個Ionic 2專案

JavaScript功能持續更新著,瀏覽器也不斷追著JavaScript新功能在跑。一些受歡迎的JavaScript framework當然也得因應這些改變,而推出更新的版本。最近,JavaScript最大的改變應該就是正式加入「物件」相關語法-也就是俗稱的ES6(ECMAScript 6 或稱為ECMAScript 2015)。

但這對以Ionic框架開發hybrid apps有何影響?簡言之,因應ES6的變革,Angular推出了Angular 2,Ionic也順勢推出Ionic 2(2016年10月已過beta版,來到Ionic 2.0RC1),Ionic apps的開發也完全物件化,整體改變相當巨大。因此,接下來的文章將會以Ionic 2的介紹為主。

Ionic 2與Ionic 1的差異

安裝部分仍可參考之前的舊文Hybrid Apps開發系列之1:Ionic/Cordova框架環境設定,但如果之前已經安裝過node.js,必須先更新npm,說明如下:

2016年3月15日 星期二

Ionic App Views製作:ng指令與$scope變數

Ionic apps透過angular.module().config()設定每個頁面組態,以'templateUrl'指定頁面HTML檔所在,以'controller'指定該頁面對應的controller,例如下列程式碼便設定了'home' state的url、html檔所在位置、以及controller名稱:
//...
$stateProvider.state('home', {
                        url: '/home',
                        templateUrl: 'templates/home.html',
                        controller: 'HomeCtrl'
                    })
//...
然而,當要在頁面顯示一些動態資料-例如從資料庫讀取出來的內容、或是處理表單輸入的內容等動作時,還必須要靠「資料繫結」(data binding) 的輔助,才能更容易的達成目的。因此,AngularJS提供$scope變數,做為資料繫結之用。簡單的說,資料繫結(data binding)是指:先在controller中以$scope變數定義資料模型、或是函式,例如:
   $scope.name = {}; // 資料模型物件
   $scope.login = function() {
        // 函式主體
   }

2016年3月8日 星期二

Ionic App 程式結構之一:Views、Controllers、Configuration

如前文Hybrid Apps開發系列之2:第一個專案所說,Ionic專案建立之後,有app.js, index.html等重要檔案。事實上,Ionic apps有其運作機制,其中每一個app都會包括: views、controllers、與app設定(configuration)等部分,而視情況,還會建立services/factories,作為app資料服務串接之用。底下先就views、controllers、與app整體設定進行說明。

Ionic views、controllers與組態設定
Ionic apps有關views, controllers,組態設定(configuration)等基本運作機制,及其與index.html、app.js等檔案的關聯如下圖所示:

圖1. Ionic app的view(如home.html及page2.html)與controller(app.js)。index.html則做為app的模板(template)