opowiadamy o technologii

Co to jest no-code? Sposób na oprogramowanie bez pisania kodu


co to jest no code sposób na programowanie bez pisania codu code story

Kiedy Marc Andreessen powiedział „oprogramowanie zjada świat”, nawiązał do tego, jak Netflix, Amazon, Spotify i im podobni przekształcali całe gałęzie gospodarki. Używając swojego oprogramowania, korygowali oni utrwalony przez lata model biznesowy, ustalali nowe zasady konkurencji, a w efekcie znacząco zmienili sposób, w jaki klienci myślą o kupowaniu produktów i usług.

Podobny potencjał dostrzegamy dzisiaj w technologii no-code. Tworzenie skomplikowanych aplikacji bez udziału lub przy niewielkim udziale programistów to całkowicie nowatorskie podejście.

Pora oddać systemy IT w ręce citizen developers i przyspieszyć innowację, która nie wymaga technicznych umiejętności. 

Co to jest no-code?

Technologia no-code umożliwia tworzenie aplikacji przy użyciu interfejsów wizualnych, bez konieczności programowania, za pomocą mechanizmu „przeciągnij i upuść”. Mogą się tego podejmować osoby nietechniczne, które nie posiadają wiedzy i umiejętności charakterystycznych dla typowego zespołu deweloperskiego.

Dla 80% użytkowników narzędzi no-code, jedną z największych korzyści zastosowania tej technologii jest zwiększona produktywność.

Żródło: Zapier

Użytkowników biznesowych, którzy podejmują się automatyzacji no-code nazywa się citizen developers. Tego rodzaju ochotnicy, to najczęściej osoby z firmy czy organizacji, w której zdecydowano się na nowy system. Znajomość procesów biznesowych i czynników wewnętrznych pomaga im konstruować użyteczne funkcje. W tym celu potrzebują jedynie krótkiego szkolenia z obsługi kreatora no-code. Nie muszą znać się na programowaniu, posługiwać językami czy frameworkami. Wystarczy, by rozumieli logikę koniecznych do wdrożenia automatyzacji i procesów, które je dookreślają.

Historia technologii no-code

Pojęcie no-code tylko brzmi jak coś nowego. W rzeczywistości jego geneza sięga lat 50. XX wieku. To wówczas w świadomości znawców IT zafunkcjonowała koncepcja CASE, czyli computer-aided software engineering. Myśl o oprogramowaniu tworzonym przy pomocy innego oprogramowania zakiełkowała w głowach ówczesnych wynalazców, by dać początek dzisiejszej technologii. Pierwsze próby stworzenia tego typu narzędzi miały miejsce w latach 70. XX wieku. Prawdziwie użyteczne narzędzia no-code to dopiero współczesny wytwór.

Do 2025 roku aż 70% nowych aplikacji będzie korzystało z technologii no-code lub low-code.

Źródło: Gartner

Jednym z przełomowych momentów było pojawienie się środowisk app builder do tworzenia aplikacji mobilnych bez konieczności pisania kodu. Takie narzędzia stały się popularne wśród młodych przedsiębiorców, którzy dążyli do tego, aby szybko wprowadzić swoje pomysły na rynek.

Wraz z rosnącym zapotrzebowaniem na automatyzację, technologia no-code stała się coraz bardziej wszechstronna. Obecnie istnieją systemy, które umożliwiają tworzenie zaawansowanych aplikacji dla biznesu, skomplikowanych stron internetowych czy kompleksowych wizualizacji danych.

Zalety technologii no-code

Zaczynasz się przekonywać do zastosowania no-code w swojej organizacji? Może to być bardzo porywająca przygoda. Zanim jednak podejmiesz się wytworzenia swojej pierwszej bezkodowej aplikacji, zatrzymaj się jeszcze na chwilę nad krótką analizą wad i zalet tego typu podejścia.

Technologia no-code oferuje niepodważalne korzyści. Przede wszystkim pomaga zdemokratyzować dostęp do nowoczesnego oprogramowania. Osoby bez umiejętności wytwarzania kodu, mogą teraz opracowywać własne aplikacje. Prowadzi to też do zdecydowanie większej różnorodności innowacji.

Warte wyróżnienia są ponadto:

  1. Szybkość wdrożenia: Tworzenie systemów no-code jest zazwyczaj znacznie szybsze niż tradycyjne programowanie. Osoby bez głębokiej wiedzy programistycznej mogą w krótkim czasie stworzyć działające aplikacje czy strony internetowe.
  2. Dostępność: Technologia no-code obniża próg wejścia dla osób bez doświadczenia programistycznego. Pozwala przy tym na większą różnorodność twórców, co może prowadzić do ciekawych, kreatywnych rozwiązań.
  3. Oszczędność kosztów: Tworzenie zaawansowanych systemów IT tradycyjnym sposobem bywa kosztowne. Narzędzia no-code mogą się okazać tańszą opcją. Oczywiście wszystko zależy od indywidualnych potrzeb inwestora i zakresu koniecznych dostosowań.
  4. Intuicyjność: Narzędzia no-code często opierają się na interfejsach wizualnych, co sprawia, że proces tworzenia jest bardziej intuicyjny. Wiele rzeczy działa tu na zasadzie prostego przeciągania i upuszczania elementów lub konfiguracji przy pomocy formularza.
  5. Łatwość modyfikacji: Technologia no-code pozwala na prostą modyfikację architektury systemu bez konieczności głębokiego zrozumienia kodu. Zmian w systemie może dokonać każdy.

Wady podejścia no-code

Pomimo licznych zalet, technologia no-code nie zawsze jest w stanie zastąpić tradycyjny sposób wytwarzania systemów. W przypadku skomplikowanych projektów być może warto przyjrzeć się alternatywom.

Wady bezkompromisowego podejścia no-code to:

  1. Ograniczenie skali projektu: Technologia no-code może nie wystarczyć w razie konieczności wytworzenia bardzo zaawansowanych, niestandardowych funkcji. Rozbudowane projekty nadal wymagają dostępu do kodu.
  2. Ograniczenie zakresu personalizacji: Bywa, że platformy no-code ograniczają stopień personalizacji interfejsu. W celu utrzymania rozpoznawalności produktu pozwalają wyłącznie na niewielkie modyfikacje strony wizualnej.
  3. Zależność od dostawcy: Tworzenie rozwiązań no-code na konkretnych platformach może wiązać się z pewną zależnością od dostawcy. W przypadku zmiany narzędzia może być trudniej przenieść swoje rozwiązanie na inną platformę.
  4. Brak kontroli nad kodem: Przekazanie prawa własności oraz dostępu do kodu bywa wymogiem dla instytucji publicznych. Ze względów bezpieczeństwa mogą tego żądać także niektóre spółki państwowe, jednostki medyczne czy edukacyjne. Jeśli kontrola nad kodem aplikacji jest dla inwestora warunkiem koniecznym – klasyczne narzędzia no-code się nie sprawdzą.

Różnica między no-code, low-code i high-code

Nie ma rozwiązań idealnych. Jak pokazał poprzedni akapit, mimo licznych zalet, nawet tak postępowa technologia jak no-code w niektórych przypadkach bywa zawodna. Dobrze wiedzieć, że do sukcesu prowadzą czasem różne drogi…

Opcje są trzy. Dwie bardzo radykalne i jedna z pogranicza obu światów.

O no-code powiedzieliśmy już całkiem sporo. Dla przypomnienia: systemy tego typu są tworzone bezkodowo, z gotowych elementów, w kreatorach, dzięki funkcji „przeciągnij i upuść”, przez tzw. citizen developers.

               Prawie 60% wszystkich aplikacji jest obecnie tworzonych poza działem IT.

Źródło: 451 Research and FileMaker

Rozwiązanie z przeciwnego bieguna to podejście high-code. Pojęcie odnosi się do ingerencji w funkcjonalność systemu, wyłącznie przy udziale zaznajomionych z językami programowania specjalistów. Nie ma możliwości zastosowania predefiniowanych komponentów. Z obsługą nie poradzą sobie ochotnicy bez umiejętności technicznych. Systemy high-code buduje się tylko i wyłącznie nanosząc zmiany w kodzie, dopisując lub zmieniając konkretne jego linijki.

Złoty środek to technologia low-code. Narzędzia tego typu oferują możliwość pracy z kreatorem i dobierania gotowych komponentów, ale nie wykluczają nanoszenia zmian bezpośrednio w kodzie systemu. Z platformy low-code mogą korzystać zarówno programiści jak i użytkownicy biznesowi określani mianem citizen developers.

Developer a citizen developer

Kolejna rzecz, która ewidentnie odróżnia high-code, low-code i no-code to przystępność technologii dla użytkownika biznesowego.

Osoby bez umiejętności technicznych, ale zaznajomione ze specyfiką organizacji oraz logiką obowiązujących w niej procesów to w nomenklaturze IT tzw. citizen developers. Technologia no-code pozwala na ich aktywny udział w projektach wdrożeniowych. Mówiąc wprost, nie trzeba być programistą (developerem), by mieć wpływ na funkcjonalność oprogramowania. Citizen developerzy niekoniecznie posiadają zaawansowaną wiedzę programistyczną, ale wykorzystują dostępne narzędzia wizualne i interfejsy użytkownika, aby stworzyć proste aplikacje, formularze czy strony internetowe. Są to zazwyczaj „ochotnicy” spoza świata IT, zmotywowani, by usprawnić wewnętrzne procesy na drodze transformacji cyfrowej ich organizacji.

Sprawy mają się zgoła inaczej w przypadku high-code. Korzystając z tego typu technologii, zaangażowanie programistów jest niezbędne. Podczas rozwoju oprogramowania potrzebne będą: zaawansowana wiedza techniczna oraz umiejętność pisania kodu.

Developerzy tym różnią się od twórców aplikacji no-code, że posiedli wykształcenie na temat struktur danych, algorytmów, zasad projektowania i innych technicznych aspektów budowy systemów. Programiści są w stanie pisać kod od podstaw, rozwiązywać skomplikowane problemy programistyczne oraz tworzyć zaawansowane funkcje i systemy.

Ich zaangażowanie bywa potrzebne także przy wykorzystaniu technologii low-code. W tym przypadku dzielą obowiązki z użytkownikami biznesowymi. Developerzy przejmują trudniejsze zadania, niemożliwe do zrealizowania przy pomocy gotowych komponentów. Citizen developerzy odciążają zespół programistów, zajmując się obsługą prostych automatyzacji, możliwych do stworzenia przy użyciu kreatora no-code.

Czy no-code to zagrożenie dla programistów?

Wzrost popularności technologii no-code przełożył się również na pewną obawę. Niektórzy głoszą, że przyczyni się ona do utraty zatrudnienia przez rzesze wykwalifikowanych specjalistów.

Nic bardziej mylnego. Powyżej rozważaliśmy już różnicę pomiędzy programistami (developerami) a amatorami wytwarzania aplikacji metodą bezkodową (citizen developerami). Podsumowując, polega ona na zaawansowaniu ich technicznego doświadczenia. Ci pierwsi to profesjonaliści z głęboką wiedzą i umiejętnościami programistycznymi, tworzący zaawansowane oprogramowanie od podstaw. Citizen developerzy to osoby, które wykorzystują narzędzia no-code lub low-code do tworzenia prostych aplikacji bez konieczności pisania kodu programistycznego, zwykle w celu rozwiązania konkretnych problemów w swojej dziedzinie lub firmie.

Z natury swoich stanowisk obie grupy zajmują się zatem innymi rzeczami. Nie są więc dla siebie konkurencją. Miejsca na rynku wystarczy dla specjalistów w obu dziedzinach. Niektórzy programiści być może będą musieli się doszkolić z obsługi kreatora no-code, ale to tylko poszerzy im horyzonty. Umiejętność programowania to nadal bardzo ważny składnik dzisiejszego środowiska technologicznego oraz przyszłość transformacji cyfrowej otaczającego nas biznesu. Przy obecnym układzie sił niczyja pozycja nie jest na pewno zagrożona.

Wręcz przeciwnie. Kreatory wizualne, które pozwalają budować aplikacje bez udziału zespołów developerskich, to nie zagrożenie, a szansa. Paradoksalnie dzięki nim programiści mogą mieć jeszcze więcej pracy niż dotychczas. A to dlatego, że do tej pory inwestorzy bardzo często rezygnowali z kastomizacji oprogramowania, gdyż ta wydawała im się niezwykle pracochłonna i długotrwała. Decydowali się na gotowe systemy i próbowali dopasowywać do nich swój proces biznesowy. Tylko nieliczni korzystali z dobrodziejstwa Open Source, albo tworzyli coś sami od zera.

36% badanych uznaje narzędzia no-code za ponad 6 razy szybsze niż tradycyjne programowanie.

Źródło: nocodecensus

Technologia no-code ma szansę odwrócić ten trend. Użytkownicy, którzy zaznają pracy w systemach dopasowanych do potrzeb, będą się rzadziej godzili na półśrodki. Jak to zwykle bywa, apetyt rośnie w miarę jedzenia. A interfejsy wizualne trzeba jakoś zasilić. Koniecznie, wytwarzając świeży kod.

<codeSummary>

No-code stanowi odpowiedź na dwie kluczowe potrzeby współczesnych organizacji: szybkie tempo zmian i elastyczność podjętej strategii. Dzięki narzędziom no-code można błyskawicznie reagować na nowe wyzwania i możliwości rynkowe. Technologia bezkodowa ma potencjał rewolucjonizować wiele dziedzin, zwłaszcza finanse, technologie informacyjne, przemysł, budownictwo i transport. Działania, które kiedyś wymagałyby zaangażowania zespołów programistycznych i długich okresów wdrożenia, teraz mogą być realizowane w znacznie krótszym czasie, dzięki czemu organizacje mogą być bardziej reaktywne i konkurencyjne.

Warto jednak pamiętać, że technologia no-code to narzędzie, a nie rozwiązanie wszechobecne. Wciąż istnieją projekty i zadania, które wymagają specjalistycznej wiedzy programistycznej, zaawansowanych algorytmów czy niestandardowych funkcji. W tych przypadkach tradycyjne metody programistyczne nadal odgrywają kluczową rolę.

Temat doboru technologii do projektu powinien być zatem rozpatrywany indywidualnie i zależeć od skomplikowania wymagań, dostępności zasobów programistycznych i specyfiki potrzeb inwestora.

Potrzebujesz konsultacji w temacie no-code? Napisz do nas na adres: kontakt@codestory.pl