Kuidas ohjeldada kaost tarkvaraarenduses disainisüsteemi ja komponendivaramu abil?
Tarkvaralahenduse arendamine on aeganõudev ja detailiderohke töö, kus parima lõpptulemuse nimel käivad disain ja arendus alati käsikäes. Tiimitööd tehes oled ehk täheldanud, et suured tiimid ei ole alati väga tõhusad.
Tekib rohkem möödarääkimisi, olemasolevad kasutajaliidese mustrid jäävad sageli dokumenteerimata või kaovad tiimiliikmete vahetumisel unustusse. Aja jooksul tekib projekti tohutu hulk ühekordseid komponente ja lõpuks ei tea enam keegi, kus ja mida kasutama peaks.
Mustrid, mis pidid samaks jääma, on lahku kasvanud oma väljanägemises ja funktsionaalsuses. Iga komponent ja muster, mis on omamoodi uus ja eriline, nagu lumehelbeke (snowflake), teeb uute arendajate kaasamise väga keeruliseks ega ole pikaajalises projektis jätkusuutlik.
Disainisüsteemide komponendivaramud peaksid sisaldama ainult “puhtaid” esitluskomponente. Toome siinkohal välja ka taaskasutatavate esitluskomponentide esmatähtsad omadused:
- tegelevad ainult esitluskihiga;
- reageerivad ainult sisenditele;
- ei sisalda rakendusespetsiifilist äriloogikat;
- on agnostilised sellele, kuidas või kust andmeid laetakse.
Komponendivaramu ei tohiks sisaldada rakendusespetsiifilisi komponente, mis sisaldavad äriloogikat, sest vastasel juhul peaksid kõik süsteemi kasutavad rakendused olema samasuguste äriloogiliste piirangutega. Lisaks peaks varamust välja jätma ühekordsed komponendid, isegi siis kui loodad, et nendest saab ühel päeval osa disainisüsteemist - nobedad tiimid haldavad korraga täpselt nii palju koodi kui vaja.
Tööriistad, mida meie kasutame
Storybook on UI komponentide arenduskeskkond, milles saab arendada ja esitleda komponente väljaspool põhirakendust. Nii saab töötada kontekstivabalt ühe mooduliga korraga ja ilma keerulise arenduspinuta. Lisaks on Storybookis väga hea isoleerituna komponente dokumenteerida ja testida ning see integreerub kõigi populaarsete JavaScripti raamistikega.
Bit on oma põhimõttelt väga sarnane Storybookiga, kuid lisaks arenduskeskkonnale pakutakse selles teenusena ka kogu ülejäänud infrastruktuuri, mille muidu peaks vastavalt vajadusele ise üles panema (pakihaldur, avalikud ja privaatsed keskkonnad dokumentatsiooni ja komponentide vaatamiseks, versioneerimine jne).
Olenevalt projektist kasutame üht või teist tööriista. Peab arvestama, et kuigi Bit on mahukam komplekt, siis nagu “võtmed kätte” teenustele omane, sisaldab see ka tasulisi funktsionaalsusi ja tööriista kasutades kaotame mõningal määral kontrolli, kuna teenusepakkuja poolt on mingid otsused juba tehtud. Samas, Storybooki kasutades, kus ise ümbritseva infra kokku paneme ja head tavad dokumenteerime, kulutame rohkem oma aega.
Kokkuvõte
Disainisüsteemi ja komponendivaramu ehitamine ei ole lihtne ega one and done tüüpi töö. Rakendused, parimad praktikad, teadmised ja arvamused arenevad ja muutuvad ajas ning sellega kaasneva kaose ja “tarkvara mädanemise” aeglustamiseks on mitmeid erinevaid võimalusi ja valikuid. Neist üks elementaarsemaid ja lihtsamaid võite on minu hinnangul kindlasti disainisüsteemi ja komponendivaramu ehitamine, haldus ja arendus.
Soovid oma ideid arutada?
Meie poole võib pöörduda igas projekti etapis - alates idee väljatöötamisest kuni uute digilahenduste loomise ja hindamiseni välja.
Võta ühendust
Kirjuta meile oma ideest ja leiame koos parima viisi selle elluviimiseks. Vastame kiiresti ning meie kogenud meeskond tagab, et projekt kulgeb edukalt alates esimesest mõttest kuni lõpliku teostuseni.