Android自動生成程式碼,視覺化腳手架,將大大提高開發效率

語言: CN / TW / HK

Hello,各位鐵鐵,從今天起,將在一段時間內不間斷的,來分享一些Android中的視覺化腳手架,粗算一下,將會用近15章的內容,來總結與分享當下研究的成果,這是一個相對比較大的工程,並不是專案的工程大,而是把現有的工程,羅列成一個從0到1的教程,需要很耗時的,既要通俗,又要易懂,並且上來就能可以簡單的實現,這個還是要下功夫的,各位鐵鐵,喜歡此係列課程的話,不妨給個小小的關注。

實話實說,APP端的一個靈活可用的腳手架,市場還是很匱乏的,相關的資料也是乏陳可善,在探索了一些渠道及不斷的碰壁之後,針對自己公司所用的技術範疇,開發了一個適用的腳手架,技術也許不一,但開發腳手架的思路是百變不離其宗的,無非就是技術模板的不一樣,目前已經更新到了1.2版本,基本上可以滿足一部分的開發需求,後續擴充套件的功能還有很多,一個最終的目標是解放開發人員的雙手,讓開發人員迴歸邏輯的編寫與空出學習的時間。

目前的視覺化腳手架,如下圖,包含了自動化建立專案,建立主元件,單元件,Activity,Fragment,物件生成,拖拽Xml,自動化列表,Shape生成這幾部分的功能,後續隨著需求的增加,相關的功能也會不斷的拓展,這篇文章僅作為一個前言,大概介紹一些相關的功能,後續逐步進入到實際的開發中。

image.png

其實一開始是以Android studio外掛的形式開發的,奈何,檢視的繪製很不方便,還有無法實現拖拽View的靈活實現,最終還是選擇視覺化工具開發,下面一一介紹下相關功能:

一、建立專案及主體架構搭建

正常的專案建立及主體功能,也就是基礎庫的搭建,這一塊是基石,也是頗耗費開發人員的時間,短則幾日,多則N日,猜猜Android腳手架生成需要多久?只需要短短几秒,沒錯,幾秒就可以實現,專案的建立,基礎元件的引入,各個環境及常用功能的初始化,一個基本的專案就生成完畢,剩下的就是開發人員愉快的敲程式碼時刻。

image.png

二、主元件建立

元件化的開發,在專案建立完成之後,往往要根據主要的模組進行主元件的建立,比如一個專案的社群,商城,使用者中心等等,也就是一個MainActivity的Tab整體搭建,目前腳手架的主tab建立使用的是Jetpack的navigation,通過視覺化,短短三兩分鐘,就可以訂製不同數量的tab元件,並且可以真正的實現單元件的獨立執行。

image.png

三、普通元件建立

除了一次性的建立專案及主元件之外,大多數還是在已有的專案中建立需要的元件,同樣腳手架也是支援的。

image.png

四、Activity建立(自動註冊)

大多數的的功能互動,我們還是以Activity居多,腳手架給出了多種頁面生成,大家可以選擇自己適合的生成,也是秒級別生成。

image.png

五、Fragmeng建立

Fragment的建立,和Activity類似。

image.png

六、拖拽檢視生成對應的xml

拖拽檢視是腳手架的一個重點功能,也是極度困擾自己的一個難點,拖拽檢視,可以實現定製化且繫結資料的實現,和Android studio有著明顯的區別,大家可以看下Android studio裡的拖拽,是以 XY座標點,絕對位置的擺放,這種擺放方式,是很難達到我們UI檢視的目的及適配的,腳手架裡的擺放,完全按照實際開發中的,左上右下進行擺放,並且根據自己專案,可以定製化很多可以定製的檢視。

image.png

七、自動化列表

一個專案中出現率極高的便是列表了,從介面的請求到資料的封裝再到檢視的繪製,資料的渲染,這一系列下來,短則幾個小時,多則幾十個小時,腳手架針對列表的生成,只需要簡簡三步,三五分鐘,便可以訂製自己想要的列表,並且可以實現databinding和程式碼的兩種資料填充方式。

image.png

八、shape資源實現

shape是開發中經常用到的資原始檔,空心,實心,多角度,漸變,腳手架涵蓋了實際開發中的多種樣式,並且按照規範的名字給出,讓大家可以根據藍湖,直接可以生成我們想要的效果。

image.png

九、物件的生成

對於物件的封裝,不知道大家使用的什麼,即便是使用GsonFormat,也得需要一些時間,而腳手架的物件生成,大家只關心介面和引數即可,剩下的交給腳手架。

image.png

Android腳手架的開發,始終遵循著靈活,可拓展的思想,儘量能生成的就生成,解放開發人員的雙手,讓開發人員專注於業務邏輯的實現,及留出充足的時間,來探索未知的技術,讓時間為自己的價值而服務。

當然了,視覺化的腳手架並不能實現百分百的程式碼,一些複雜的邏輯還是必須人員的介入,但從一定程度上,還是提高了不少效率,後續隨著腳手架,我也會開發一套在Android studio中適用的程式碼生成外掛,以後存在的形式,以視覺化工具+Android studio外掛,希望可以幫助到更多的Android開發者。