Czym jest programowanie low-code/no-code?
Jednym z elementów trwającej właśnie czwartej rewolucji przemysłowej jest zmiana w podejściu do używanych narzędzi. Wdrożenie dedykowanego oprogramowania nie jest już miłym dodatkiem. To konieczność. Dynamiczny wzrost zapotrzebowania na software zrodził potrzebę znalezienia sposobu na szybsze i tańsze tworzenia aplikacji niż tradycyjne programowanie. W ten sposób powstały narzędzia low-code i no-code (LCNC). Czym jest programowanie low-code/no-code? Czy jest to rewolucja, czy ślepy zaułek?
Co to jest low-code?
Biorąc pod uwagę słowa, które padły we wstępie, łatwo zrozumieć, skąd bierze się początkowy entuzjazm do tego rozwiązania. Uproszczenie procesu wprost wiąże się z niższymi kosztami i szybszym wprowadzeniem produktu na rynek. Nie jest to jednak tak oczywiste.
Nie wiesz, które rozwiązanie będzie najlepsze dla Ciebie i Twojego biznesu?
Zaufaj profesjonalistom z Develos.
Czym jest low-code? Jest to sposób na tworzenie aplikacji przy użyciu minimalnej ilości kodu. Narzędzia stworzone do tych zadań wykorzystują inteligentny interfejs użytkownika (UI), żeby ułatwić tworzenie aplikacji. Zazwyczaj wygląda to w ten sposób, że odpowiednie „części” aplikacji przeciąga się na pożądane miejsce. Narzędzia low-code mają wbudowaną określoną liczbę predefiniowanych modułów, które możemy układać zgodnie z własnym pomysłem.
Co to jest no-code?
Określona liczba modułów to główne ograniczenie platform low-code, które wymagają pewnej znajomości kodu (oczywiście nie na poziomie, który wymagany jest do zrozumienia programowania obiektowego). Wybawieniem od tego problemu mają być platformy no-code. Pozornie łatwo pomylić low-code i no-code. Opisywane również są łącznie, gdyż podstawa ich działania jest w zasadzie ta sama. Warto jednak pamiętać, że jest między nimi różnica, która dosłownie kryje się w nazwie.
Programowanie low-code wymaga pewnej znajomości kodu. W założeniu no-code nie wymaga takiej wiedzy w ogóle. Gdzie w takim razie tkwi różnica? Low-code dzięki znajomości programowania pozwala na to, żeby w pewnym stopniu dostosować aplikacje i poszczególne funkcje do siebie. No-code jest w pełni zamkniętym systemem, co niesie za sobą dosyć oczywiste ograniczenie – nie wyjdziemy poza te funkcje, które przygotowali twórcy używanej platformy.
Z czym wiąże się low-code/no-code?
Zanim przejdziemy do wyjaśnienia, czemu nie należy traktować platform low-code/no-code jako rozwiązania swoich problemów, musimy poznać pełen kontekst. Chociaż w teorii stworzyć aplikację przy użyciu LCNC może każdy, w praktyce oznacza to delegowanie przynajmniej jednego pracownika do tej roli. Takich programistów nazywa się „citizen developer”.
W zamyśle „citizen developer” nie jest wykształconym programistą ani (co do zasady) nie odpowiada przed działem IT w strukturze swojej firmy. Jego jedynymi narzędziami są platformy low-code/no-code i (zazwyczaj) minimalna wiedza o programowaniu. Taki pracownik nie będzie wiedział, co to jest programowanie funkcyjne i czym się różni od obiektowego.
Najpopularniejsze platformy low-code i no-code
Większość nazw platform raczej nie jest powszechnie znana. Poza jedną: jest nią bodaj najpopularniejszy system zarządzania treścią (CMS), czyli WordPress. Dzięki niemu użytkownicy mogą tworzyć swoje blogi, które buduje się właśnie za pomocą przeciągania elementów w wybrane miejsca. WordPress to platforma low-code, ponieważ pozwala na własnoręczne modyfikowanie kodu poszczególnych elementów. Inne popularne platformy LCNC to: Vix, Bubble, Webflow, OutSystems, czy Microsoft Power Apps.
Jakie ograniczenia ma low-code i no-code?
Mimo wielu pozornych zalet programowanie low-code i no-code ma wiele ograniczeń. Przyjrzymy się im z bliska.
- Citizen developerzy – Czy tego chcesz, czy nie, jeśli podejmiesz decyzję o tworzeniu oprogramowania przy użyciu platform low-code/no-code, musisz albo zatrudnić nowe osoby, albo pozwolić pracownikom na zmianę obowiązków. Pracownik „przekwalifikowany” z innego stanowiska będzie wymagał sporej ilości czasu na zdobycie doświadczenia, co jest dodatkowym kosztem. Brak wiedzy technicznej skutkuje rozwiązywaniem problemów z podejściem biznesowym, które nie pasuje do świata IT. Jednocześnie nawet minimalna wiedza potrzebna do platform low-code może taką osobę przerastać, co sprawi, że nie da rady wykorzystać potencjału platformy.
- Bezpieczeństwo – Citizen developerzy z reguły nie mają wiedzy potrzebnej do zapewnienia swojej aplikacji bezpieczeństwa. W pełni polegają na tym, co dostarczy wybrana platforma, co często będzie niewystarczające. Szybko może się okazać, że będziesz potrzebował kogoś, kto znacznie lepiej porusza się w tym temacie.
- Współpraca z IT – Jeśli masz już dział IT, stworzenie stanowiska citizen developera, skutkuje nieefektywnym wykorzystaniem zasobów.
- Ograniczone możliwości – Jesteś ograniczony do rozwiązań zapewnionych przez wybraną platformę. Część z nich da się obejść przez znajomość kodu wymaganą do pracy przy platformach low-code, ale nie jest to w żaden sposób tożsame z tworzeniem aplikacji webowej.
- Słaba optymalizacja – Projekty stworzone przy użyciu programowania low-code/no-code nigdy nie będą zoptymalizowane w tym samym stopniu co profesjonalne aplikacje dopasowane do Twoich potrzeb.
- Nie są odporne na przyszłość – Owszem, aplikacje będą dostawać aktualizacje, ale wystarczy, że dana platforma przestanie być wspierana i może się to niespodziewanie zakończyć. Może także pojawić się problem z implementacją nowoczesnych rozwiązań – jeśli platforma tego nie przewidziała, będzie to niemożliwe.
Czy low-code/no-code jest rozwiązaniem dla rosnących potrzeb?
Pozornie low-code/no-code mogą wydawać się świetnym rozwiązaniem. Zawsze każdemu wydaje się, że potrzebuje tylko prostej apki, która nie wymaga wiele pracy, czyli też umiejętności. Użycie jednego z tych rozwiązań jawi się jako spora oszczędność i przyspieszenie wypuszczenia produktu na rynek. To jednak tylko jedna strona medalu.
Z drugiej strony może się okazać, że słabo zoptymalizowana aplikacja stworzona przez niedoświadczoną osobę szybko zacznie przysparzać inne koszty. Pierwsze wrażenie masz tylko jedno – wypuszczenie niedopracowanej aplikacji może wyrządzić więcej szkód niż pożytku. Naprawa takiej sytuacji będzie Cię kosztować dużo więcej niż gdybyś od razu wynajął do tego zadania profesjonalistów.
Chcesz dowiedzieć się więcej?
Zapoznaj się z naszymi najnowszymi wpisami blogowymi. Znajdziesz tam ciekawe informacje ze świata IT!