rozwój oprogramowania

IT experts’ panel part 1: Mendix

07 gru. 2022

Zaczynamy nasz panel wywiadów z ekspertami IT. Chcemy dzięki temu przybliżyć Wam te znane i te mniej znane części i zakamarki IT. Dziś chcemy Wam opowiedzieć, a w zasadzie przedstawić, tę mniej znaną, a dokładniej, poruszyć zagadnienie low code.

Żeby zrobić to jak najlepiej, do rozmowy zaprosiłam naszego pracownika, osobę z 14-letnim doświadczeniem w branży IT i certyfikowanego experta Mendix, Bartosza Hetmańskiego.

AL: Bartek, dzięki za przyjęcie zaproszenia na rozmowę. Na początek proszę powiedz nam coś o sobie, jak zaczęła się Twoja przygoda z Mendix?

BH: Zacząłem swoją profesjonalna przygodę z IT w 2007 r. tuż po studiach. Na początku byłem developerem C++ i tworzyłem aplikację dla urządzeń wbudowanych. Później przeszedłem do sales operation support, to było w 2008, wtedy zacząłem prace z SF. Nie wiedziałem wcześniej, co to jest low code, no code. Dopiero wtedy dowiedziałem się, że jest taka klasyfikacja. SF był właśnie pierwszym narzędziem low code, z którym zacząłem pracować. W SF pracowałem parę lat, no właśnie parę, bo chyba dwa. Potem zmieniłem pracę i pracowałem w Java, mały epizod. Następnie trafiłem do CS, pracowałem przy platformie, która służyła do wykrywania oszustw finansowych, było to też zajęcie trochę low codowe…myślę, że można tak powiedzieć. A potem pod koniec 2017 roku, usłyszałem o mendixie, zacząłem pracować przy aplikacjach mendixowych, przygoda z low code zaczęła się na poważnie.

AL : To może zacznijmy od początku, co to jest ten low code?

BH: Musimy pamiętać, że są platformy low code i no code. W platformach no code nie ma w ogóle kodowania, używasz tego, co jest. Czyli łączysz bloczki i tworzysz aplikację z tego, co masz już gotowe.

Low code to 80% plus 20% na customizację i te customizacje można pisać w różnych językach. Czy jest to Java lub nawet Javascript, React, to nie ma problemu, te platformy low code właśnie w ten sposób można rozszerzać.

AL: Rozumiem, że właśnie Mendix jest taką platformą?

BH: Tak, to jedna z platform low codowych, jedna z PAS czy platform as a services. I jest to narzędzie, w którym można tworzyć aplikację, którą akurat tak się składa że bardzo lubię i nawet jestem w tym ekspertem.

AL: Zgodnie z raportami, Mendix jest uważany za jedną z najpopularniejszych platform, zgadzasz się z tym?

BH: Myślę że można tak powiedzieć, jest najlepszą platformą do low code.

Dlaczego? Bo ma dwa podejścia, jedno to citizen development. Np. jak ty Alicja chciałabyś zacząć uczyć się Mendixa, ale nie masz podstaw technicznych, nie masz zaplecza z IT, ale chciałabyś stworzyć aplikację, to możesz stać się takim citizen develperem i zacząć sobie jakieś proste aplikację wyklikiwać.

To jest takie podejście, można powiedzieć z góry, jesteś użytkownikiem końcowym i możesz sobie taką prostą aplikację stworzyć.

Natomiast mnie bardziej interesuje to drugie podejście czyli tworzenie aplikację z dołu, czyli ja jako profesjonalista IT i to jak mogę zrobić aplikację jako developer w Mendixie.

Mendix to jest trochę jak tworzenie aplikacji z klocków lego, masz gotowe komponenty, które ze sobą sczepiasz, one pasują do siebie lepiej lub gorzej. Na pewno układałaś wielokrotnie, więc wiesz, które ze sobą pasują, dobrze działają. Bo użyte w odpowiedni sposób mogą stworzyć coś naprawdę ciekawego. I tak właśnie działa Mendix, tak tworzy się aplikację w rapid development, w low code. Mamy gotowe komponenty, które oferują jakąś funkcjonalność.

Te komponenty są już dobrze przetestowane, więc nie musimy się skupiać na unit testowaniu. Można jakby przejść wyżej, do modelowania danych nie znając SQL, czy tworząc całą logikę biznesową nie znając Java czy innego języka. Bo te wszystkie komponenty już są.

Mendix to też jest taka potrójna architektura. Czyli są dane na początku, potem mamy warstwę biznesową, potem na koniec mamy warstwę UI.

Dla osób zajmujących się profesjonalnie IT ważna jest właśnie ta modularyzacja, że można oddzielić od siebie te warstwy.

AL: Powiedz mi proszę, co to jest ten rapid development?

BH: Jest rapid development i classical development, rapid to najczęściej nie jest pisanie kodu. To jest wyklikiwanie, ja tak na to mówię.

AL: Czyli układnie z tych klocków?

BH: Tak, rapid czyli to musi być na już, szybkie. A classical to jest już głownie takie pisanie kodu.

Rapid developer musi myśleć o całości, nie o linijkach kodu odpowiedzialnych za daną funkcjonalność, ale o całości aplikacji.

AL: Jakie są zalety Mendixa?

BH: Oprócz tego, że ma ciekawy, prosty interface developera, to ma pełno fitchetów. One się ciągle zmieniają, są nowe. Np. mają taki mechanizm sztucznej inteligencji, która Ci podpowiada w którym momencie co chciałabyś zrobić.

Czy na przykład one click deployment, czyli jak masz już jakieś zmiany, chcesz sobie wrzucić na aplikację, to klikasz jeden przycisk i to robi wszystko i wysyła comita do serwera z kodem źródłowym, robi bilda z tego kodu i od razu robi deploya. Czyli za jednym krokiem masz już całą automatyzację zapewnioną. Dzięki temu ja robiąc zmianę w aplikacji dla Ciebie jestem w stanie otworzyć inferace i zmienić co trzeba, nacisnąć deploy i to od razu idzie to na serwer, od razu widzisz zmiany.

To są ogromne zalety Mendixa. Ale zaraz pewnie odezwą się głosy: no dobra, ale ja chcę mieć pełną kontrolę, chcę wiedzieć, gdzie ten kod jest przetrzymywany, jak te bildy są robione, czy jest możliwe zrobienie deploya nie na chmurę mendixową, tylko na jakąś inną.

To wszystko jest możliwie i jest to łatwe do zrobienia czy do skonfigurowania. Możemy podpiąć githuba, można napisać skrypty automatyzujące, które nam zrobią bilda, np. w Jamlu. Aplikację stworzone w Mendix możemy deplojować nie tylko w chmurze Mendixa, możemy zrobić sobie on prem, czyli jak mamy jakieś swoje serwery lokalnie, to możemy to też tam zdeplojować lub na jakąś chmurę prywatną.

Ogólnie mówiąc, jest to bardzo elastyczna platforma.

Mendix ma też na swoim portalu developerskim, jak zakłada się aplikację, coś takiego jak Jira, taki moduł do zarządzani wymaganiami, wspierający Agile. I jest to przy okazji narzędzie do śledzenia zmian. Takie monitorowanie platformy. Co jeszcze….skalowalność. Medix się łatwo skaluje. Jest testowalne, bo można pisać unit testy, są do tego moduły.

Co ciekawe, Mendix oferuje prawie za darmo każdą funkcjonalność każdemu. Jest parę ograniczeń, możemy odpalać sobie aplikację lokalnie, funkcjonalnie, wszystko normalnie nam działa. Jeżeli chodzi o deployment na chmurę, to w darmowej wersji jesteśmy w jakiś sposób ograniczeni, ale nie jest to tak, że nie można tej aplikacji uruchomić.

AL.: A co z wyglądem takiej aplikacji?

BH: W Mendixie możemy też stylować. Style bazują na CSS i na Saas więc UI mają pole do popisu.

AL.: Czyli mogą wyglądać ładnie?

BH: Tak, zdecydowanie.

AL.: Mendix to tylko aplikacje webowe?

BH: Typy aplikacji, jakie możemy tworzyć, bo nie są to tylko aplikację webowe czy webowe responsywne, ale również aplikacje mobilne, hybrydowe, jak i natywne.

Możliwość integracji między aplikacjami. Jeżeli np. w przypadku szczególnie dużych korporacji, tworzą X aplikacji w Mendix, to jest coś takiego jak data hub, czyli możliwość wymiany informacji między różnimy aplikacjami.

Łatwa jest też integracja aplikacji mendixowych z innymi. Mendix wspiera również wiele systemów zarządzania baz danych. Głównie jest to postgres, ale integruje się również z Oracle, SQL, MySQL,

AL.: Uważasz, że Mendix, low code to przyszłość tworzenia aplikacji, IT?

BH: Odniosę się może na początku do tego, co mówią raporty, co ludzie mówią. Na pewno jest w pewnym stopniu przyszłością, bo ilość linijek kodu, jakie trzeba napisać i czas jaki to zajmuje, przy aktualnym wzroście aplikacji, to myślę, że nie mamy takiej mocy przerobowej. Na pewno udział aplikacji low codowych w uniwersum wszystkich innych z roku na rok rośnie i będzie rosnąć.

Też ciężko powiedzieć, że to jest przyszłość, bo ja bym powiedział, że to jest teraźniejszość. Bo to już jest, te aplikację się tworzy. Ja w swojej karierze stworzyłem dziesiątki aplikacji dla wielu klientów.

AL.: To dlaczego tak mało osób nawet z branży IT wie, co to Mendix?

BH: Myślę, że problemem z popularnością jest to, że platformy low codowe nie weszły jeszcze w program akademicki. W momencie, kiedy wejdą myślę ,że zacznie się taki drive w stronę low kodu.

Akademie uczą tworzenia od początku. A w low kod mamy już komponenty, nie musimy pisać linijek kodu od zera.

AL: Jak zostać Mendix developerem?

BH: Hmm, serce mi mówi, że trzeba jednak mieć wykształcenie technicznie albo chociaż przynajmniej jakieś podstawy. Może niekoniecznie wykształcenie, ale jakieś zacięcie i podstawy, bo o ile citizen development jest w Mendix możliwy i ludzie to robią, to niestety w wielu przypadkach to, co citizen developer stworzy trzeba stworzyć od nowa. Z różnych powodów, na pewno jest to jakiś punkt początkowy, żeby stworzyć kolejne aplikacje i w wielu firmach jest tak, że pozwalają użytkownikom tworzyć aplikację, mają szablony. Potem zespół IT przejmuje te aplikacje i optymalizują lub np. robią integrację.

Więc jak już wcześniej mówiłem, są te dwie drogi: od góry jako ten citizen developer lub od dołu jako profesjonalny developer.

Co trzeba zrobić? Na pewno trzeba chcieć, trzeba założyć sobie konto na Mendixie, konto developerskie, ściągnąć interface developera w jakiejś wersji i zacząć przerabiać kursy szkoleniowe, które są dostępne na platformie. Są od poziomu entry po nawet expert. No i jednak trzeba zacząć od samego początku.

Jeżeli ktoś jest zmotywowany i zacznie faktycznie przerabiać te kursy, to myślę, że po 2 tygodniach jest w stanie przejść pierwszy etap certyfikacji, czyli zdobyć certyfikat na rapid developera. To jest taki base line, który trzeba mieć, żeby zacząć tworzyć aplikacje.

Mała ciekawostka, podpowiedź. Ten test jest dość często bezpłatny. Trzeba trafić oczywiście na taki moment. Ale np. co roku jest taki event Mendix World. Jeżeli się na niego zarejestruje i będzie się w nim uczestniczyć, to na koniec dostaje się kod, który upoważnia do podjęcia próby zdania tego certyfikatu.

AL: To brzmi naprawdę zachęcająco. Na koniec naszej rozmowy chcesz coś może jeszcze dodać o Mendix? Coś co może zachęcić osoby szukające miejsca dla siebie w IT?

BH: Hmm może to, że Mendix przyspiesza robienie aplikacji około siedmiokrotnie, a Mendix chwali się, że nawet dziesięciokrotnie, ale tak z doświadczenia powiem, że jednak tak około siedem razy.

rozwój oprogramowania

Może to Cię zainteresuje

rozwój oprogramowania

07 gru. 2022