22 stycznia 2009

Moje wrażenia podczas obcowania z EMF, GMF, GEF

Ostatnio jestem zaangażowany w projekt zbudowany z niezależnych pluginów Eclipse’a. Taki system pozwalający na tworzenie modeli w oparciu o zdefiniowany, własny DSL. Dla osób nie siedzących w tym temacie dodam, iż wygląda to trochę jak edytor UML. Technologie użyte przy budowie systemu to EMF, GMF, GEF. Muszę przyznać, że czas wejścia w te technologie jest stosunkowo długi (przynajmniej jak dla mnie). Jednak, gdy już posiądzie się „tajemną” wiedzę tworzenie kompleksowych aplikacji staje się dużo prostsze. Kontakt ze stosunkowo prostą aplikacją zbudowaną o wspomniane frameworki powoduje, iż użytkownik końcowy ma wrażenie, że jest ona graficznie i funkcjonalnie dopieszczona. Nie trzeba zajmować się wieloma aspektami wymaganymi przy tworzeniu standardowych aplikacji takimi jak np. standardowe menu, integracja z repozytorium, przechwytywanie zmian w modelu od ostatniego zapisu, lokalizacja itp. Dużo rzeczy programowana jest poprzez model deklaratywny na podstawie, którego automatycznie generowany jest kod. W temacie EMF, GMF, GEF wciąż raczkuję. Może dlatego, iż rdzeń aplikacji tworzony jest przez mojego przełożonego, który dość długo siedzi w tym temacie, a moja rola ogranicza się głównie do poprawy zgłaszanych błędów. Jednakże jest to ciekawe dla mnie doświadczenie, gdyż sam widzę jak w przeciągu ostatnich dziesięciu lat zmienia się sposób pisania kodu i tworzenia systemów informatycznych.

3 komentarze:

Jacek Laskowski pisze...

Hola, hola, nie wpadaj w zachwyt jeszcze, zanim poznasz temat dogłębniej. Moim zdaniem generatory aplikacji nie zastąpią programowania , żmudnych lekcji algorytmiki itp. One pozwalają na dostęp do świata (meta)programowania osobom, których nie było dane zająć się zagadnieniami programowania dokładniej i w założeniu mają skrócić czas działania tworzenia finalnej aplikacji. W końcu i tak przyjdzie czas na poprawki tu i tam, aby ów kod był poprawnie zestrojony i "zagrał" właściwie. Czekaj tylko, jak się aplikacja rozrośnie. Nie twierdzę tym samym, że generatory są złe - mają swoje miejsce w przyborniku programisty i dobrze się sprawdzają np. podczas spotkania z klientem. Klepniesz kilka raz w klawiaturę i SHOWTIME! ;-)

syllepsa pisze...

Masz rację Jacku. Z pewnością nie ma sensu z marszu zabierać się za tworzenie aplikacji za pomocą generatorów. Jest to pewien kolejny etap tzw. tułaczki programistycznej. Chciałbym również zaznaczyć, iż wspomniane technologie nie mają za dużo wspólnego z narzędziami WYSIWYG. Tutaj, żeby coś stworzyć trzeba mieć już znacznie większą świadomość co w trawie piszczy. Mam tu na mysli stworzenie metamodelu, konfiguracja tworzonych pluginów etc.

Anonimowy pisze...

Tak, pewnie tak jest