No-code

Ograniczenia no-code low-code. Cała prawda o innowacji budowy oprogramowania

Low-code no-code

No-code low-code przyciąga różnymi zaletami, które mają usprawniać i przyspieszać proces developmentu. Jednak jak to wygląda w praktyce? Jakie są realne ograniczenia tej technologii? Jako osoba działająca w tej branży od wielu lat chętnie podzielę się z Wami swoim doświadczeniem oraz obserwacjami.

Skupię się na najczęściej podejmowanych tematach wokół platform LCNC (low-code no-code), które budzą wątpliwości i obawy. Dlaczego? O plusach tych rozwiązań przeczytacie w wielu miejscach, jak np. tutaj: “Dlaczego każdy programista powinien znać narzędzia no-code”?. Obserwując rosnącą popularność tej technologii, zauważam również wiele znaków zapytania oraz wątpliwości, które warto przeanalizować z perspektywy praktyki, a nie teorii.

No-code a skalowanie i wydajność

Zacznijmy od najpopularniejszego wątku, czyli skalowalności i wydajności oprogramowania zbudowanego za pomocą platform LCNC. Czy takie oprogramowanie możemy skalować? Odpowiedź jest prosta: tak. Nowoczesne platformy są projektowane z myślą o skalowalności, oferując elastyczne rozwiązania hostingowe oraz zarządzanie zasobami, które możemy z łatwością dostosować do rosnących potrzeb użytkowników.

Każda platforma stoi na infrastrukturze chmurowej np. AWS (Bubble – najpopularniejsza platforma no-code) czy Google Cloud (Xano – platforma no-code low-code do backendu). Dzięki temu w momencie większego zapotrzebowania na zasoby nie będzie problemu z ich uzyskaniem. Dodatkowo sami mamy kontrole nad tym, czy chcemy takie skalowanie umożliwić, czy zawsze niezależnie od ruchu płacić flat-rate (wówczas należy liczyć się z ryzykiem przeciążenia platformy). Co więcej, platformy te oferują narzędzia, dzięki którym możemy na bieżąco monitorować obciążenie i analizować, które części platformy potrzebują najwięcej zasobów, aby je zoptymalizować.

Z drugiej strony pamiętajmy, że kiedy mówimy o natywnych aplikacjach mobilnych tworzonych za pomocą platform LCNC np. na platformie FlutterFlow, wówczas backend czy zasoby potrzebne do jego obsługi to kwestia w 100% niezależna od tej platformy. Dlaczego? Tworząc aplikacje w tym narzędziu, możemy tworzyć samą aplikację per se. Co oznacza, że nie oferują one obsługi backend-u, a co za tym idzie może on być obsługiwany przez dowolną platformę. Niezależnie czy będzie to Google Firebase, Bubble czy nasze własne serwery.

Brak kodu nie zawsze oznacza brak ograniczeń

Analizując ograniczenia platform no-code, a więc tych pozwalających tworzyć oprogramowanie całkowicie bez użycia kodu, należy podkreślić, że są obszary, w których te rozwiązania nie będą w stanie w pełni pokryć naszych potrzeb. Szczególnie gdy mówimy o tworzeniu rozbudowanych aplikacji z niektórymi funkcjami. Ograniczenia te są zależne już stricte od konkretnych platform, ich zakresu możliwości oraz naszych potrzeb. Co należy zrobić w takim wypadku?

Musimy dodać kod. Oznacza to, że mówimy już o technologii low-code, a więc o połączeniu platform no-code z wykorzystaniem tradycyjnego programowania. To połączenie daje nam możliwość przyspieszenia procesu developmentu oraz pełnej customizacji naszego oprogramowania. Niestety wiele osób, które zaczynają swoją przygodę z platformami no-code o tym zapomina. Napotyka wtedy na przeszkody, które bez umiejętności programowania mogą być trudne do przeskoczenia.

Eksportowanie kodu z platform no-code low-code

Nie ma dyskusji o no-code low-code bez wątku eksportowania kodu – i słusznie. Prawda jest taka, że nie wszystkie platformy udostępniają taką funkcję i jest to z pewnością czynnik, który warto wziąć pod uwagę dobierając platformę LCNC do naszych potrzeb.

Przykładowo Bubble nie umożliwia eksportu kodu, ale platformy Webflow oraz FlutterFlow już tak. Podobnie jest w przypadku Xano, gdzie możemy wyeksportować cały projekt, ale jest to opcja dodatkowo płatna.

Jeśli realnie potrzebujemy możliwości eksportowania, to z pewnością warto o tym pamiętać przygotowując kalkulację całego procesu developmentu z wykorzystaniem konkretnej platformy. Czy jest to minus? Odpowiedź należy oprzeć o wytyczne biznesowe, politykę wewnętrzną czy też regulacje, które w konkretnych branżach mogę doprowadzić do konieczności znalezienia alternatywy.

Czy no-code low-code to drogie rozwiązanie?

Czym byłaby analiza innowacji bez poruszenia wątku kosztów? Sprawdźmy, jak to wygląda w przypadku platform LCNC. Zacznijmy od najważniejszego punktu: dostawcy tej technologii (platformy) w większości są tak naprawdę resellerami hostingu. Co to oznacza?

Oznacza to, że nie płacimy za sam dostęp do edytora, ale właśnie za całą infrastrukturę. W takim wypadku ceny za hosting są faktycznie wyższe niż u tradycyjnych dostawców, jednak gdy rozmawiamy o analizie kosztów, musimy spojrzeć na to szerzej.

Choć za infrastrukturę platform no-code low-code zapłacimy więcej, to finalnie okazuje się, że wybór tego podejścia dla całego procesu developmentu będzie znacznie bardziej opłacalny niż przy zastosowaniu tylko tradycyjnego programowania. Dlaczego?

Cały ten koszt rekompensuje się z nawiązką, dzięki skróceniu czasu potrzebnego na development, a co za tym idzie, redukuje to wszelkie dodatkowe koszty, które mogły wystąpić z tego tytułu.

Niektóre źródła wskazują, że to innowacyjne podejście do tworzenia oprogramowania skraca cały proces nawet do 90%. Jednak z naszego rynkowego doświadczenia oraz według raportu Reveal Biggest Software Development Challenges 2024 wynika, że w rzeczywistości jest to oszczędność na poziomie 50%. Oczywiście finalne wyliczenia zależą już od wykonawców tych usług, ich umiejętności, stosowanych metodyk i ich najlepszych praktyk w procesie wytwórczym.

Jednak jak widać na powyższym wykresie, to innowacyjne podejście daje nam naprawdę ogromną oszczędność czasu, a tym samym również oszczędność finansową. Pod warunkiem, że dobierzemy do realizacji naszego projektu odpowiednie narzędzia oraz wiemy, jak z nich korzystać bez dodatkowego nakładu czasu na naukę.

Ograniczenia w rozbudowie aplikacji

Mówi się często, że narzędzia no-code, choć oferują szybkie i intuicyjne tworzenie aplikacji, mogą napotykać na ograniczenia, gdy chodzi o niestandardowe funkcje lub złożone integracje. Jednak w praktyce wiele platform no-code oferuje zaawansowane opcje konfiguracji i możliwość rozszerzania funkcjonalności poprzez dodatki lub integracje z zewnętrznymi API.

Popularne integracje to np. bramki płatności (PayU, Przelewy24, Stripe), integracje z systemami CRM (HubSpot, Pipedrive), połączenie z zewnętrznym backendem, AI (ChatGPT, VisionAI) oraz wiele innych integracji, które dostarczają właśnie wspomniane API.

Co więcej, ewentualne problemy rozwiązuje wspomniana już wcześniej opcja dodania własnego kodu. W takiej sytuacji należy upewnić się, co do tego czy konkretna platforma umożliwia nam takie działanie. Czasem właśnie ta możliwość może okazać się wręcz niezbędna, by osiągnąć oczekiwany efekt. Dlatego ważne jest, by mieć tego świadomość oraz odpowiednie kompetencje, jeśli chcemy budować kompleksowe projekty. 

Bezpieczeństwo platform no-code low-code

Kwestie zabezpieczeń i prywatności danych w narzędziach no-code low-code są regularnie podnoszone jako poważne zagrożenie. Czy słusznie? Oczywiście, bezpieczeństwo to priorytet, ale jak to wygląda w tym wypadku w praktyce?

Wielu dostawców platform no-code świadomie podchodzi do tych wyzwań, wdrażając rygorystyczne protokoły bezpieczeństwa i zgodności z normami ochrony danych. Większość platform w jasny sposób pisze o tym, z jakiej infrastruktury korzysta, jak jest ona zabezpieczona oraz czym certyfikowana. Najczęstsze certyfikaty poświadczające ich bezpieczeństwo to SOC-2 czy ISO27001.

Oczywiście, pamiętajmy, że nie zwalnia to developerów z odpowiedniego zabezpieczenia aplikacji na jej poziomie logicznym, czyli np. poprzez zadbanie o wdrożenie odpowiedniej polityki RBAC w bazie danych, ukrywanie kluczy dostępowych do API, itp.

Czy zawsze są to wystarczające zabezpieczenia? Nie. Jak przy każdej technologii musimy dokładnie sprawdzić specyfikę konkretnej platformy, aby mieć 100% pewność. Nie bez przyczyny ten wątek jest często podnoszony szczególnie przez duże firmy, które poświęcają sporo czasu na analizę kwestii prawnych oraz bezpieczeństwa przed zdecydowaniem się na skorzystanie z platformy LCNC do swoich celów.

Vendor lock-in, czyli uzależnienie od dostawców

Przeanalizowaliśmy już tematy kosztów, ograniczeń, bezpieczeństwa, więc pora na finalny wątek, jakim jest ryzyko uzależnienia się od dostawców platform. To prawda, że korzystając z narzędzi LCNC jesteśmy w jakimś stopniu zależni od ich twórców – pod kątem zakresu funkcji, zmiany cenników itp. Tylko czy nie jest to powszechny problem w całej branży IT?

Według portalu Statista szacuje się, że obecnie firmy korzystają średnio ze 130 narzędzi w modelu SaaS. Analizując ten problem dogłębniej, należy podkreślić, że zespoły tworzące oprogramowanie w tradycyjnym podejściu również polegają na narzędziach i technologiach zewnętrznych oraz ściśle współpracują z określonymi dostawcami technologii.

Różnica jednak jest taka, że korzystając z jednej platformy LCNC możemy zbudować wiele narzędzi na potrzeby wewnętrzne zespołu czy też firmy, które umożliwią nam zrezygnowanie z dodatkowych narzędzi SaaS. Wspominam o tym nieprzypadkowo, bo właśnie aktualnie jesteśmy na etapie, w którym widać ten trend na rynku.

Coraz więcej organizacji decyduje się na budowę własnych narzędzi za pomocą platform LCNC w celu uniezależnienia się od nadmiernej liczby dostawców SaaS, ograniczenia ryzyka vendor lock-in oraz możliwości łatwego dostosowywania narzędzi do swoich konkretnych potrzeb. Jednak pamiętajmy, że jest to wciąż zależność od zewnętrznego dostawcy. Więc jeśli zależy Ci na całkowitym uniknięciu tego ryzyka, musisz rozważyć inne rozwiązanie.

Wiele znaków zapytania przed decyzją

Nie ma co ukrywać, że analiza potencjalnych ograniczeń technologii no-code low-code rodzi wiele pytań. Szczególnie najtrudniejszymi są te dotyczące wyboru finalnej platformy do stworzenia naszego oprogramowania. W ostatecznym rozrachunku bardzo wiele zależy nie tylko od naszych własnych kompetencji, ale również od możliwości konkretnej platformy.

To sprawia, że budowa aplikacji za pomocą no-code low-code, choć wydaje się w pewnym stopniu łatwiejsza i szybsza, to stanowi spore wyzwanie dla osób, które dopiero wchodzą w ten świat. W tym obszarze technologia rozwija się równie szybko jak w całym IT, a więc wymaga od nas znajomości rynku oraz trendów.

Podsumowanie

Osobiście jako osoba prowadząca dział developmentu, w którym tradycyjni developerzy tworzą aplikacje z wykorzystaniem platform LCNC powiem jedno: szukajmy zalet w różnych podejściach i wykorzystujmy je, łącząc je ze sobą, a nie dzieląc. Wszystko wskazuje na to, że no-code low-code to innowacja, która na dobre wejdzie w świat developmentu, ale nie poprzez wyparcie tradycyjnego programowania, a poprzez optymalizacje i wsparcie.

Należy również pamiętać o tym, że jak każda technologia, tak i no-code low-code nie jest wcale jedynym najlepszym rozwiązaniem dla każdego. Podejmując decyzje o jej wykorzystaniu, musimy dokładnie przeanalizować nasze potrzeby i wszelkie szanse oraz zagrożenia, które wiążą się z wykorzystaniem konkretnej platformy. Tylko w ten sposób osiągniemy pewność co do słuszności naszego wyboru.

Mam nadzieję, że tym artykułem przybliżyłem Ci świat no-code low-code w praktyce. Jeśli masz pytania, uwagi lub zastrzeżenia do tego artykułu, służę Ci pomocą – znajdź mnie na LinkedInie i wymieńmy się spostrzeżeniami.


Zdjęcie główne artykułu pochodzi z envato.com.

Co-founder & CTO w havenocode

Od lat związany z branżą IT. Pomaga firmom tworzyć oprogramowanie szybciej i efektywniej, dzięki technologii no-code low-code. Nadzoruje prace tradycyjnych developerów z wykorzystaniem innowacyjnych metod budowy oprogramowania. Edukuje o no-code low-code w podcaście Just No Code.

Podobne artykuły