Wyszukiwanie w witrynie

Low code jest również dla programistów: nadchodzi kolejna rewolucja programistyczna


Trwa duża zmiana w sposobie tworzenia i używania aplikacji, a kluczem do tego będzie mała ilość kodu.

Nawet jeśli nowoczesne narzędzia i usługi zwiększają produktywność programistów, nadal istnieje "luka w aplikacjach". Jest to luka między kodem, do którego skompilowania masz zasoby, a kodem, którego chcą Twoi interesariusze. Zespoły programistów są przeciążone i muszą ustalać priorytety swojej pracy, skupiając się na podstawowych systemach biznesowych i narzędziach potrzebnych do pracy z nimi. 

Nic więc dziwnego, że narzędzia low code stały się popularne. Opierają się one na znanych koncepcjach, aby zapewnić użytkownikom końcowym zestaw narzędzi, który pomaga im tworzyć i udostępniać aplikacje, których potrzebują. Są to logiczni następcy programów Excel i Access, które otwierają dostęp do danych i udostępniają sposoby łączenia aplikacji i usług, jednocześnie tworząc proste środowiska użytkownika ze wspólnych bloków konstrukcyjnych. Można o nich myśleć jako o nowoczesnych narzędziach do automatyzacji procesów, które są w stanie wyodrębnić przepływy pracy z operacji i przekształcić te przechwycone działania w kod. 

Narzędzia z małą ilością kodu, takie jak Zapier i Microsoft Power Platform, są często postrzegane jako sposób na odciążenie zapotrzebowania na programowanie, umożliwiając użytkownikom tworzenie potrzebnych aplikacji, kiedy ich potrzebują. Choć dobrze jest mieć sposób na zmniejszenie luki w aplikacjach, istnieją znaczne ograniczenia, które uniemożliwiają przyjrzenie się narzędziom o niskim kodzie w izolacji. 

Zarządzanie interfejsami API

To, o czym często zapomina się w pośpiechu do małej ilości kodu, to fakt, że jest to w istocie technologia przepływu pracy i integracji, a to oznacza tworzenie punktów końcowych i zarządzanie nimi. W tym przypadku istniejące zespoły programistów stają się niezbędne, ponieważ muszą mieć za zadanie zapewnienie zarządzanych interfejsów API dla istniejących aplikacji i usług. Podczas gdy modele API oparte na protokole REST używane przez większość narzędzi niskokodowych są stosunkowo łatwe do wdrożenia i obsługi, proces ten wprowadza nowy zestaw problemów: kto uzyskuje dostęp do tych interfejsów API i w jakim stopniu może uzyskać dostęp za ich pośrednictwem? 

Nie można zaimplementować rozwiązań z małą ilością kodu bez jakiejś formy zarządzania interfejsami API, powiązanej z istniejącą platformą tożsamości. Kontrola dostępu oparta na rolach i zarządzane ograniczenia będą potrzebne do zapewnienia bezpieczeństwa i integralności danych. Musisz mieć pewność, że dostęp do chronionych danych mają tylko ci, którzy ich potrzebują, i że zbyt wielu użytkowników nie wpłynie na operacje systemów biznesowych. Dzięki temu, że zarządzanie interfejsami API jest częścią pakietu z małą ilością kodu, użytkownicy, którzy potrzebują dostępu do interfejsów API, mogą być aprowizowani przy użyciu prostych procesów samoobsługowych, a nieużywane konta są oczyszczane, aby uniknąć utraty danych. 

Praca w zespołach 

Do tego dochodzi kwestia niskiego kodu tworzonego w izolacji. Zbyt często zasoby są tworzone wielokrotnie, co nie pozwala na czerpanie korzyści z ponownego wykorzystania kodu i przenośności. Częścią problemu jest to, że duża ilość kodu o niskiej zawartości jest tworzona w środowiskach zastrzeżonych, bez integracji z systemami kontroli źródła lub środowiskami kodowania społecznościowego, takimi jak GitHub. Nawet oryginalne środowisko niskokodowe, Excel, odchodzi od zastrzeżonego modelu, z nową funkcją LAMBDA, która umożliwia współdzielenie bloków kodu między różnymi projektami. 

Oczywiste jest, że mały kod to kod, nawet jeśli jest generowany na wizualnym płótnie typu "przeciągnij i upuść". Musimy traktować go w taki sam sposób, w jaki traktujemy kod w naszych głównych rozwiązaniach dla przedsiębiorstw, upewniając się, że jest on bezpieczny i niezawodny oraz że tam, gdzie to możliwe, wiedza używana do tworzenia tych aplikacji nie zostanie utracona i będzie mogła być udostępniana innym zespołom. 

Wczesne narzędzia z małą ilością kodu pomijały wiele z tego, co było do tego niezbędne. Tak, można wokół niego budować procesy, z recenzjami deweloperów i innymi kamieniami milowymi, ale takie podejście przeszkadza w oczywistych korzyściach płynących z małej ilości kodu, stawiając przeszkody na drodze do szybkiego rozwoju aplikacji, które mogą mieć zaplanowane tylko kilka miesięcy życia. 

Wprowadzenie małej ilości kodu do narzędzi programistycznych na dużą skalę pozwala zacząć korzystać z umiejętności z różnych części organizacji, tworząc tak zwane "zespoły hybrydowe", w których różne grupy współpracują ze sobą w celu zbudowania aplikacji lub usługi, która rozwiązuje określone problemy. Każdy członek zespołu hybrydowego będzie miał inną odpowiedzialność: jeden może być użytkownikiem końcowym, drugi programistą niskokodowym, a jeszcze inny zarządza interfejsami API usług. Nie ma sztywnej struktury dla takiego zespołu; Składa się z osób potrzebnych do określonego zadania. Nie muszą nawet spotykać się osobiście — kanał Slack lub Teams dla projektu może wystarczyć do większości typowych interakcji. 

Niski kod jako kod 

Nowsze narzędzia zaczęły to zmieniać, wprowadzając nowe koncepcje zarządzania i nowe sposoby udostępniania kodu. Jednym z kluczowych osiągnięć jest odejście od czysto graficznych narzędzi, na rzecz rozwoju nowych języków, które zawierają wiele z tego, co można zrobić za pomocą narzędzi graficznych i które pozwalają nam wbudować nasz rozwój niskokodowy w potoki CI/CD i narzędzia do kodowania społecznościowego, takie jak GitHub. 

Te nowe języki lepiej nadają się do środowisk z małą ilością kodu, opierając się na pojęciach, takich jak zapytania SQL i formuły programu Excel. Są one szybkie do zrozumienia, wykorzystując mieszankę pojęć programowania deklaratywnego i funkcyjnego. Użytkownicy mogą nadal pracować przy użyciu znanych graficznych środowisk programistycznych, automatycznie zapisując wynikowy kod w swoich repozytoriach Git. Tymczasem deweloperzy mogą szybko przejrzeć ten kod w swoich środowiskach IDE lub edytorach kodu. Nie ma kontekstu przełączania, a każdy otrzymuje narzędzia potrzebne do wykonywania zadań, które musi wykonać. Deweloperzy mogą następnie korzystać z potoków ciągłej integracji/ciągłego wdrażania, aby szybko przetestować kod przed wydaniem, szukając przeszkód i innych krytycznych błędów. 

ZOBACZ: Web developer czy CTO, które zawody technologiczne mają najszybciej rosnące wynagrodzenia?

Przekształcenie małej ilości kodu w kod umożliwia korzystanie z nowej generacji asystentów kodowania opartych na uczeniu maszynowym. Technologie takie jak model Codex firmy OpenAI mogą identyfikować typowe wzorce w kodzie i sugerować sugestie na podstawie tego, jak inne aplikacje rozwiązują podobne problemy. Jeśli, powiedzmy, aplikacja z małą ilością kodu wymaga kontrolki sieci połączonej z systemem ERP, może zasugerować sposób konstruowania odpowiednich parametrów połączenia lub najlepszego formatowania zapytania. 

Jest to podejście, które wciąż jest w początkowej fazie, ale jest obiecujące. Nie chodzi o to, aby sztuczna inteligencja napisała za ciebie kod, ale o to, aby programista par oparty na sztucznej inteligencji sugerował, jak ulepszyć kod. Gdy nauczysz się, jak tworzyć aplikacje z małą ilością kodu, jest to zestaw kół treningowych, które możesz powoli rozwijać, zmniejszając zależność zarówno od sztucznej inteligencji, jak i od zasobów deweloperskich.  

Można zobaczyć, jak to się skończy, ponieważ programiści podstawowych systemów tworzą interfejsy API, sztuczna inteligencja udoskonala sposób ich używania, a użytkownicy szybko podążają za ich sugestiami, aby tworzyć wysokiej jakości aplikacje, które działają dobrze i nie przeszkadzają innym użytkownikom. 

Jesteśmy na początku dużej zmiany w sposobie tworzenia i używania aplikacji, a mała ilość kodu będzie kluczowym czynnikiem napędzającym tę nową rewolucję. Związek między małą ilością kodu a tworzeniem aplikacji w głównym nurcie musi być ścisły. Jednak w sytuacji, gdy mała ilość kodu jest postrzegana jako sposób reagowania na brak zasobów programistycznych, jest to relacja, którą należy ostrożnie zarządzać. Dlatego dobrze jest widzieć, jak organizacje dostrzegają znaczenie skutecznego zarządzania interfejsami API, korzystania z narzędzi usprawniających udostępnianie kodu, nowych struktur zespołów, które przekraczają granice organizacyjne, a także wykorzystania uczenia maszynowego w celu zmniejszenia ryzyka i zwiększenia produktywności. 

Powiązane artykuły