Czym jest low-code i no-code?

fsgeek.pl 4 lat temu

Czy praca programistów jest zagrożona? Słyszeliście o podejściu no-code lub low-code do tworzenia oprogramowania? Ja ostatnio spotkałem się z opinią, iż w przyszłości drastycznie zmienią rynek pracy. Czym są te rozwiązania i czy jest się czego bać? No i co ze sztuczną inteligencją?

Low-code

Na początku warto wspomnieć o rozwiązaniach typu low-code, które będą bliższe programistom. Są to rozwiązania, które umożliwiają tworzenie aplikacji z wykorzystaniem minimalnej ilości kodu pisanego przez developera. Dzieje się to poprzez wykorzystanie zaawansowanych aplikacji typu drag'n'drop. Dzięki temu większość aplikacji da się stworzyć przy pomocy dostępnych modułów, a resztę można dopisać przy pomocy standardowego programowania. Takie połączenie powoduje, iż w doświadczonych rękach daje to spore przyspieszenie w tworzeniu systemu i pozwala się skupić na tej części, która sprawia, iż aplikacja jest wyjątkowa.

No-code

Rozwiązania no-code jest pójściem o krok dalej. Tutaj upraszczamy całą aplikację na tyle by były w stanie z niej korzystać osoby, które nie są programistami. Znowu mamy najczęściej edytory drag'n'drop, które pozwalają na tworzenie własnych aplikacji, ale tym razem osobom nietechnicznym lub mało technicznym. Wśród takich usług znajdziemy takie, które pozwalają tworzyć całe strony np. Carrd ale również te mniejsze, wyspecjalizowane w danej funkcjonalności np. Typeform, który pozwala tworzyć bardzo zaawansowane formularze. Oprócz tego warto wspomnieć o platformie, która umożliwia tworzenie bardzo zaawansowanych procesów. W Zapier mamy dostęp do wielu integracji, w których na dane zdarzenia możemy reagować konkretną akcją. Z racji ilości możliwych połączeń pomiędzy aplikacjami jesteśmy w stanie stworzyć bardzo zaawansowany proces. Co więcej, jeżeli nie znajdziemy tego, co potrzebujemy, to możemy napisać własną integrację.

Wady i zalety rozwiązań low-code i no-code

Oba rozwiązania są do siebie mocno zbliżone i czasami ciężko jest określić, do jakiej grupy należy dana platforma. Prawdopodobnie w kolejnych latach, wraz z rozwojem, będzie łatwiej rozróżnić obie grupy i podać więcej różnic. Na razie wady i zalety można rozważać wspólnie. Do oczywistych zalet możemy zaliczyć szybkość tworzenia oprogramowania. Reszta jest trochę pochodną tego, czyli możliwość szybszego zarabiania na swojej aplikacji, bycie pierwszym na rynku itp. Jednak ma to swoje minusy:

  • nie wiemy co siedzi pod konkretnymi opcjami i jaki kod wynikowy dostajemy na końcu
  • jesteśmy zaleźni od tego, co dostarczył nam twórca platformy
  • w platformach no-code może być ciężko stworzyć unikalne mechanizmy

No i dochodzi cena. Zastanawiałem się, czy zaliczyć do plusów, czy minusów. Z jednej strony tworzenie systemu tradycyjną metodą nie jest tanie zarówno pod względem kosztów, jak i czasu. Z drugiej, kiedy korzystamy z zewnętrzych platform, to wraz z ilością użytkowników koszt może bardzo rosnąć. Więc podsumuję tę kwestię standardowym: to zależy.

Sztuczna inteligencja

Na sam koniec coś, co może wyeliminować konieczność przeciągania elementów i tworzenia aplikacji manualnie, czyli sztuczna inteligencja. Z każdym rokiem tworzone przez nas rozwiązania, są coraz bardziej zaawansowane. I nastąpi dzień, kiedy nasz własny kod, będzie w stanie tworzyć aplikacje samemu. Czy na pewno kiedyś? Słyszeliście o GTP-3? Jest to rozwiązanie stworzone przez OpenAI do przetwarzania języka naturalnego, które potrafi pisać teksty jak człowiek. Ale z racji tego, iż można uzyskać do tego dostęp, to ludzie zaczęli z tego korzystać do innych celów. Zobaczcie jak sobie radzi z generowaniem kodu.

GPT-3 likes emojis too. [pic.twitter.com/eV0XcBfzMq](http://pic.twitter.com/eV0XcBfzMq)

— Sharif Shameem (@sharifshameem) July 19, 2020

Robi wrażenie, prawda? Jak się na to patrzy, to człowiek zastanawia się, co będzie robił w przyszłości, co nie? A druga myśl to skoro teraz mamy takie narzędzia, to co będzie za parę lat? Niektórzy powiedzą, iż w ten sposób będzie można zastąpić programistów. Jestem do tego trochę sceptyczny. Fajnie się ogląda, jak na podstawie tekstu jest generowany kod. Ale to są małe komponenty. Nie wiem, jak długo trzeba by opisywać, i to dokładnie, dużo bardziej skomplikowaną stronę. Dodatkowo trzeba będzie bardzo dokładnie sprawdzić wygenerowany kod czy przez przypadek nie wygenerowała się jakaś luka w logice, czy zabezpieczeniach. Moja opinia jest taka, iż te wszystkie narzędzia ułatwią nam pracę i zmienią jej charakter, ale nie będą jej całkowicie zabierać. Będą to kolejne narzędzia, które przyspieszą naszą pracę i pozwolą się skupić na istocie problemu, a nie kopiowaniu komponentów z innego projektu. Sam się zaciekawiłem tym narzędziem i zapisałem na listę oczekujących na dostęp. jeżeli będę mógł się tym pobawić, to na pewno napiszę coś więcej o GTP-3 na blogu.

Szansa czy zagrożenia dla programistów?

Najważniejsze pytanie, jakie nasuwa się podczas czytania o takich rozwiązaniach, to co się zmieni w naszej (programistów) pracy. Na pewno nie można oczekiwać, iż nic się nie zmieni, bo świat się rozwija zbyt gwałtownie by stać w miejscu. Warto spojrzeć wstecz, ponieważ nie tak dawno nie było takich ofert pracy, jak programista mobile, data scientist itd. Z drugiej strony czy ktoś ostatnio widział oferty na programistów flasha, symbiana itd. Świat się zmienia, pojawiają się nowe technologie, języki programowania i zastępują te stare. Według mnie rozwiązania no-code, low-code i AI wykształcą zupełnie nowy rynek. Pojawią się osoby/firmy, które będą specjalizowały się w tych rozwiązaniach i będą bardzo gwałtownie dostarczały stron/aplikacji startupom. Już to spowoduje dużą popularność tych rozwiązań - szczególnie na rynku startupów gdzie czas gra największą rolę. AI na pewno przyspieszy naszą pracę, pozwalając generować spore ilości kodu, dzięki czemu będziemy mogli się skupić na logice.

A co z programowaniem jak teraz? Dalej uważam, iż pomimo powstania i rozwoju tych rozwiązań ciągle będzie istniał rynek takiego programowania jak teraz. I według mnie będzie choćby lepiej. Dlaczego? Takie rozwiązania umożliwią szybki wzrost startupom, dając im możliwość zarabiania pieniędzy. I takie firmy z pieniędzmi mogą chcieć stworzyć własne rozwiązania, które przyspieszą procesy, zoptymalizują je i pozwolą na rozwijanie. Mamy tutaj dwie opcje.

  • albo rozwiązania no-code będą na tyle rozwinięte i zaawansowane, iż pozwolą na to (np.: systemem modułów) i będzie potrzeba nowego rodzaju programistów, którzy będą w stanie rozwijać platformę
  • aktualnie dostępne rozwiązania nie będą w stanie sprostać wymaganiom i będą wymagały zaprojektowania od podstaw systemu - który będzie się integrował z innymi rozwiązaniami np.: low-code

Inna grupa, która będzie wymagała zwykłych programistów to firmy, które będą budowały swoje rozwiązania low-code i no-code.

No i pewnie pojawi się sporo innych nowych stanowisk pracy, o których teraz choćby nie zdajemy sobie sprawy. Dlatego nie ma co się przyzwyczajać do języka a bardziej do rozwiązań, dobrych praktyk, analizy wymagań a przede wszystkim umiejętności miękkich. Dlaczego? Bo już teraz potrzeba porozumienia się pomiędzy biznesem a ludźmi technicznymi jest duża. A w kolejnych latach będzie to tylko rosnąć. Warto również śledzić rozwiązania no-code, low-code i AI, by śledzić trendy oraz wykorzystać te narzędzia do przyspieszenia naszej codziennej pracy. Co więcej, jeżeli będziemy je znali i proponowali klientowi to będzie nas postrzegać jako lepszych specjalistów. Za osoby, dla których istotne jest powodzenie i sukces projektu, a nie umiejętność napisania kawałka kodu. A wy co sądzicie? Jaka przyszłość czeka aktualnych programistów? W co warto inwestować czas? Umiejętności miękkie czy jednak twardo w programowanie?

Idź do oryginalnego materiału