天天看點

直播回放:快速上手,使用 Kotlin 把支付寶小程式裝進自己的 App主題分享Q&A

寫一個 Android App 或許不難,但企業對于移動應用的要求愈來愈高,不隻要求開發速度、穩定度、品質等,甚至希望能具備動态擴充的架構設計、在 App 中自啟動小程式。面向這些需求,若是有好的開發工具及平台的支援,将可以大大降低開發及運維的成本。本次網絡研讨會特别邀請到支付寶進階無線開發工程師溫盛章為大家示範用 Kotlin 開發移動應用,并內建 mPaaS 讓 App 具備小程式能力。
▶點選觀看全程回放

主題分享

本次分享共有三個關鍵字:Kotlin 、 小程式 、 mPaaS 。溫盛章首先從使用者、開發、技術、平台等四大視角,向大家說明小程式是什麼?簡單來說,小程式就是一種擁有完整生命周期、應用間互相隔離、獨立運作于宿主應用内的應用。而小程式從工作型 App、平台型 App、超級 App 到新階段一路的演化曆程,目前已經可以有接近 Native 的體驗和順暢、也可以有 H5 的快捷釋出的優勢。

對小程式有概念後,溫盛章就以 Android Studio 示範如何在一個 Mobile App 裡,以 Kotlin 撰寫 Mobile App 的代碼,并接上 mPaaS 平台,讓 App 有自啟動小程式的能力。要接入 mPaaS,首先需在 Android Studio 裡安裝 mPaaS 插件,并到阿裡雲的 mPaaS 背景建立一個建立用。接着,在 Android Studio 裡通過插件介入 mPaaS 後下載下傳設定檔案及基線。再來,依照項目的需求,下載下傳所需的 mPaaS 元件。完成這些設定後,在 Native 部份,僅需 App、Activity、Plugin 三個檔案,就可以做出一個接上小程式的簡單應用。

小程式的部份,可以通過 mPaaS 的 IDE 撰寫 HTML、CSS、JS 完成小程式端的開發,上傳至 mPaaS 背景後,就可在 App 裡啟動。不僅如此,mPaaS 的 SDK 還可以将 Native 端與小程式間打通,兩者可以互動傳遞資訊,隻要照着文檔示例操作,一個具備小程式能力的移動應用,就在不到 1 小時内完成!

聽完這場分享後,相信大家都能體驗小程式在開發及部署的好處、Kotlin 文法的簡潔及 mPaaS 服務的完整性。通過這樣的工作流,可幫助您實作“代碼僅需撰寫一次,便可多端投放”,進而深度提升研發效率。

Q&A

Q. 學習 Kotlin 可以完全不用懂 Java 嗎?或者了解下 Java 的一些基本知識就夠了?

溫盛章:Kotlin 在設計上有許多文法糖,像是 Extension 可以輕松的依據需要做擴充、Lambda 表達式可以構成 DSL 的能力、Coroutine 把線程封裝後更好使用,加上現在 Google 的 Android 團隊采用 Kotlin 做為官方語言,是以我覺得可以先以 Kotlin 為主去學習 Android 開發。不過,别忘了 Kotlin 最終還是編譯成 JVM 的位元組碼,是以要搞清楚底層的話,一些基本功還是不能落下。

範聖佑補充:學習 Android 時,可以到 Google 的 Code Lab 上學習,非常适合初學者。

Q. 我的了解是 Kotlin 是負責資料的處理,而像擷取安卓手機資訊這個功能隻需要調用安卓的一些元件就能實作了是嗎?

溫盛章:這個東西需要隔離開來看,我們可以先把 Kotlin 了解成一個槌子,調用安卓元件我們可以簡單的了解成釘子。怎麼把釘子打到牆裡面,你可以用槌子、也可以用剪刀,隻要能完成任務就行。但很明顯的,用剪刀把釘子打到牆裡估計要比槌子難,是以 Kotlin 在這裡就是扮演着槌子的角色。就我自己使用的經驗來說,Kotlin 在提升效率這方面帶來非常大的幫助。原本用 Java 得寫又臭又長的代碼,改用 Kotlin 後就變得非常的簡潔。

我這邊要特别強調一下 Kotlin 裡 Null Safety 的特性,以前在 Java 裡一個變量是否為 Null 需要在邏輯層裡自行解決,但在 Kotlin 裡可以用問号,通過編譯器就可以預先做好對空值的處理。這部份的強化和提升是我非常喜歡的。

Q. 用 Kotlin 開發安卓,用 Andriod Studio 比較好還是用 IntelliJ IDEA 更友善些,有哪些好用的插件了可以推薦下?

範聖佑:Android Studio 和 IntelliJ IDEA 是使用相同的 IntelliJ Platform 打造出來的,是以在 UI、快捷鍵操作上其實都很雷同,許多插件也是可以互通的。若你隻需要開發 Android 的話,用 Android Studio 其實就可以滿足你的需求;但若你不僅需要開發 Android,還需要開發像 Web、資料庫的工作,那會推薦使用 IntelliJ IDEA Ultimate 版才能滿足各方面的需求。

溫盛章:單純開發 Android 或 Android 與其他工程混在一起的項目,我會推薦用 Android Studio;但假如是純 Java 或 Kotlin 的項目,我就會推薦用 IntelliJ IDEA,而且非常推薦使用 Ultimate 版,因為 Ultimate 版相比 Community 版提供了更多的功能,非常的好用。

兩位推薦的插件包括:

1)在示範過程中可以顯示快捷鍵提示的 Presentation Assistant 插件

2)讓 IntelliJ IDEA 可以有像 Vim 一樣操作模式的 IdeaVim 插件

3)本次示範的主角 mPaaS 插件(目前僅支援 Android Studio)

4)用 Annotation 讓 Java 有一些類似 Kotlin 特性的 Lombok 插件

Q. 有辦法可以 Android 模拟器調試嗎?

溫盛章:以開發 mPaaS 應用來說,因為沒有提供 x86 及 x64 的 Native 支援,是以很遺憾的目前沒有辦法以 Android 模拟器調試,隻真機調試。對于 Android 開發者來說,因為 Google 及許多平台的 SDK 對 x86 的支援也不是那麼的好,加上考慮自己的電腦是不是夠快,是以 Android 開發我還是強調建議真機調試。

Q. 請問手機投屏的軟體是?

溫盛章:付費版的 Vysor。

Q. 請問小程式怎麼不選擇 Flutter 作為引擎?

溫盛章:小程式的好處是上層使用的語言(也就是使用 HTML、CSS、JS)及下層搭配用 Web View 顯示已經固定且穩定,是以 mPaaS 優先支援這樣的架構。而 Flutter 在下層使用的引擎不同,我們其實已經有在做嘗試,但現階段還不适合商業公開。等到技術上夠成熟後,會再公開 mPaaS 與 Flutter 的版本。

END

直播回放:快速上手,使用 Kotlin 把支付寶小程式裝進自己的 App主題分享Q&A
直播回放:快速上手,使用 Kotlin 把支付寶小程式裝進自己的 App主題分享Q&A
直播回放:快速上手,使用 Kotlin 把支付寶小程式裝進自己的 App主題分享Q&A