前面 10 天介紹了很多 Kotlin 的基本語法和概念,學習基礎語法的過程中會因為缺乏 UI 的互動性,因此學習的過程中會覺得比較枯燥,但應用都是要從根基打起的,如果根基沒打穩,那在撰寫的過程中就會很難摸到語言的精髓,就像我寫 3 個月的 Kotlin 才發現可以使用 Extension Function 一樣 (掩面...
好!不要灰心!
原本這個系列文的出發點就是要用 Kotlin 寫 App ,因此今天要開始往 Android 的領域靠近了,讚讚
在 Day 03 的時候已經探討過目前會常常用來寫 Kotlin 的 IDE 有哪些,其中 Eclipse 、IntelliJ IDEA 和 Android Studio 都是時常拿來開發 Android App 的 IDE
而其中我最喜歡使用的是 Android Studio ,有以下幾個原因
如何 Install Android Studio 在官網上都有詳細介紹,有需要的可以到以下的網址查看
另外,目前 Android Studio 3 之後, Kotlin 已經是內建支援的語言了,因此不用另外做安裝或加入 Plugin
但如果是 Android Studio 3 以下或是專案是從 Java 轉去 Kotlin 的用戶們,可以參考我以前寫過的這篇,將 Kotlin 導入專案中
這次是想重現一個傳奇的 App ,目前有一位知名導演位這個大作代言過,那就是...
畢竟流量就是一切,所以也要蹭一下。目前已經有 海賊爭霸 Online - 下載就送 S 級火槍兵 上架到 Play Store, 有 4.6 顆星和 1 萬次下載,那這次就只是要來練個技術,就會用以下的技術向這個大作致敬
那下面的技術是我還沒有用過的,但很想試試看的,因此希望可以趁這個機會練習(有點抖R... QQ)
具體該怎麼做也只有一個簡單的概念,這幾天會在把具體架構想的更清楚,如果有用到其他的技術會再一一補上
相信現在開發者至少會知道 MVC \ MVP \ MVVM 其中一種,那這些架構會被設計出來,其實目的只有一個,就是希望能夠減少程式中模組的 Dependency 、更好維護與 Debug、提高開發效率以及讓新進的開發者更容易上手,因此選擇哪個架構不是最主要的,而是要適合團隊並且不要把原本設定的架構寫的像是其他架構,最後一整個四不像就不好了
Android 本身設計上還是符合 MVC 架構,但 Android 作為 View 的 XML 並不強,因此很多 View 的邏輯就會寫在 Activity 或 Fragment 之中,造成 View 和 Controller 之間的角色不夠差分清楚,因此 MVC 架構最後會偏向 Model - (View & Controller)
的方向發展
MVP 基本上與 MVC 大同小異,只差在將 Controller
換成了 Presenter
,那 Presenter
的出現就是要解決 MVC 中 View
和 Controller
之間無法差分清楚的狀況,作法是 Presenter
持有 View
的接口,如果要更新 View 會透過接口進行操作,並讓 Activity
加到 View 中,達到解耦的功效
Presenter
中主要是負責數據邏輯處理與流向,因此 Presenter
也會有 code 臃漲的問題,並且 View
和 Presenter
之間雖然透過接口溝通,但還是存在一定的耦合性,一旦 View
中有元件更改了,那麼對應的接口就要更新,因此如果這曾也能夠解耦會更好
MVVM 的設計思維與目標與 MVP 相似,但會在透過 Data Binding 自動將資料綁定到 View, ViewModel 不會持有 View,整體架構上也會更靈活
那麼 MVC -> MVP -> MVVM 是一串演化的過程,目的就如同開頭所說的:好開發與解耦合
那今天身體不太舒服,因此明天才會更深入介紹 MVVM 的部份,今天先讓我賣個關子吧~