Nie Trać Czasu! Spróbuj LowCode – Jak szybko stworzyć projekt

Najgorszym elementem tworzenia nowego projektu, chyba jest przenoszenie kodu “boilerplate”. Kod ten powtarza się w każdym projekcie z bardzo niską zmiennością. Czy to obsługa bazy danych, klasy bazowe architektury czy innego rodzaju powtarzający się kod. Najchętniej pominęlibyśmy te czynności i przeszli prosto do pisania logiki biznesowej. Czy istnieje rozwiązanie dla tego problemu? Jak szybko stworzyć projekt? Poznajcie LowCode.

LowCode, Jak szybko stworzyć projekt

Dla Kogo?

Może zacznę od wyjaśnienia, dla kogo są narzędzia LowCode? Tym razem artykuł jest bardziej kierowany do programistów. Bowiem LowCode jak sama nazwa wskazuje, nie eliminuje całkowicie programowania z procesu tworzenia projektu. Narzędzia takie znacząco zwiększają produktywność podczas wytwarzania oprogramowania poprzez generowanie powtarzalnych części kodu. Zadaniem programisty jest jedynie dostosowanie wygenerowanego kodu oraz poskładania “klocków”. Składanie klocków to pisanie logiki biznesowej, łączącej poszczególne gotowe części kodu, oraz manipulowanie nimi, tak aby spełniły założenia projektu.

LowCode na pewno nie jest rozwiązaniem wszystkich problemów świata programistycznego. Na pewno też nie nada się do każdego projektu. Kiedy zatem najlepiej skorzystać z możliwości udostępnianych przez LowCode? Pet projects. Prawie każdy programista ma swoje projekty, które rozwija po godzinach. Nie ma co się oszukiwać, tworząc projekt samemu, może to zająć zdecydowanie więcej czasu niż jakby robił to zespół programistów. Dlatego w takich sytuacjach warto z korzystać z LowCode. Sam zacząłem się interesować tematem, właśnie kiedy szukałem idealnego rozwiązania do stworzenia kolejnego etapu projektu – Marketplace projektów. Projekt ten zacząłem z NoCode, portal jest już gotowy i niedługo będę wchodził w etap weryfikacji. Jednak po pomyślnej weryfikacji przydałoby się stworzyć projekt “po Bożemu”. Pod uwagę trzeba wziąć moce przerobowe jednego programisty, dlatego zdecydowałem się na znalezienie jakiegoś full-stackowego frameworka LowCode. Jakie są dostępne opcje na rynku LowCode?

Narzędzia LowCode

Co w takim razie możemy użyć do stworzenia naszego projektu? Jest parę rozwiązań typowo “LowCode” ale parę innych nie przedstawia się jako takie właśnie narzędzia, a bardziej jako zwykłe frameworki, przez co ciężej je znaleźć. Udało mi się jednak przetestować parę takich narzędzi i wyrobić sobie na ich temat opinię. Jako że pochodzę ze środowiska JVM, to tylko takie opcje przetestowałem i głównie je opiszę, nie mniej jednak na końcu listy dodaję parę narzędzi dla innych środowisk programistycznych.

CUBA-Platform

CUBA-Platform to bardzo ciekawe rozwiązanie. Przy większości projektów CUBA będzie służyć głównie do generowania REST API. Dlaczego? Temat frontendu w tym frameworku jest ustalony dosyć sztywno i jest nastawiony na panel administracyjny. Przez takie podejście do tematu nie mamy zbyt wiele pola do popisu, więc jeśli nasz projekt to zwykły panel administracyjny – spoko, mamy wszystko gotowe. Jeśli jednak jest inaczej (w 99% przypadków jest inaczej), front-endem musimy zająć się sami, a wygenerowany panel możemy uznać za przyjemny menedżer, który ułatwi nam operowanie na danych aplikacji oraz debugowanie.

Aplikacja CUBA-Platform
Przykładowa aplikacja do Bookowania terminów, zrobiona w CUBA-Platform

Co z tym back-endem? No tak, generowanie API RESTowego jest naprawdę proste. Sam nie mam nic do zarzucenia – choć pewnie jacyś doświadczeni back-endowcy dopatrzyliby się uchybień, może jakichś złych praktyk – ale plusem LowCode jest to, że właściwie wszystko można samemu poprawić. No dobra Kuba, przejdź do sedna, jak w CUBA generuje się ten kod? A no – wyklikuje się. Twórcy przygotowali plugin do Intellij IDEA, w nim większość rzeczy można sobie wyklikać. Wygenerowany projekt od razu posiada moduł bezpieczeństwa, a uprawnieniami i kontami można zarządzać już z poziomu stworzonego panelu administracyjnego. Poza tym gotowa też jest obsługa tłumaczeń, wiele motywów do wyboru, a dodatkowo można tworzyć własne, lub modyfikować istniejące. W narzędziu tym można wybrać używany język spośród: Java, Kotlin, Java + Groovy. Mnie szczególnie cieszy obecność Kotlina – co prawda w każdym projekcie Javy można z niego korzystać, ale nie zawsze używane są jego funkcjonalności. Podsumowując, CUBA-Platform to kompleksowe rozwiązanie, załatwiające za nas wiele programowania, ale raczej tylko nada się do stworzenia backendu, a front-end musimy zaprogramować we własnym zakresie.

Vaadin

W moim przypadku – jako że bardzo nie chciałem się zajmować typowym front-endem – zdecydowałem się na skorzystanie z Vaadin. Ten framework jest zdecydowanie mniej kompleksowy i mniej “LowCode” niż CUBA-Platform. Ma jednak jeden duży plus – swobodę tworzenia UI. Można tu stworzyć właściwie co się chce i to z poziomu kodu Javy. Oczywiście mamy dostęp do plików scss ale nie ma też problemu by modyfikować style z poziomu programu. Do budowania UI mamy dostępne gotowe już widgety, takie jak przyciski, pola tekstowe, obrazy, layouty (definiują układ elementów, które w nim się znajdują). A żeby określić ich wygląd można skorzystać z gotowych motywów lub napisać swoje. Zmiana motywu oczywiście jest “bezbolesna”, nic w kodzie nie trzeba modyfikować. No i jeszcze jedno. Vaadin ma prosty generator do rozpoczęcia projektu. Po pobraniu wygenerowanego projektu jesteśmy zdani na siebie. Nie jest to jakiś wielki problem, grunt, że bazowe widoki mamy już gotowe.

Kreator Projektu Vaadin
Kreator Projektu Vaadin

Dobra, front frontem, ale co z back-endem? No tu wiele do opisania nie mam – to po prostu Spring Boot. Bez fajerwerków, bez dodatkowych bibliotek, tyle tylko, że fajnie zgrany z front-endem w jednym projekcie. Nawet na stronie Vaadin w oficjalny kursie nie ma żadnej wzmianki o back-endzie.

Jednym z minusów Vaadin są dość przestarzałe praktyki programistyczne. To chyba kwestia prywatna, związana z tym, że framework ten jest Java-first, a z Kotlina można korzystać, ale bez wsparcia dla kotlinowych funkcjonalności.

Inne Narzędzia

Tak jak obiecałem, umieszczam listę innych narzędzi – ich jednak nie testowałem, więc wypowiedzieć się nie mogę.

Jak szybko stworzyć projekt – Podsumowanie

LowCode to wciąż rozwijająca się gałąź IT, jednak warto mieć ją na uwadze – może się przydać. Zapewne jest wiele przeciwników podejścia LowCode ze względu na gorszą jakość kodu – OK, to ma sens, ale w dużych projektach rozwijanych przez firmy. Przy małych projektach lepiej skupić się na stworzeniu dobrego projektu do końca, niż zacząć idealne oprogramowanie, ale nigdy go nie skończyć.

Dajcie znać, czy używacie jakichś rozwiązań LowCode? Jak inaczej szybko stworzyć projekt?

Dołącz do wydajnych programistów

Dołącz do newslettera i dowiedz się jak stać się wydajnym programistą. Mięsa nie ma, ale sztuczki i narzędzia NoCode oraz LowCode do zastosowania w twoich projektach na pewno się znajdą.

Zapisz sie do newsletteraZbuduj swój startup

Dołącz do newslettera w którym co tydzień otrzymasz informacje o narzędziach NoCode oraz ich wykorzystaniu w tworzeniu oprogramowania. Mięsa nie ma, ale coś ciekawego znajdziesz.

Zapisz się na listę Generuj opisy szybko jak nigdy z Catalogerem

Otrzymuj informacje o rozwoju Cataloger'a i otrzymaj wczesny dostęp do naszego Generatora opisów!