Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



12.05.2022

Odszyfrowanie historii

Z inicjatywy prezesa IPN, dr. Karola Nawrockiego, powstało Biuro Nowych Technologii. Jego...
01.04.2022

Program partnerski

NGAGEFirma NFON, ogólnoeuropejski dostawca komunikacji głosowej w chmurze, ogłosił...
01.04.2022

SI w TFI PZU

Na platformie do inwestowania inPZU działa już nowa metoda identyfikacji tożsamości...
01.04.2022

Kooperacja w chmurze

To oparta na stworzonej przez NetApp technologii ONTAP i w pełni zarządzana przez...
01.04.2022

Nowe laptopy od Dynabook

Dynabook wprowadza do swojej oferty dwa laptopy z procesorami Intel Core 12. generacji,...
01.04.2022

Ryzen do stacji roboczych

AMD przedstawił nową gamę procesorów Ryzen Threadripper PRO 5000 serii WX.
31.03.2022

Serwery dla MŚP

Firma Lenovo wprowadziła nowe rozwiązania w zakresie infrastruktury IT Future Ready,...
31.03.2022

Innowacyjny kontroler SSD

Microchip zaprezentował nowe kontrolery SSD, które umożliwią obsługę napędów o pojemności...
31.03.2022

Wydajny jak Brother

Brother dodał do swojej oferty trzy nowe, atramentowe urządzenia wielofunkcyjne, które...

Low-code / no-code – nowy wymiar programowania

Data publikacji: 31-03-2022 Autor: Marcin Bieńkowski

Zaglądając do jakiejkolwiek sieciowej encyklopedii, pod hasłem low-code lub no-code znajdziemy platformę niskokodową będącą systemem do tworzenia oprogramowania, które umożliwia tworzenie aplikacji w sposób wizualny za pomocą diagramów, grafów czy formularzy i, co najważniejsze, bez znajomości języków programowania. Czy czeka nas zatem rewolucja w programowaniu?

 

Według danych firmy No Fluff Jobs w zeszłym roku w Polsce brakowało około 50 tys. programistów, zaś w całej Europie było to aż 600 tys. osób. Znalezienie odpowiedniego pracownika stało się więc nie lada wyzwaniem biznesowym. Firmy zaczynają coraz częściej szukać rozwiązania tego problemu w możliwości wykorzystania platform niskokodowych (low-code) i bezkodowych (no-code). Ich wdrożenie, w porównaniu z tradycyjnymi metodami, pozwala firmom nie tylko znacznie szybciej tworzyć oprogramowanie, ale również, co ważniejsze, wykorzystać w tym celu swoich pracowników, którzy nie są programistami, lecz specjalistami w swoich dziedzinach.


Jak wiadomo, większość wykorzystywanych języków programowania bazuje na tekstowo zapisanych liniach kodu, które później są kompilowane lub interpretowane. Oczywiście istnieje też spora grupa języków do programowania wizualnego, czyli takiego, które pozwalają manipulować elementami wizualnymi, np. poprzez przeciąganie i upuszczanie bloków, i w ten sposób tworzy się w nich program. W programowaniu wizualnym twórca aplikacji za pomocą piktogramów przygotowuje zatem sekwencje akcji i powiązań pomiędzy nimi oraz danymi.


Warto pamiętać, że opisujący te akcje kod jest w programowaniu wizualnym przeważnie ukryty przed programistą. Oczywiście w każdej chwili można dotrzeć do tej niższej warstwy programowania wizualnego i uzupełnić swój program bezpośrednio, wpisując nowe, odpowiednie instrukcje, całe linie kodu bądź modyfikując te, które wygenerował już za nas język programowania wizualnego. Jednym z bardziej znanych języków programowania wizualnego jest Scratch.


> Platformy low-code…


Rozwinięciem idei programowania wizualnego są platformy no-code i low-code, określane też skrótem NCDP i LCDP (ang. no-/low-code development platform). Tego typu platformy pozwalają tworzyć aplikacje lub moduły do działającego oprogramowania, niemal bez znajomości programowania. Formalnie platformy no-code przeznaczone są przede wszystkim dla użytkowników biznesowych, natomiast low-code – dla programistów. Powstały one z myślą o przyspieszeniu procesu realizacji projektu i istotnym oszczędzaniu czasu potrzebnego do programowania.


Termin low-code pojawił się po raz pierwszy w przygotowanym przez firmę Forrester raporcie „New Development Platforms Emerge for Customer-Facing Applications”. Został tam użyty do opisania platform umożliwiających szybkie dostarczanie aplikacji biznesowych przy minimalnej potrzebie ręcznego kodowania i minimalnych nakładach związanych z konfiguracją platformy, wymaganymi szkoleniami oraz wdrożeniem. Platformy low-code oferują deweloperom dedykowane, zintegrowane środowisko programistyczne, a samo tworzenie kodu, dzięki możliwości wykorzystania gotowych elementów, zostało tutaj zredukowane do minimum. Co więcej, programista w każdej chwili może dopisać potrzebne elementy, przez co platformy niskokodowe nie ograniczają zespołów IT w budowaniu skomplikowanych i funkcjonalnych rozwiązań.


Istotną cechą platform low-code jest to, że dzięki nim i zaimplementowanym w nich interfejsom można w bardzo łatwy sposób, bez ingerowania w strukturę, wprowadzać zmiany do uruchomionych już rozwiązań w środowisku produkcyjnym – nawet takich, które stworzone zostały w tradycyjny sposób i są wykorzystywane w firmie od lat. Kolejnym istotnym elementem jest też to, że aktualizacje po wprowadzonych modyfikacjach aplikacji dostępne są od razu dla wszystkich użytkowników biznesowych systemu.


Dzięki systemom low-code aplikacje można też przygotowywać metodą iteracyjną, a więc stopniowo, krok po kroku zmieniać, przerabiać i udoskonalać program w już działającym środowisku IT przedsiębiorstwa. W ten sposób programiści lub użytkownicy biznesowi mogą się skupić na całościowym obrazie tworzonego oprogramowania. Co ważne, kolejne iteracje przygotowywanej aplikacji pozwalają użytkownikom biznesowym systematycznie zapoznawać się z nowymi funkcjami i opcjami oprogramowania, raportując niedociągnięcia lub zgłaszając uwagi dotyczące funkcjonalności, komfortu użytkowania czy realizowanych funkcji.


W ten sposób na bieżąco można konsultować i wdrażać zmiany w przygotowywanym rozwiązaniu, tak aby spełniało ono założone potrzeby biznesowe. Sprawne wprowadzanie modyfikacji daje też użytkownikom biznesowym czy analitykom zatrudnionym w firmie realny wpływ na ostateczny kształt i zakres wdrażanego w firmie oprogramowania. Oczywiście wszystkie te cechy sprawiają, że w praktyce platformy low-code wymagają podstawowej wiedzy na temat programowania lub wsparcia ze strony działu IT bądź zespołu programistów, udzielanego użytkownikom biznesowym, którzy samodzielnie tworzą aplikację lub moduły funkcjonalne potrzebne im w codziennej pracy.


Platformy niskokodowe sprawiły, że tworzenie, modyfikowanie oraz utrzymywanie firmowych aplikacji jest znacznie prostsze, a efekty pracy są natychmiast widoczne. Dzięki nim można oszczędzić czas potrzebny na stworzenie, często dedykowanego wyłącznie dla danego działu czy pracownika firmy, oprogramowania. Co więcej, systemy low-code niemal całkowicie eliminują sytuacje, w których dostarczone przez zespół programistów oprogramowanie nie trafia w potrzeby biznesowe ich użytkowników.


Obecnie dostępne są na rynku platformy low-code, takie jak np. Google App Maker (będąca częścią platformy Google Workspace), Microsoft Power­Apps (platforma do budowy aplikacji webowych), Anvil, OutSystems, Appian czy Mendix (będący częścią Siemensa). W Polsce wymienić można takich graczy jak nAxiom, Webcon i Canbi. Wszystkie te platformy oferują wizualne podejście do tworzenia aplikacji przy wykorzystaniu graficznego interfejsu.


> i no-code


Jak można się domyślić, platformy no-code to z kolei rozwiązania niewymagające absolutnie żadnej wiedzy programistycznej i w 100% bazują na graficznych, intuicyjnych interfejsach „przeciągnij i upuść” lub „wskaż i kliknij”. Dzięki temu platformy te są cenione przez użytkowników i analityków biznesowych, ponieważ mogą oni sami, bez pomocy działu IT, szybko i łatwo tworzyć na wewnętrzne potrzeby proste, niewymagające dużej elastyczności aplikacje.


Obecnie najczęstszym zastosowaniem dla platform no-code jest tworzenie tak zwanych aplikacji back office, które usprawniają wewnętrzne operacje biznesowe w firmie. Platformy bezkodowe pozwalają na łatwe tworzenie aplikacji wykorzystujących takie funkcje jak filtrowanie, wyszukiwanie, eksport czy import plików oraz tworzenie formularzy czy schematów przepływów pracy. Skorzystać też z nich można do tworzenia stron internetowych i intranetowych. Wśród nich pojawiają się też dość rozbudowane projekty, jak proste sklepy internetowe lub nieskomplikowane aplikacje mobilne i chmurowe.


Co ciekawe, o ile większość użytkowników platform niskokodowych to profesjonalni programiści i deweloperzy (jedynie nieco ponad 30% użytkowników stanowią użytkownicy biznesowi określani mianem programistów obywatelskich, ang. citizen developers), o tyle w wypadku no-code citizen deweloperzy stanowią już zdecydowaną większość. Istotne jest też to, że coraz więcej firm używa platform bezkodowych do tego, by umożliwić swoim pracownikom usprawnianie procesów wewnętrznych i dzięki temu odciążyć dział IT.


Mimo różnic pomiędzy low-code i no-code organizacje używają tych terminów zamiennie, ponieważ na obu rodzajach platform można realizować te same projekty w bardzo zbliżony sposób. Z tego względu mówi się o rozwiązaniach low-code, nawet jeśli w rzeczywistości mamy do czynienia z platformą no-code. Sytuacji tej sprzyja brak dopracowanych definicji dla obu platform. Jak już wspomniano, podstawową różnicą jest fakt, że rozwiązania no-code nie pozwalają (przynajmniej w teorii) na dostęp i modyfikowanie kodu aplikacji, nawet jeśli mamy wystarczającą wiedzę programistyczną. W wypadku low-code modyfikacje kodu są jak najbardziej możliwe. Teoretycznie platformy low-code pozwalają na tworzenie bardziej złożonego oprogramowania, ale nie jest to reguła i dużo zależy od samej platformy i jej przeznaczenia. Niemniej trzeba zdawać sobie sprawę, że platformy low-code nie będą jednak wystarczająco rozbudowane i elastyczne, aby za ich pomocą tworzyć rozbudowane systemy IT, takie jak np. CMS, ERP czy oprogramowanie CAD. To pozostaje wciąż domeną tradycyjnych środowisk deweloperskich.

 

[...]

 

Autor jest niezależnym dziennikarzem zajmującym się propagowaniem nauki i techniki.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"