一個(gè)在線(xiàn)的Jetpack模版項(xiàng)目生成工具

引言

不知道大家用過(guò)Spring Initializr沒(méi)有,這個(gè)是鼎鼎大名的Spring boot 在線(xiàn)生成工具鼓黔,一個(gè)完美的生態(tài)央勒,給開(kāi)發(fā)者提供太多的便利,默默付出著澳化,可為什么沒(méi)有一個(gè)Android項(xiàng)目的在線(xiàn)生成工具呢崔步?大家都不需要嗎,我并不這么想缎谷,大家都知道Jetpack提供了一套Android應(yīng)用開(kāi)發(fā)的各種組件井濒,甚是方便,而且官方還專(zhuān)門(mén)開(kāi)源了這個(gè)architecture-components-samples列林,里面有大量的模版的項(xiàng)目瑞你,不光是官方,有很多的作者也都針對(duì)MVVM做了開(kāi)源希痴,我本人也做過(guò)MVP的開(kāi)源項(xiàng)目者甲,都是基于實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)搭建起來(lái)的。
知名的MVVM:

  • MVVM-Architecture
  • Jetpack-MVVM-Best-Practice
  • MVVMHabit
    等等吧砌创,但是對(duì)于這些項(xiàng)目虏缸,你有沒(méi)有一種困惑,如果我們用他們總結(jié)好的經(jīng)驗(yàn)去開(kāi)發(fā)新的項(xiàng)目嫩实,是不是面臨修改包名刽辙,添加一些自己喜歡的框架依賴(lài)等等需求,但這怎么做的到呢甲献?這就是我接下來(lái)要做的事情宰缤,做一個(gè)在線(xiàn)Android項(xiàng)目生成工具

Jetpack在線(xiàn)生成工具

為什么叫Jetpack生成工具呢,為什么竟纳?你自己體會(huì)撵溃,哈哈,這不是重點(diǎn)锥累,重點(diǎn)是我們要做出什么樣子缘挑,請(qǐng)看設(shè)計(jì)圖,確切說(shuō)是實(shí)現(xiàn)圖桶略,因?yàn)橐呀?jīng)部署了语淘,請(qǐng)點(diǎn)擊標(biāo)題查看




三張圖诲宇,看清楚了嗎?其實(shí)這個(gè)在線(xiàn)工具主要有如下功能

  • 自定義包名
  • 自定義項(xiàng)目名
  • 選擇開(kāi)發(fā)語(yǔ)言
  • 選擇要集成的框架惶翻,集成框架分為默認(rèn)依賴(lài)姑蓝,就是在build.gradle中添加基礎(chǔ)依賴(lài),添加用例的話(huà)就是添加基礎(chǔ)的封住+demo示例吕粗。
  • MVVM架構(gòu)模版選擇纺荧,后期集成更多的MVVM模版進(jìn)來(lái)提供給大家自定義項(xiàng)目
    現(xiàn)在看來(lái)是不是有點(diǎn)意思了,但這些功能如何實(shí)現(xiàn)呢颅筋?下面我講講我的實(shí)現(xiàn)思路

實(shí)現(xiàn)

基本的構(gòu)成 = 網(wǎng)站 + 服務(wù)
網(wǎng)站我選擇用flutter實(shí)現(xiàn)宙暇,因?yàn)閒lutter的便利已經(jīng)讓我愛(ài)不釋手,一套代碼運(yùn)行android议泵、ios占贫、web,很不錯(cuò)
服務(wù)我選擇nodejs先口,因?yàn)閚odejs最適合做這種小工具型奥,開(kāi)發(fā)簡(jiǎn)單,運(yùn)行穩(wěn)定碉京。

flutter 實(shí)現(xiàn)

已經(jīng) 開(kāi)源至 github 我做的網(wǎng)站整套代碼都在這里
ibaozi
請(qǐng)看如圖中的代碼實(shí)現(xiàn)

jetpack包

nodejs 實(shí)現(xiàn)

跟大家分享下經(jīng)驗(yàn)
其實(shí)最大的難點(diǎn)就是厢汹,包名的替換,關(guān)鍵字的替換收夸,網(wǎng)上搜了很多坑匠,找到如下幾個(gè)特別火的,可以任選其一實(shí)現(xiàn)
https://yeoman.io/
https://github.com/wycats/handlebars.js
參考項(xiàng)目:
https://github.com/dekzitfz/generator-code-base-android
最關(guān)鍵的代碼實(shí)現(xiàn)

   this.fs.copyTpl(
          this.templatePath('settings.gradle'),
          this.destinationPath(rootDir + '/settings.gradle'),
          {app_name: this.answers.name.replace(/\s/g, '')}
        );

該項(xiàng)目就是通過(guò)這段代碼卧惜,復(fù)制模版代碼,然后替換里面定義好的app_name夹纫,然后將替換好的代碼粘貼到另一個(gè)路徑里咽瓷。

todo

網(wǎng)站在重構(gòu)中,為了功能的完整性和穩(wěn)定性舰讹,未來(lái)會(huì)繼續(xù)更新茅姜,感謝您的支持,多多關(guān)注Jetpcak.net.cn月匣,未來(lái)會(huì)呈現(xiàn)一個(gè)完整的網(wǎng)站給您钻洒,感謝??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市锄开,隨后出現(xiàn)的幾起案子素标,更是在濱河造成了極大的恐慌,老刑警劉巖萍悴,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件头遭,死亡現(xiàn)場(chǎng)離奇詭異寓免,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)计维,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)袜香,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人鲫惶,你說(shuō)我怎么就攤上這事蜈首。” “怎么了欠母?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵疾就,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我艺蝴,道長(zhǎng)猬腰,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任猜敢,我火速辦了婚禮姑荷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缩擂。我一直安慰自己鼠冕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布胯盯。 她就那樣靜靜地躺著懈费,像睡著了一般。 火紅的嫁衣襯著肌膚如雪博脑。 梳的紋絲不亂的頭發(fā)上憎乙,一...
    開(kāi)封第一講書(shū)人閱讀 51,274評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音叉趣,去河邊找鬼泞边。 笑死,一個(gè)胖子當(dāng)著我的面吹牛疗杉,可吹牛的內(nèi)容都是我干的阵谚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼烟具,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼梢什!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起朝聋,我...
    開(kāi)封第一講書(shū)人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嗡午,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后玖翅,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體翼馆,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡割以,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了应媚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片严沥。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖中姜,靈堂內(nèi)的尸體忽然破棺而出消玄,到底是詐尸還是另有隱情,我是刑警寧澤丢胚,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布翩瓜,位于F島的核電站,受9級(jí)特大地震影響携龟,放射性物質(zhì)發(fā)生泄漏兔跌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一峡蟋、第九天 我趴在偏房一處隱蔽的房頂上張望坟桅。 院中可真熱鬧,春花似錦蕊蝗、人聲如沸仅乓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)夸楣。三九已至,卻和暖如春子漩,著一層夾襖步出監(jiān)牢的瞬間豫喧,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工痛单, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嘿棘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓旭绒,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親焦人。 傳聞我的和親對(duì)象是個(gè)殘疾皇子挥吵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容