在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機(jī)編程>

使用Swfit重寫Uber的好與壞

大?。?/span>0.5 MB 人氣: 2017-09-28 需要積分:1

  本文出自Uber移動(dòng)架構(gòu)和框架組負(fù)責(zé)人托馬斯·阿特曼于2016年在灣區(qū)Swift峰會(huì)上的演講,分享了使用Swfit重寫Uber的好與壞。以下為譯文:

  我是托馬斯·阿特曼,目前是Uber移動(dòng)架構(gòu)和框架組負(fù)責(zé)人。Uber現(xiàn)在的用戶量已經(jīng)達(dá)到數(shù)百萬(wàn),這么大的用戶量,Uber是如何用框架實(shí)現(xiàn)的呢?

  Swift與百位工程師的故事——原因、架構(gòu)、經(jīng)驗(yàn)

  今天我想談?wù)勔话俣嗝鸘ber工程師是如何使用Swift編程語(yǔ)言的,在上周三新發(fā)布的Rider App主應(yīng)用程序全部都是用Swift語(yǔ)言重構(gòu)的。接下來(lái)我的分享主要包括三個(gè)部分:選擇Swift的原因、Uber新架構(gòu);重構(gòu)經(jīng)驗(yàn)。

  優(yōu)步的開端——重構(gòu)的原因

  這是整個(gè)移動(dòng)團(tuán)隊(duì)四年前的樣子(指向屏幕顯示有三名工程師的照片),就是從那時(shí)開始,他們著手搭建了我們現(xiàn)在這套老應(yīng)用的基礎(chǔ)。老的應(yīng)用程序已經(jīng)穩(wěn)定使用了四年,但由于移動(dòng)開發(fā)團(tuán)隊(duì)的指數(shù)級(jí)的增長(zhǎng),這套架構(gòu)的缺點(diǎn)也逐漸顯示出來(lái),基于這套老架構(gòu)想做功能開發(fā)也變得越來(lái)越困難。由于跟不同團(tuán)隊(duì)之間共用了很多ViewController,所以每次也需要對(duì)其它的代碼進(jìn)行測(cè)試。老架構(gòu)真正讓我們感到崩潰的主要原因是它是由兩位工程師寫出來(lái)的,但是目前團(tuán)隊(duì)已經(jīng)發(fā)展到了100多人。與此同時(shí),那套產(chǎn)品本身的用戶量也不大。我們已經(jīng)在多個(gè)城市開始運(yùn)行,產(chǎn)品滑塊底部密集的問(wèn)題也顯示出來(lái)了,原因就是因?yàn)樗械膱F(tuán)隊(duì)都希望在他們所在的城市能夠推出新的產(chǎn)品。我們也想對(duì)Rider App做一套全新的用戶體驗(yàn)界面?;谏鲜龅倪@些問(wèn)題,其實(shí)歸納起來(lái)也就是目前那套應(yīng)用的架構(gòu)問(wèn)題和用戶體驗(yàn)界面的全新設(shè)計(jì)問(wèn)題。未來(lái)不再是研究老架構(gòu)然后去解決問(wèn)題這種形式了,而是一切都從頭開始。

  2015年做了很多糾正錯(cuò)誤工作,試圖去完善老的結(jié)構(gòu),但對(duì)Uber的全新設(shè)計(jì),將會(huì)從根本上解決問(wèn)題,到時(shí)會(huì)處于一個(gè)更安全的階段,從頭去重新設(shè)計(jì)也是最理想的一種解決問(wèn)題的方式。

  重構(gòu)架構(gòu)的目標(biāo)——穩(wěn)定可靠并且支持未來(lái)發(fā)展

  基于這兩個(gè)重構(gòu)原因開始了新架構(gòu)的研發(fā)。最基本的需求就是滿足上述兩個(gè)要求,保證四條核心流程的穩(wěn)定,這基本上就意味著崩潰率處于最低級(jí)別。 如果您的應(yīng)用程序沒有崩潰,但用戶仍然停留在某些屏幕上,顯然這問(wèn)題很重大,這會(huì)讓用戶覺得不可靠。

  我們當(dāng)然也希望新開發(fā)的架構(gòu)能夠支持Uber接下來(lái)數(shù)年的發(fā)展,就像當(dāng)時(shí)設(shè)計(jì)這套老架構(gòu)的時(shí)候是為了滿足過(guò)去這四年發(fā)展的想法是一樣的。

  Swift成為了我們的選擇

  為了實(shí)現(xiàn)上述的兩個(gè)目標(biāo),我們選擇了Swift。當(dāng)時(shí)我們認(rèn)為Swift是更加安全的,至少在設(shè)想里是的,然而實(shí)際生活中并沒有人去驗(yàn)證這一點(diǎn)。

  我們認(rèn)為編譯器中的類型安全性會(huì)讓問(wèn)題更早的暴露出來(lái),而不是等到產(chǎn)品上線以后再出現(xiàn)問(wèn)題。

  而我們知道,從現(xiàn)在開始的這四年,Swift將會(huì)進(jìn)入到一段黃金發(fā)展期,它將會(huì)成為蘋果公司未來(lái)唯一一門大力推廣的語(yǔ)言。

  時(shí)間線

  從今年年初開始啟動(dòng)的,在二月份的時(shí)候,我們當(dāng)時(shí)還希望我們所做的事情是正確的,因?yàn)橛幸恍┕こ處熢谝郧暗墓揪突ㄙM(fèi)了大量的時(shí)間去做重構(gòu)的事,但最終都以失敗告終。為了保證重構(gòu)能成功,挑選出了幾位核心工程師,讓他們花了5個(gè)月的時(shí)間去研究老的架構(gòu),在這5個(gè)月的時(shí)間內(nèi),我們就只干這一件事:架構(gòu),框架,完成一些基礎(chǔ)的工作,最終搭建了一套很完美的基礎(chǔ)框架,所有人都是以這套基礎(chǔ)框架為原型進(jìn)行開發(fā)。

  6月,架構(gòu)搭建好,開始讓核心流團(tuán)隊(duì)開始使用。核心流打算采用一種新的uberX騎行或者是uberPOOL騎行,因此我們?cè)黾恿?0位工程師,花了兩個(gè)月的時(shí)間去審查新的架構(gòu),確保我們提出來(lái)的東西與之前構(gòu)建一款新產(chǎn)品的要求是吻合的。事實(shí)證明,與最開始的產(chǎn)品要求相比,的確遺漏了一些東西,比如在視圖層,一旦工程師開始進(jìn)行轉(zhuǎn)換或者做一些復(fù)雜的視圖操作,那么我們必須調(diào)整架構(gòu)以滿足他們的需求。但是過(guò)了兩個(gè)月,我們?nèi)〉昧诵碌倪M(jìn)展,我們不再需要對(duì)代碼庫(kù)進(jìn)行大量遷移,并且把平臺(tái)開放給了每一個(gè)人,如果他們需要的話,也可以移交他們的功能了。

  新架構(gòu)

  新架構(gòu)叫”Riblets”,它是由Router、Interaction、Builder、Presenter、View這幾個(gè)核心組件構(gòu)成的,這也是VIPER框架的一種思想。我們研究了VIPER、MVVM和MVC,最終提出的方案是在VIPER基礎(chǔ)之上增加一些我們自己創(chuàng)新的元素在里面。最終目標(biāo)就是將每個(gè)功能模塊化,并且每一個(gè)模塊可以獨(dú)立的進(jìn)行測(cè)試。Riblet框架里的每一個(gè)核心組件都有一個(gè)協(xié)議接口,所以開發(fā)者可以把每一個(gè)單元單獨(dú)拿出來(lái),對(duì)它進(jìn)行充分的測(cè)試。Riblets框架里的每一個(gè)模塊都會(huì)在樹里面進(jìn)行管理,因此沒有狀態(tài)機(jī),取而代之的是一個(gè)狀態(tài)樹。狀態(tài)樹里面的每一個(gè)節(jié)點(diǎn)就是一個(gè)Riblet,新架構(gòu)中的核心部分是基于業(yè)務(wù)邏輯的,而不是視圖邏輯,并且所有的業(yè)務(wù)邏輯都是由本地決定的。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 性欧美精品xxxx | 国产激烈无遮挡免费床戏视频 | 老师您的兔子好软水好多动漫视频 | 国产农村三片免费网站 | www.色日本| 欧美激情区 | 午夜丁香影院 | 成人夜夜| 亚洲不卡在线播放 | 在线免费看影视网站 | 国产精品夜夜春夜夜爽久久 | 六月激情婷婷 | 手机看片神马午夜 | 亚洲高清不卡视频 | 一级中文字幕乱码免费 | 亚洲色妞| 9299yy看片淫黄大片在线 | 天堂在线.www资源在线观看 | 丁香综合在线 | 久久精品国产2020观看福利色 | 日本免费一区二区老鸭窝 | 国产午夜视频在线观看第四页 | 亚洲涩色 | 欧美成人免费 | 熊出没之环球大冒险旧版免费观看 | 亚洲系列中文字幕一区二区 | 成人国产激情福利久久精品 | 成 人 免费 黄 色 视频 | 理论片人人51 | 免费公开在线视频 | 手机在线观看免费视频 | 精品成人在线 | 精品一区亚洲 | 日本黄在线观看 | 国产一区高清 | 五月天婷婷在线观看 | 午夜精品久久久久久久99 | 成人xxxxx | 五月天激情在线 | 114毛片免费观看网站 | 日本理论在线观看被窝网 |