超優(yōu)雅「快應(yīng)用」開發(fā)腳手架

快應(yīng)用是基于手機(jī)硬件平臺(tái)的新型應(yīng)用形態(tài)烫止,標(biāo)準(zhǔn)是由主流手機(jī)廠商組成的快應(yīng)用聯(lián)盟聯(lián)合制定呻疹。其標(biāo)準(zhǔn)的誕生將在研發(fā)接口击狮、能力接入话侧、開發(fā)者服務(wù)等層面建設(shè)標(biāo)準(zhǔn)平臺(tái)栗精,以平臺(tái)化的生態(tài)模式對(duì)個(gè)人開發(fā)者和企業(yè)開發(fā)者全品類開放。快應(yīng)用具備傳統(tǒng) APP 完整的應(yīng)用體驗(yàn)瞻鹏,無需安裝悲立、即點(diǎn)即用鹿寨;覆蓋 10 億設(shè)備與操作系統(tǒng)深度集成级历,探索新型應(yīng)用場景快應(yīng)用 ── 復(fù)雜生活的簡單答案寥殖,讓生活更順暢玩讳。

快應(yīng)用腳手架模板

目標(biāo)與哲學(xué)

快應(yīng)用是一種新型的應(yīng)用形態(tài),由國內(nèi)九大手機(jī)廠商基于硬件平臺(tái)共同推出嚼贡;秒開即點(diǎn)即用熏纯,更易于應(yīng)用的傳播和留存,可以為用戶提供更高效的服務(wù)粤策。在可預(yù)見的未來樟澜,其將有不錯(cuò)的應(yīng)用場景和發(fā)展空間。此 quickapp-boilerplate-template 倉庫的建立叮盘,旨在探索如何更為優(yōu)雅的開發(fā)快應(yīng)用秩贰,為廣大快應(yīng)用開發(fā)者提供便利和參考,盡可能提升開發(fā)效率柔吼、優(yōu)化開發(fā)體驗(yàn)毒费,使得可以在更短時(shí)間內(nèi),塑造出更為優(yōu)質(zhì)的快應(yīng)用愈魏。關(guān)于快應(yīng)用開發(fā)更詳細(xì)資料觅玻,可參見快應(yīng)用教程資源列表

組織結(jié)構(gòu)

├── sign                # 存儲(chǔ) rpk 包簽名模塊;
│   ├── debug           # 調(diào)試環(huán)境證書/私鑰文件
│   └── release         # 正式環(huán)境證書/私鑰文件
└── src
│   ├── assets          # 公用的資源(images/styles/字體...)
│   │   ├──images       # 存儲(chǔ) png/jpg/svg 等公共圖片資源
│   │   ├──js           # 存儲(chǔ)公共 javaScript 代碼資源
│   │   └──styles       # 存放 less/css/sass 等公共樣式資源
│   ├── helper          # 項(xiàng)目自定義輔助各類工具
│   │   ├──apis         # 存儲(chǔ)與后臺(tái)請求接口相關(guān)(已封裝好)
│   │   ├──ajax.js      # 對(duì)系統(tǒng)提供的 fetch api 進(jìn)行鏈?zhǔn)椒庋b
│   │   └──utils        # 存放項(xiàng)目所封裝的工具類方法
│   ├── pages           # 統(tǒng)一存放項(xiàng)目頁面級(jí)代碼
│   ├── app.ux          # 應(yīng)用程序代碼的人口文件
│   └── manifest.json   # 配置快應(yīng)用基本信息
└── package.json        # 定義項(xiàng)目需要的各種模塊及配置信息

如何使用

git clone https://github.com/nicejade/quickapp-boilerplate-template.git
cd quickapp-boilerplate-template && yarn
yarn start # 推薦 ??

# 或者運(yùn)行以下命令
yarn server & yarn watch

# 或者在終端一 Tab 下運(yùn)行:
yarn server
# 在終端另一 Tab 下運(yùn)行:
yarn watch

# ? 新增「快應(yīng)用」頁面
yarn gen YourPageName

用一臺(tái) Android 手機(jī)培漏,下載安裝「快應(yīng)用」調(diào)試器溪厘,打開后操作掃碼安裝,掃描如上命令生成的二維碼牌柄,即可看到效果畸悬;更多訊息,請參見快應(yīng)用環(huán)境搭建友鼻。

改進(jìn)優(yōu)勢

有必要談及的是傻昙,此項(xiàng)目秉承在高效開發(fā) Web 單頁應(yīng)用解決方案中所傳遞的理念:為高效開發(fā)而設(shè)計(jì);相比于其內(nèi)置簡陋而凌亂的 Demo彩扔,這份腳手架做了以下諸多改進(jìn):

  • ?? 對(duì)項(xiàng)目結(jié)構(gòu)進(jìn)行優(yōu)化;如上組織結(jié)構(gòu)所示僻爽,將各資源模塊虫碉,更專業(yè)的分門別類,使之可以便捷的去編寫胸梆、維護(hù)敦捧、查找须板,同時(shí)也是基于前端開發(fā)既定共識(shí)去設(shè)計(jì),更容易為初接觸者所理解 & 上手兢卵;
  • ?? 更優(yōu)雅的處理數(shù)據(jù)請求习瑰;采用 Promise 對(duì)系統(tǒng)內(nèi)置請求 @system.fetch 進(jìn)行封裝,并拋出至全局秽荤,使得可以極簡的進(jìn)行鏈?zhǔn)秸{(diào)用甜奄,同時(shí)便捷地處理返回?cái)?shù)據(jù);
  • ?? 內(nèi)置了樣式處理方案窃款;「快應(yīng)用」支持 less, sass 的預(yù)編譯课兄;這里采取 less 方案,并內(nèi)置了部分變量晨继,以及常用混合方法烟阐,使得可以輕松開啟樣式編寫、復(fù)用紊扬、修改等蜒茄;
  • ?? 封裝了常用方法;在 helper/utils 路徑下餐屎,有對(duì)日期檀葛、字符串、系統(tǒng)等常用方法啤挎,分別進(jìn)行封裝驻谆,統(tǒng)一暴露給 global.$utils,使得維護(hù)方式更加合理且健壯庆聘,同時(shí)又可以便捷的使用胜臊,高效開發(fā);當(dāng)然伙判,你也可以根據(jù)需要自行增刪象对、抑或擴(kuò)展;
  • ?? 簡化開始開發(fā)流程宴抚; 注入 Concurrently 插件勒魔,使可以運(yùn)行 yarn start 即可開始開發(fā),而無需更多命令菇曲,從而簡潔開發(fā)流程冠绢;
  • ?? 優(yōu)化本地開發(fā)端口設(shè)定;「快應(yīng)用」默認(rèn)端口為 12306常潮,雖說可自定義端口弟胀,但使用體驗(yàn)卻不夠友好;此處參考 creat-react-app 設(shè)定,對(duì)本地開發(fā)地址端口使用進(jìn)行優(yōu)化:如果 ??? 定端口(默認(rèn): 8080)被占用孵户,則向上遞增尋找新的可用端口(如:8081 / 8082 / … )萧朝;
  • ?? 瀏覽器打開調(diào)試主頁二維碼;運(yùn)行 yarn start夏哭,會(huì)啟動(dòng) HTTP 調(diào)試服務(wù)器检柬,并將該地址在命令行終端顯示五芝,手機(jī)端用快應(yīng)用調(diào)試器掃碼泳桦,即可下載并運(yùn)行 rpk 包宙枷;當(dāng)終端積累的信息流多了菊卷,就造成掃碼不便终息;故增設(shè)在瀏覽器打開調(diào)試主頁二維碼螟凭;如想不使用此功能勘高,在 command/server.js 文件中婉商,將 autoOpenBrowser 設(shè)置為 false 即可龄减;
  • ?? 集成輕粒子統(tǒng)計(jì)分析项钮; 輕粒子作為官方推薦統(tǒng)計(jì)方案,此腳手架已做接入希停;使用時(shí)只需修改 statistics.config.js 中的 app_key烁巫,為在輕粒子所申請的快應(yīng)用 KEY 即可;
  • ?? 新增快捷命令腳本宠能;使得可以一鍵生成新頁面亚隙,只需運(yùn)行:yarn gen YourPageName (命名推薦統(tǒng)一為大駝峰,將會(huì)在 pages 路徑下新建該頁面文件夾)命令即可违崇,當(dāng)然阿弃,也可以根據(jù)需要,自行定定制模板:/command/gen/template.ux羞延;
  • ?? 集成 Prettier & Eslint渣淳;在檢測代碼中潛在問題的同時(shí),統(tǒng)一團(tuán)隊(duì)代碼規(guī)范伴箩、風(fēng)格(js入愧,lessscss等)嗤谚,從而促使寫出高質(zhì)量代碼棺蛛,以提升工作效率(尤其針對(duì)團(tuán)隊(duì)開發(fā))。
  • 編寫 prettier-plugin-quickapp 插件巩步;為快應(yīng)用編寫 prettier 插件旁赊,使其可以針對(duì) .ux/.mix 文件也能很好地工作,從而進(jìn)一步完善代碼風(fēng)格及規(guī)范椅野。
  • ... ...

相關(guān)鏈接

原文出處:靜晴軒別苑
原文首發(fā):快應(yīng)用腳手架彤恶,為優(yōu)雅而生

@2018-11-11 于深圳.福田 Last Modify:2018-11-11


同類型文章

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钞钙,一起剝皮案震驚了整個(gè)濱河市鳄橘,隨后出現(xiàn)的幾起案子声离,更是在濱河造成了極大的恐慌,老刑警劉巖瘫怜,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件术徊,死亡現(xiàn)場離奇詭異,居然都是意外死亡鲸湃,警方通過查閱死者的電腦和手機(jī)赠涮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來暗挑,“玉大人笋除,你說我怎么就攤上這事≌桑” “怎么了垃它?”我有些...
    開封第一講書人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長烹看。 經(jīng)常有香客問我国拇,道長,這世上最難降的妖魔是什么惯殊? 我笑而不...
    開封第一講書人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任酱吝,我火速辦了婚禮,結(jié)果婚禮上土思,老公的妹妹穿的比我還像新娘务热。我一直安慰自己,他們只是感情好己儒,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開白布崎岂。 她就那樣靜靜地躺著,像睡著了一般址愿。 火紅的嫁衣襯著肌膚如雪该镣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評(píng)論 1 290
  • 那天响谓,我揣著相機(jī)與錄音损合,去河邊找鬼。 笑死娘纷,一個(gè)胖子當(dāng)著我的面吹牛嫁审,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赖晶,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼律适,長吁一口氣:“原來是場噩夢啊……” “哼辐烂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捂贿,我...
    開封第一講書人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤纠修,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后厂僧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扣草,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年颜屠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辰妙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡甫窟,死狀恐怖密浑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情粗井,我是刑警寧澤尔破,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站背传,受9級(jí)特大地震影響呆瞻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜径玖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一痴脾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梳星,春花似錦赞赖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至韵吨,卻和暖如春匿垄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背归粉。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來泰國打工椿疗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人糠悼。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓届榄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親倔喂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子铝条,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,796評(píng)論 25 707
  • 用兩張圖告訴你靖苇,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 12,699評(píng)論 2 59
  • 1班缰、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明先生_X自主閱讀 15,969評(píng)論 3 119
  • 認(rèn)識(shí)到木心先生,是一首歌《從前慢》给梅。為此,我也曾寫過一篇文:不是從前慢双揪,而是你走的太匆忙动羽。 閑來讀讀先生的句子,頗...
    theLittleSarah閱讀 6,778評(píng)論 53 320
  • 那是好久以前的事了渔期,是我最后一次上初中的數(shù)學(xué)課运吓,那是大考前的一周,說實(shí)話疯趟,我也不覺得有啥可以上的拘哨,記得老師的名字叫...
    馬可約伯閱讀 448評(píng)論 0 0