Mendix to platforma low-code znajduj膮ca si臋 obecnie w posiadaniu firmy Siemens.
O co chodzi z tym ca艂ym low-code (LC) i i czemu w 2026 roku nie lepiej jest zvibekodowa膰 backendu i frontendu aplikacji?
W wi臋kszo艣ci projekt贸w robimy te same rzeczy. Prawdopodobnie b臋dziemy potrzebowali takich element贸w aplikacji webowej, jak:
- 艁膮czenie si臋 do zewn臋trznych API
- Tworzenia bazy danych i wystawiania jej w formie API (przyda艂by si臋 te偶 jaki艣 ORM)
- Tworzenia logowania
- Zaawansowanych opcji security, mi臋dzy innymi RBAC
- Tworzenia widok贸w dla encji i list, oraz operacji CRUD
- Tworzenia nawigacji
- T艂umaczenia
Dodatkowo, musimy w miar臋 dynamicznie reagowa膰 na zmiany modelu bazy, poprawiaj膮c wtedy jednocze艣nie backend i frontend.
W tradycyjnym podej艣ciu, tworzymy 2 aplikacje - frontend i backend. W nowszym (a w zasadzie, w odkrytym na nowo), mo偶na utworzy膰 kulawy backend we frameworku typu Next i doda膰 do niego frontend w tej samej aplikacji. Pod koniec 2025 roku pojawi艂o si臋 wiele podatno艣ci w komponentach backendowych w Next i React.
Podej艣cie tworzenia REST API wymaga dobrej komunikacji i zrozumienia aplikacji, szczeg贸lnie gdy pracuje przy nim kilka os贸b. Wszystko, co jest wysy艂ane do backendu, musi by膰 zrozumia艂e przez backend. Przyk艂adowo, je艣li w aplikacji mamy s艂owniki, musz膮 by膰 one wysy艂ane i odsy艂ane w taki sam spos贸b. W wielu aplikacjach w kt贸rych pracowa艂em, powodowa艂o to ogromn膮 ilo艣膰 problem贸w. Przyk艂adowo, mo偶liwe by艂o wys艂anie do backendu warto艣ci s艂ownika, kt贸ra nie by艂a w s艂owniku, albo wysy艂ali艣my 偶膮danie do backendu, a ten nie zawsze zwraca艂 prawid艂owe warto艣ci.
Tworzenie aplikacji w taki spos贸b jest baaardzo 偶mudne i cz臋sto podczas testowania wychodz膮 jakie艣 b艂臋dy na styku API. Innym problemem s膮 migracje baz danych, kt贸re trzeba wprowadza膰 setki razy nawet wtedy, gdy aplikacja nie zosta艂a jeszcze wydana na produkcj臋.
Jest to szczeg贸lnie trudne do zrozumienia dla os贸b nietechnicznych.
Podej艣cie Mendixa
Mendix to platforma oferuj膮ca zupe艂nie inne podej艣cie ni偶 standardowe programowanie. Edytor Studio Pro, na bazie Eclipse, oferuje zaawansowany edytor modelu bazy danych. Nast臋pnie wszystko, co mo偶emy u偶ywa膰 w naszej aplikacji, musi zawiera膰 si臋 w bazie. Chcesz list臋 p贸l w selectboxie? Musi ona by膰 w bazie.
Chcesz doda膰 pole do Twojej encji? Nic prostszego, edytujesz model aplikacji i od razu widzisz zmian臋.
Z modelu aplikacji mo偶esz jednym klikni臋ciem wygenerowa膰 CRUDY, wraz z zaawansowanymi opcjami filtrowania. Jest to na tyle szybkie, 偶e mo偶na by si臋 um贸wi膰 na kr贸tkie demo z klientem i w tym czasie stworzy膰 du偶膮 cz臋艣膰 szkieletu aplikacji.
Microflow, Nanoflow, Workflow
W standardowym projekcie frontendowym praca przebiega tak:
U偶ytkownik chce, by przycisk co艣 robi艂. Dodajemy wtedy przycisk w jakim艣 template typu JSX, pod艂膮czamy pod niego nasz膮 customow膮 funkcj臋 w JS/TS i robimy co艣 po jego naci艣ni臋ciu. Dla frontendowca to chleb powszedni, dla osoby nietechnicznej, czarna magia.
W Mendix tworzymy aplikacj臋 klikaj膮c po elementach. Przeci膮gamy przycisk z panelu bocznego, dodajemy do niego konfiguracj臋 i pod艂膮czamy do niego Microflow lub Nanoflow. S膮 to po prostu funkcje, kt贸re dzia艂aj膮 na backendzie lub frontendzie.
Flow mo偶e mie膰 swoje parametry (na obrazku powy偶ej Content), a nast臋pnie wykonuje on akcje wybierane z bocznego panelu. Przyk艂adowo, mo偶emy zwalidowa膰 warto艣膰, policzy膰 co艣 w p臋tli i nast臋pnie zwr贸ci膰 warto艣膰.
Czy jest to dziecinnie proste? Ot贸偶 nie, poniewa偶 musimy wiedzie膰 co chcemy zrobi膰 i w zasadzie jest to programowanie, tylko w formie bardziej wizualnej. Znacznie 艂atwiej jest jednak pokaza膰 na takim przyk艂adzie osobie nietechnicznej, co robi ka偶dy flow.
Takie przeci膮ganie bloczk贸w kojarzy si臋 nieco z IBM BPM.
Tworzenie microflow walidacji wygl膮da tak:
Sprawdzamy pole, je艣li jest ono nieprawid艂owe, to ustawiamy komunikat b艂臋du i zmienn膮 globaln膮 dla microflow isValid na false. Je艣li jest prawid艂owe, przechodzimy dalej. Wygl膮da to 偶mudnie i takie jest, ale Mendix oferuje tworzenie takich walidacji automatycznie.
Problemy
Podczas zabawy Mendixem trafi艂em niestety na bardzo du偶o problem贸w, jednak by膰 mo偶e wynikaj膮 one z tego, 偶e pracowa艂em na MacOS, dla kt贸rego nie ma wersji stabilnej dla Studio Pro. Aplikacja raz dzia艂a, raz pokazuje puste panele, nowsze wersje nie chc膮 si臋 w艂膮cza膰 albo maj膮 powa偶ne b艂臋dy UX. By膰 mo偶e dla Windows dzia艂a to lepiej.
Brak komentarzy:
Prze艣lij komentarz