Jak gwałtownie tworzyć aplikacje, by zadowolić wymagania biznesowe i deweloperów? Te pytania zadaliśmy sobie w Brainly, kiedy zaczynaliśmy prace nad Brainiaciem — naszym ekosystemem / frameworkiem do tworzenia aplikacji.
Żeby było jasne — nie mówimy tutaj o nowym frameworku JS. Brainiac to ekosystem lub framework do budowania pełnych systemów czy produktów.
Każda firma potrzebuje standardów, aby poruszać się szybko. Problemy, które chcieliśmy rozwiązać to:
- Jak gwałtownie przerzucać deweloperów pomiędzy zespołami bez dużej krzywej uczenia się? To częsty przypadek, kiedy priorytety się zmieniają i musimy przegrupować zespoły, aby skupić na najważniejszej rzeczy dla firmy (czyli optymalnym wykorzystaniu czasu i energii zespołów) – myślę, iż jest to odczuwalne zwłaszcza w dzisiejszych czasach
- Jak z prędkością światła tworzyć nowe produkty / subprodukty i dowozić je z jakością, tak, aby wyprzedzać konkurencję i zamiast spędzać 3 miesiące nad budową MVP, zbudować aplikację gotową do rozwoju w ciągu kilku dni?
- Jak upewnić się, iż baza kodu jest gotowa do aktualizacji bibliotek i utrzymana w dobrym stanie na przestrzeni czasu?
- Jak upewnić się, iż tworzony kod jest napisany w dobrej jakości, unit testami, e2e – bez potrzeby kompromisu, na który przystaje wiele firm: „Stwórzmy na razie bez testów, bo na testy nie ma czasu”
Odpowiedzią na te i inne pytania jest framework, który stworzyliśmy. W tym artykule nie chcę wchodzić w szczegóły techniczne, jak rozwiązaliśmy niektóre problemy, ale przedstawić pełny obraz problemu i jego rozwiązania.
Czym jest Brainiac?
Jest to modułowy system, który pozwala na pracę w izolacji i budowanie horyzontalnych mikrofrontendów. Dzięki temu każdy zespół może pracować nad swoimi modułami bez przeszkadzania innym — co jest niezwykle istotne, kiedy firma rośnie i zatrudnia wielu nowych programistów. Pozwala też deweloperom zmieniać projekty bez pokonywania barier technologicznych, co powoduje, iż mogą łatwiej korzystać z internal mobility (mobilność wewnątrz organizacji).