阿里Atlas
Atlas history
Atlas發(fā)展史
2013年曹鸠,手淘航母戰(zhàn)略的制定,帶來(lái)了業(yè)務(wù)和開(kāi)發(fā)人員的翻倍膨脹斥铺。從不到100人猛增四五倍彻桃,同時(shí)業(yè)務(wù)數(shù)量大增,整個(gè)客戶端的架構(gòu)和發(fā)版節(jié)奏受到極大挑戰(zhàn)晾蜘,Atlas作為之前手淘客戶端的基礎(chǔ)框架邻眷,進(jìn)行了一次大的重構(gòu),形成了今天的Atlas剔交。
What is Atlas
Atlas是什么
Atlas是伴隨著手機(jī)淘寶的不斷發(fā)展而衍生出來(lái)的一個(gè)運(yùn)行于Android系統(tǒng)上的一個(gè)容器化框架肆饶,我們也叫動(dòng)態(tài)組件化(Dynamic Bundle)框架。
Atlas advantage
Atlas的優(yōu)勢(shì)
Atlas本身非常輕量省容,只有90多個(gè)類抖拴,支持大小型App開(kāi)發(fā),從大型的手淘到相對(duì)小型的阿里健康等都是用的這個(gè)框架腥椒。手淘自身超過(guò)60+業(yè)務(wù)組件阿宅、20個(gè)協(xié)作團(tuán)隊(duì),以及百萬(wàn)行級(jí)別代碼都在Atlas上運(yùn)行笼蛛,其快速迭代能力讓?xiě)?yīng)用的發(fā)布周期從每月到每周再到隨時(shí)發(fā)布洒放,在過(guò)去半年里就發(fā)布了446次。
Atlas主要提供了解耦化滨砍、組件化往湿、動(dòng)態(tài)性的支持。覆蓋了工程師的工程編碼期惋戏、Apk運(yùn)行期以及后續(xù)運(yùn)維期的各種問(wèn)題领追。
在工程期,實(shí)現(xiàn)工程獨(dú)立開(kāi)發(fā)响逢,調(diào)試的功能绒窑,工程模塊可以獨(dú)立。
在運(yùn)行期舔亭,實(shí)現(xiàn)完整的組件生命周期的映射些膨,類隔離等機(jī)制。
在運(yùn)維期钦铺,提供快速增量的更新修復(fù)能力订雾,快速升級(jí)。
服務(wù)端swift
Introduction to Perfect framework
Perfect框架簡(jiǎn)介
Perfect框架是目前比較完善的Swift服務(wù)端框架之一矛洞,當(dāng)然其他的還有Vapor等其他的開(kāi)源框架洼哎,橫向的對(duì)比了一下,還是Perfect的功能全面一些,目前Perfect的最新版本是2.0谱净,由加拿大一創(chuàng)業(yè)團(tuán)隊(duì)開(kāi)發(fā)并維護(hù)窑邦。
Perfect框架是開(kāi)源的擅威,在Github上可以找到相關(guān)的源代碼(Perfect-Github
https://github.com/PerfectlySoft/Perfect)壕探。
Perfect的官網(wǎng)地址:https://www.perfect.org/,官網(wǎng)上有相關(guān)的Demo以及使用文檔郊丛,關(guān)鍵是其開(kāi)發(fā)文檔有中文版的李请,這一點(diǎn)還是比較好的,官方開(kāi)發(fā)文檔地址:https://www.perfect.org/docs/index_zh_CN.html
Perfect framework acquisition and compilation
Perfect的框架獲取和編譯
首先我們從Github上Clone一份Perfect框架的模板(PerfectTemplate:https://github.com/PerfectlySoft/PerfectTemplate)厉熟。具體執(zhí)行命令以及執(zhí)行結(jié)果如下所示:
在PerfectTemplate目錄中有一個(gè)Package.swift文件导盅,其中可以指定工程的名稱以及工程所依賴的包。首先我們打開(kāi)Package.swift揍瑟,指定我們工程的文件名白翻。具體如下所示。
指定完成工程名绢片,接下來(lái)就該編譯我們的模板工程了滤馍,下方是編譯并執(zhí)行上述工程的命令,因?yàn)槭状尉幾g時(shí)需要從github上下載相關(guān)的依賴包底循,所以首次編譯的過(guò)程是比較漫長(zhǎng)的巢株,等待一段時(shí)間,編譯和執(zhí)行的命令如下:
編譯完成后熙涤,會(huì)提示你鏈接并運(yùn)行的命令阁苞,如果執(zhí)行該命令后,你的Perfect服務(wù)端
的服務(wù)就啟動(dòng)了祠挫,如下所示:
執(zhí)行完畢后那槽,我們就可以通過(guò)瀏覽器訪問(wèn)我們的Perfect服務(wù)器了。默認(rèn)端口是8181等舔,所以我們?cè)L問(wèn)的本級(jí)地址是localhost:8181骚灸。下方是訪問(wèn)上述地址返回的具體信息,如下所示:
我們可以在Source文件夾下的 main.swift文件中對(duì)我們的服務(wù)進(jìn)行相關(guān)的配置软瞎,我們可以改一下端口和返回的內(nèi)容:
重新編譯并運(yùn)行逢唤,結(jié)果如下所示:
******END******