Поглед изнутра на Фацебоок процес развоја мобилних апликација

Аутор: Laura McKinney
Датум Стварања: 4 Април 2021
Ажурирати Датум: 1 Јули 2024
Anonim
High Density 2022
Видео: High Density 2022

Садржај


Недавно сам посетио Фејсбук седиште у Лондону да бих сазнао о процесу развоја и одржавања његове мобилне Фацебоок апликације. Много више се догађа овде него што вероватно схватате: неким Фацебоок-овим апликацијама овде се рукује у целости, попут ВхатсАппа за радну површину и пословно оријентисане апликације Воркплаце.

Канцеларије су управо оно што бисте очекивали од слике компаније Фацебоок, мада можда и не баш превише за нивое Друштвене мреже. Овде се обавља озбиљан посао, али свеједно постоји тренди, лепршава и опуштена атмосфера. Запослени могу да носе преносне рачунаре где год желе, постоји штампарија за израду плаката (само зато), наручена уметничка дела на неколико зидова и дивовска корњача Ниња - никад нисам добио одговор зашто.

Ох, а храна је невероватна. Био сам тамо током кинеске нове године и имао сам вишеструко свињски стомаци. Добра времена.


Међутим, нисам био тамо да бих уживао у декору и кухињи, био сам тамо да бих учио о Фацебооку на мобилном. Тачније: како на Земљи уопште идете на одржавање овако великог и амбициозног пројекта? Фејсбук помоћни систем служи преко две милијарде људи, а само Андроид апликација види нову верзију која се објављује сваке недеље.

Како управљате апликацијом са тако амбициозним бројем функција

Разговарао сам с Тал Келлнер-ом преко Фацебоок-овог сопственог система телеприсуства. Тал је технички руководилац програма, задужен за тим за ослобађање инжењеринга са седиштем у инжењерској канцеларији у Тел Авиву. Била је више него срећна када је поделила грозне детаље.

Тал и њен тим су први пут поставили своју Лите верзију Фацебоока на иОС

Оно што сам научио било је прилично фасцинантно и из перспективе програмера и као корисника. Ево шта сам сазнао.

Управљање пројектима на Фацебооку - Зашто Сцрум> Ватерфалл

Када гледате било који велики пројекат, морате да размотрите свој приступ управљању пројектима. Један такав пример назива се „водопадом“ управљања пројектом. Ово је секвенцијални и линеарни приступ у којем заузврат радите на одређеној фази, као што је прелазак од идеје до имплементације до тестирања до пуштања.


компаније попут Фацебоока одлучују се за модернији приступ управљању пројектима који се зове „сцрум“

Важно је да у овом приступу не започнете следећу фазу док претходна фаза није завршена. Систем потиче из производње, где се одређене фазе често ослањају на претходну фазу: морате да набавите цигле пре него што можете да изградите зид!

Када је ријеч о софтверу, овај приступ је рестриктиван. У најгорем случају, ажурирање може трајати толико дуго да се уведе, а застарело је до тренутка када стигне. Војвода Нукем Заувек некога?

Стога се неке софтверске компаније одлучују умјесто модернијег приступа званог „сцрум“, што је агилна методологија. Ова метода даје предност раду који је најважнији и раставља га на модуларне делове. Ослања се на комуникацију између унутрашњих одељења, па чак и појединачних агената који раде сами на својим угловима кода.

Резултат је, теоретски, да свако може радити на ономе што им је најважније и да сваки други део посла зна шта ради. Сваки инжењер има висок ниво власништва и сви су на крају одговорни за свој рад. Не само што ову компанију чини окретнијом, већ такође повећава задовољство на радном месту. Нико није само зупчаник у машини.

свако из било којег места у организацији може да предложи идеју за нову функцију

Био сам импресиониран кад сам чуо да било ко из било које организације унутар организације може предложити идеју за нову функцију, а онда да се позабавим тим проблемом, ако му се пружи напредак. Понекад би то могло прерасти у своју засебну апликацију! Фацебоок је много више колаборативни пројекат, него одозго приморана визија неколицине људи (или једне особе) на које се често приказује.

То омогућава Фацебооку да имплементира изузетно брз развојни циклус, омогућавајући ново ажурирање мобилних уређаја сваке недеље, а хиљаде обавеза (предложене промене кода) између тога. Ако сматрате да је то импресивно, веб верзија (чија основа је и мобилна апликација) се ажурира једном у два до три сата!

Фацебоок генерално јако подржава нове идеје и стартап-ове. Чак има иницијативу под називом ЛДН ЛАБ посвећену подршци новим идејама и предузећима.

Проналажење равнотеже

Преузето са Талиних сопствених слајдова

Наравно, и даље ће постојати граница када је у питању шта компанија може да поднесе. Уз оволико кода увијек има простора за побољшање, али мора доћи вријеме када се верзија сматра „довољно добром“.

Ту игра „златни троугао“. Три тачке овог троугла представљају функције, квалитет и време. Свака компанија има могућност да одабере овде: када дође до лома времена, да ли дајете предност новим функцијама на рачун мало више времена? Дозвољавате ли да се неки мањи буг провуче кроз мрежу ако то значи да можете додати више функција? Кад не можете све, приморани сте да дајете предност приоритетима.

На Фацебооку су приоритети квалитета и време. Ако ажурирање падне иза додељеног прозора, вероватно ће се функција поново одбити; а не да се сече угао или да се ажурирање одлаже.

Промјене верзије и жонглирање измјенама

За руковање овим исправкама и променама кода, Фацебоок користи своју модификовану верзију Мерцуриал. То је уместо веома широко коришћеног Гита, који очигледно није био важан ни за потребе компаније. Пхабрицатор је еквивалент ГитХуб-у и користи пуно додатака како би побољшао радни ток, а понекад и само да би ствари учинио мало забавнијима (Фацебоок очигледно воли своје меме).

За оне који нису програми, Мерцуриал је попут Гита систем за контролу верзија. Омогућује великом броју људи да раде на једном комаду софтвера и да уносе измене и исправке без угрожавања главне верзије апликације, назване "главна грана". Ови алати помажу у спречавању сукоба кодова и омогућавају експериментирање. Тек након што је промена темељно одобрена на испитној грани, биће предана главном носитељу.

Замислите да ли је неки сиромашни програмер написао погрешку при упису читавог кода и постојала је само једна верзија! То би био лош дан за све.

Алати попут Мерцуриала омогућавају релативно лако имплементирати сцрум приступ, омогућујући свима да раде на одређеним карактеристикама и грешкама истовремено, пре него што их све заједно споје у један велики лонац.

Једном недељно, кандидат за пуштање ће бити одрезан од мастер-а и то ће тада проћи фазу тестирања. Кодери који су провели читаву недељу радећи на исправкама грешака или новим функцијама, у овом тренутку ће укрстити прсте у нади да ће њихов рад ући у ново ажурирање.

Све поправке у последњем тренутку или промене које изврше чланови тима захтеваће да их „изаберу трешње“ за укључивање у нови огранак од стране одговорних. Како се извештава, познато је да користе мито у облику чоколаде и алкохола дарованим доносиоцима одлука.

За састављање Фацебоок користи другу алатку названу Буцк. Овај јединствени алат за прављење може направити било шта када је у питању пакирање апликације. При циљању различитих платформи нису потребне посебне опције попут Градле или Ант.

Хватање грешака на време

Будући да сви раде на различитим стварима и толико ажурирања излазе на редовној основи, врло је важно да компаније осигурају да њихов софтвер функционише и да нема озбиљних грешака. Фацебоок већим делом има прилично добре резултате вођења ствари.

У том циљу, тим подели тестирање софтвера на слојеве који се називају Ц1, Ц2 и Ц3.

Ц1 је интерно тестирање и сви запослени ће покренути ту верзију. Током Ц2, верзија има два процента јавности, а Ц3 је производња. Уколико се пронађе нешто заиста озбиљно, сваки запослени ће моћи да приступи тастеру за заустављање у нужди како би производњу зауставио.

Волонтери који се истичу да држе кораке да напредују називају се „дрљачи стабала“ (јер гране), и раде то поврх својих редовних послова.

На мобилном уређају слични слојеви се називају алфа, бета и прод. Алпха значи интерни тест који ће обавити сви запослени. Процес било које компаније који користи сопствене производе на овај начин се назива „догфоодинг“ - од „једења властите хране за псе“.

Тестерима је на располагању и неколико јединствених и занимљивих алата за брзо пријављивање грешака. Један је „Рагесхаке“, где ће једноставно тресење уређаја фрустрирано омогућити извештај о грешци, као што је то случај са Гоогле мапама.

Тестерима је на располагању и неколико јединствених и занимљивих алата за брзо пријављивање грешака

Током алфа - која се ефективно односи на било какво интерно тестирање, Фацебоок такође користи аутоматско тестирање како би покренуо апликацију. На пример, један недавно купљени комад софтвера који се зове „Сапиенз“ у основи делује кликом на свако дугме и коришћењем сваке функције у насумичном нападу док не покрене пад. Затим бележи траг стака, бележи радњу и враћа извештај.

Бета апликација (верзија коју је тестирала општа јавност) пролази кроз мали пододељак (~ 2 процента) шире јавности. Овај мали исјечак ће добити ажурирање унапријед, пружајући Фацебооку повратне информације у стварном свијету. Ако се све чини као добро, ажурирање ће изаћи на целу популацију, а процес започиње изнова.

Снажни алати за аутоматизацију и множење сила

Да би цео овај процес био што бржи и што једноставнији, Фацебоок користи велики број различитих алата. Већ смо видели како компанија користи Пхабрицатор и Сапиенз, али има друге алате и додатке за друге фазе.

Алат под називом Пицкниц окупља све захтеве за повлачењем (промене које су запослени извршили) на једном месту ради брзог и једноставног прегледа.

Када тестирање открива грешку, бот звани Нагбот обавјештава одговорне и лагано их упућује у посао. Кориштење рудиментарног АИ-ја за руковање овим процесом не само да осигурава посао обављен, већ и омогућава менаџеру да избјегава бити „лош момак“ непрестаним наговарањем!

када тестирање открива грешку да је неко исправи, бот зове Нагбот обавештава одговорне и лагано их ставља на посао

Црасхбот је још један бот одговоран за пријављивање грешака док се догоде и преферира мерења са Гоогле конзоле јер извештава у реалном времену. Црасхбот ће означити проблем након што проблеми пређу „прихватљив праг пада“. То може бити услед броја људи који доживе грешку или броја пута када се један корисник суочио са истом грешком. У сваком случају, Фацебоок ће такође имати метрику која ће приказати број тужних корисника.

За интерну комуникацију, Фацебоок користи нешто што се зове Воркплаце. Ово је ефективно верзија Фацебоока намењена предузећима, која пружа користан начин за добијање информација о члановима тима и брзу комуникацију са онима који седе са друге стране канцеларије. Фацебоок такође продаје овај софтвер трећим лицима.

Наравно да Фацебоок неће губити време на пренос сваке нове верзије својих апликација у Плаи Сторе, Апп Сторе, Амазон и све остале. Постоји и апликација која се зове Мобиле Пусх Траин.

Завршне мисли

Ажурирање апликације попут Фацебоока огроман је посао, а компанија још увек треба да убеди кориснике да заиста инсталирају те исправке. Ово је посебно тешко у земљама где повезивање није загарантовано. У Канади само један проценат корисника и даље користи верзију Фацебоока старије од годину дана. У Етиопији је тај број ближи 50 посто!

Тим на Фацебооку очигледно веома ради и користи мноштво алата и процеса да би све био што модернији. На крају дана, развојни тим има за циљ да се придржава пет владајућих принципа:

  • Чувајте господара чистим.
  • Нека један тим има стручност у области инжењеринга.
  • Пуштајте на време често.
  • Производи за псе.
  • Будите љубазни према корисницима.

Звучи једноставно, али као што видите, укључује много тањура. Чак је и одржавање свих алата који се користе у процесу је сам по себи пројекат!

Са своје стране, Фацебоок одржава пријатељску и ведру атмосферу у канцеларији у Лондону. Тим размењује ГИФ-ове и меме путем додатака, именује собе по „стварима које Британци мрзе“ и шекспировске пуне и они се поносе својим радом. На Фацебооку напорно раде и играју напорно, а чини се да у већини случајева систем функционише.

Следећи пут када се ново ажурирање представи за неку од ваших већих апликација, поштедите размишљање за сав рад и организацију која је потребна да бисте га тамо добили.

Скенери отисака прстију чине лакши него икад безбедност вашег паметног телефона, смањујући потребу за уносом ПИН кода сваки пут. Без обзира да ли закључавате или откључавате уређај или се пријављујете...

Раније ове године, Гоогле је објавио да Гоогле Ассистант долази на КаиОС уређаје. Данас је Алцател објавио да један од његових најновијих флифона КаиОС подржава Гоогле Ассистант и долази у Сједињене Д...

Публикације