{"id":2562,"date":"2023-03-03T16:43:07","date_gmt":"2023-03-03T16:43:07","guid":{"rendered":"https:\/\/www.juniorjavadeveloper.pl\/?p=2562"},"modified":"2023-03-03T16:43:08","modified_gmt":"2023-03-03T16:43:08","slug":"low-code-i-no-code-czy-generatory-kodu-zrodlowego-zastapia-programistow","status":"publish","type":"post","link":"https:\/\/www.juniorjavadeveloper.pl\/en\/2023\/03\/03\/low-code-i-no-code-czy-generatory-kodu-zrodlowego-zastapia-programistow\/","title":{"rendered":"Low-code i No-code &#8211; czy generatory kodu \u017ar\u00f3d\u0142owego zast\u0105pi\u0105 programist\u00f3w?"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Jaki\u015b czas temu us\u0142ysza\u0142em &#8211; buzzword &#8211; modne s\u0142owa, low-code i no-code, kt\u00f3re maj\u0105 opisywa\u0107 co\u015b rewolucyjnego i nowoczesnego. Zastanowi\u0142em si\u0119 chwil\u0119 i doszed\u0142em do wniosku, \u017ce low-code i no-code ju\u017c u\u017cywa\u0142em w 2007 r. &#8211; 16 lat temu. Podziel\u0119 si\u0119 swoimi do\u015bwiadczeniami w pracy z generatorami magicznego kodu \u017ar\u00f3d\u0142owego (low-code i no-code) dla oprogramowania typu Enterprise, a nie wersji demonstracyjnych w postaci Proof of Concept. Czy\u017cby low-code i no-code, to kolejny &#8211; hype &#8211; szum reklamowy?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Chc\u0105c dowiedzie\u0107 si\u0119 wi\u0119cej o low-code i no-code sprawdzi\u0142em ich definicje na Wikipedii. Jak, to czasem bywa, u\u017cywa\u0142em tych narz\u0119dzi, technologii bez znajomo\u015bci ich formalnych definicji.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/Low-code_development_platform\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Low-code_development_platform\" target=\"_blank\" rel=\"noreferrer noopener\">Low-code development platform<\/a><\/p>\n<cite>[&#8230;] &#8220;\u015brodowisko programistyczne u\u017cywane do tworzenia aplikacji za po\u015brednictwem graficznego interfejsu u\u017cytkownika.&#8221;. [&#8230;] &#8220;jest oprogramowaniem umo\u017cliwiaj\u0105cym budow\u0119 aplikacji w spos\u00f3b wizualny, za pomoc\u0105 diagram\u00f3w, graf\u00f3w czy formularzy bez znajomo\u015bci j\u0119zyk\u00f3w programowania&#8221;.<\/cite><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/No-code_development_platform\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/No-code_development_platform\" target=\"_blank\" rel=\"noreferrer noopener\">No-code development platform<\/a><\/p>\n<cite>[&#8230;] &#8220;pozwalaj\u0105 programistom i osobom nieb\u0119d\u0105cym programistami na tworzenie aplikacji za pomoc\u0105 graficznych interfejs\u00f3w u\u017cytkownika i konfiguracji zamiast tradycyjnego programowania komputerowego.&#8221;. [&#8230;] &#8220;&#8221;.<\/cite><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Obie platformy maj\u0105 cz\u0119\u015b\u0107 wsp\u00f3ln\u0105, o kt\u00f3rej pisze Wikipedia:<\/p>\n<cite>[&#8230;] Platformy programistyczne bez kodu (no-code) s\u0105 blisko spokrewnione z platformami programistycznymi o niskim kodzie (low-code), poniewa\u017c <strong>obie maj\u0105 na celu przyspieszenie procesu tworzenia aplikacji<\/strong>. Jednak w przeciwie\u0144stwie do platform programistycznych o niskim poziomie kodu (low-code), platformy programistyczne bez kodu (no-code) w og\u00f3le nie wymagaj\u0105 pisania kodu, zazwyczaj oferuj\u0105c gotowe szablony, za pomoc\u0105 kt\u00f3rych firmy mog\u0105 tworzy\u0107 aplikacje. [&#8230;]<\/cite><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Wspomnia\u0142em o <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/Enterprise_software\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Enterprise_software\" target=\"_blank\">oprogramowaniu typu Enterprise<\/a> i wersji demonstracyjnej w postaci <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/Proof_of_concept\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Proof_of_concept\" target=\"_blank\">Proof of Concept<\/a>. Warto wyja\u015bni\u0107 oba poj\u0119cia, \u017ceby lepiej zrozumie\u0107 charakter, tego typu oprogramowania. W telegraficznym skr\u00f3cie i du\u017cym uproszczeniu, Proof of Concept jest wersj\u0105 demonstracyjn\u0105 docelowego i dzia\u0142aj\u0105cego oraz du\u017cego i z\u0142o\u017conego oprogramowania typu Enterprise u\u017cywanego przez firmy do realizacji swoich cel\u00f3w.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Enterprise software<\/p>\n<cite><strong>EN<\/strong>: According to Martin Fowler, &#8220;Enterprise applications are about the display, manipulation, and storage of large amounts of often complex data and the support or automation of business processes with that data.&#8221;.<br><br><strong>PL<\/strong>: Wed\u0142ug Martina Fowlera \u201eaplikacje korporacyjne s\u0142u\u017c\u0105 do wy\u015bwietlania, manipulowania i przechowywania du\u017cych ilo\u015bci cz\u0119sto z\u0142o\u017conych danych oraz wspierania lub automatyzacji proces\u00f3w biznesowych za pomoc\u0105 tych danych.\u201d.<\/cite><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Proof of Concept<\/p>\n<cite><strong>EN<\/strong>: Proof of concept (POC or PoC), also known as proof of principle, is a realization of a certain method or idea in order to demonstrate its feasibility, or a demonstration in principle with the aim of verifying that some concept or theory has practical potential. A proof of concept is usually small and may or may not be complete. These collaborative trials aim to test feasibility of business concepts and proposals to solve business problems and accelerate business innovation goals.<br><br><strong>PL<\/strong>: Dow\u00f3d koncepcji (POC lub PoC), znany r\u00f3wnie\u017c jako dow\u00f3d zasady, to realizacja okre\u015blonej metody lub pomys\u0142u w celu wykazania jej wykonalno\u015bci lub demonstracja w zasadzie w celu sprawdzenia, czy jaka\u015b koncepcja lub teoria ma praktyczny potencja\u0142. Weryfikacja koncepcji jest zwykle niewielka i mo\u017ce by\u0107 kompletna lub nie.<\/cite><\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Wyja\u015bnione poj\u0119cia low-code i no-code brzmi\u0105 wspaniale: &#8220;tworzenie aplikacji za pomoc\u0105 graficznych interfejs\u00f3w u\u017cytkownika i konfiguracji zamiast tradycyjnego programowania komputerowego&#8221; oraz &#8220;budowa aplikacji w spos\u00f3b wizualny, za pomoc\u0105 diagram\u00f3w, graf\u00f3w czy formularzy bez znajomo\u015bci j\u0119zyk\u00f3w programowania&#8221;. Postaram si\u0119 odpowiedzie\u0107 na pytanie &#8211; Czy tak jest w praktyce? &#8211; przedstawiaj\u0105c narz\u0119dzia, kt\u00f3rych u\u017cywa\u0142em oraz opisuj\u0105c moje do\u015bwiadczenia i spostrze\u017cenia w pracy z nimi, bez wnikania w szczeg\u00f3\u0142y techniczne.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lista narz\u0119dzi typu low-code i no-code, z kt\u00f3rych korzysta\u0142em:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Oracle Forms &#8211; bazy danych,<\/li>\n\n\n\n<li>WebLogic Integration &#8211; procesy biznesowe,<\/li>\n\n\n\n<li>NetBeans &#8211; graficzny interfejs u\u017cytkownika.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Oracle Forms<\/strong> mia\u0142o zrewolucjonizowa\u0107 i u\u0142atwi\u0107 dost\u0119p do bazy danych stworzonej przez firm\u0119 Oracle. U\u0142atwiony dost\u0119p mia\u0142 by\u0107 dla os\u00f3b, kt\u00f3re znaj\u0105 podstawy SQL, ale nie wiedz\u0105 jak tworzy\u0107 aplikacje typu desktop &#8211; z graficznym interfejsem u\u017cytkownika &#8211; umo\u017cliwiaj\u0105ce wprowadzanie i wyszukiwanie danych w bazie danych za pomoc\u0105 formularza.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W du\u017cym uproszczeniu do<strong> Oracle Forms &#8220;zasiada\u0142&#8221; techniczny specjalista od baz danych oraz j\u0119zyka SQL<\/strong> i tworzy\u0142 aplikacj\u0119 z graficznym interfejsem u\u017cytkownika.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Formularze umo\u017cliwia\u0142y np.: zarz\u0105dzanie magazynem, wprowadzanie produkt\u00f3w, wyszukiwanie. Stanowi\u0142y graficzn\u0105 nak\u0142adk\u0119 na baz\u0119 danych i zapytania SQL, kt\u00f3ra umo\u017cliwia\u0142a operacje CRUD na tabelach w bazie danych. Przyk\u0142ad u\u017cycia Oracle Forms &#8211; <a href=\"https:\/\/www.slideshare.net\/atothman\/oracle-forms-les05\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle Forms Presentation<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\"><!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_01.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"673\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_01-1024x673.png\" alt=\"low-code no-code Oracle Form Builder Mentor Junior Java Developer\" class=\"wp-image-2782\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_01-1024x673.png 1024w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_01-300x197.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_01-768x505.png 768w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_01-1000x657.png 1000w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_01-800x526.png 800w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_01-600x394.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_01-400x263.png 400w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_01.png 1275w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">low-code no-code Oracle Form Builder Mentor Junior Java Developer<\/figcaption><\/figure>\n<\/body><\/html>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\"><!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_02.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"602\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_02.png\" alt=\"low-code no-code Oracle Form Builder Mentor Junior Java Developer\" class=\"wp-image-2783\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_02.png 1024w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_02-300x176.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_02-768x452.png 768w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_02-1000x588.png 1000w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_02-800x470.png 800w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_02-600x353.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Oracle-Form-Builder_02-400x235.png 400w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">low-code no-code Oracle Form Builder Mentor Junior Java Developer<\/figcaption><\/figure>\n<\/body><\/html>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Finalnie, nie by\u0142o tak kolorowo, zapytania SQL trzeba by\u0142o opakowa\u0107 w procedury sk\u0142adowane, czyli dodatkowy element po stronie bazy danych. Spowalnia\u0142o, to dzia\u0142anie GUI, a tym samym interakcje z formularzami. Modyfikacja element\u00f3w na styku interfejsu graficznego i bazy danych by\u0142a czasoch\u0142onna i podatna na b\u0142\u0119dy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>WebLogic Integration<\/strong> mia\u0142o by\u0107 u\u0142atwieniem dla programist\u00f3w przy tworzeniu i modelowaniu proces\u00f3w biznesowych oraz logiki aplikacji. Modelowane procesy mia\u0142y by\u0107 \u0142atwe w modyfikacji bez konieczno\u015bci zmiany kodu \u017ar\u00f3d\u0142owego aplikacji. Nie mniej jednak wymaga\u0142y one p\u00f3\u017aniejszego uzupe\u0142nienia kodem j\u0119zyka Java.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W odr\u00f3\u017cnieniu od Oracle Forms <strong>do WebLogic Integration &#8220;zasiada\u0142&#8221; analityk biznesowy<\/strong>, bez technicznej wiedzy i tworzy\u0142 graficznie modele proces\u00f3w biznesowych. Graficzne modele proces\u00f3w opisywa\u0142y np.: przep\u0142yw informacji niezb\u0119dnych do realizacji promocji abonamentu dla klient\u00f3w sieci kom\u00f3rkowych. Przyk\u0142ad u\u017cycia WebLogic Integration &#8211; <a href=\"https:\/\/docs.oracle.com\/cd\/E13214_01\/wli\/docs85\/overview\/1intro.html\" data-type=\"URL\" data-id=\"https:\/\/docs.oracle.com\/cd\/E13214_01\/wli\/docs85\/overview\/1intro.html\" target=\"_blank\" rel=\"noreferrer noopener\">Introduction to WebLogic Integration<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\"><!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/WebLogic-Integration-Business-Process_WebLogic_Workshop-IDE_01.gif\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"919\" height=\"677\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/WebLogic-Integration-Business-Process_WebLogic_Workshop-IDE_01.gif\" alt=\"low-code no-code WebLogic Integration Business Process WebLogic Workshop IDE Mentor Junior Java Developer\" class=\"wp-image-2780\"><\/a><figcaption class=\"wp-element-caption\">low-code no-code WebLogic Integration Business Process WebLogic Workshop IDE Mentor Junior Java Developer<\/figcaption><\/figure>\n<\/body><\/html>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\"><!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/WebLogic-Integration-Business-Process_WebLogic_Workshop-IDE_02.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"531\" height=\"625\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/WebLogic-Integration-Business-Process_WebLogic_Workshop-IDE_02.jpg\" alt=\"low-code no-code WebLogic Integration Business Process WebLogic Workshop IDE Mentor Junior Java Developer\" class=\"wp-image-2781\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/WebLogic-Integration-Business-Process_WebLogic_Workshop-IDE_02.jpg 531w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/WebLogic-Integration-Business-Process_WebLogic_Workshop-IDE_02-255x300.jpg 255w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/WebLogic-Integration-Business-Process_WebLogic_Workshop-IDE_02-510x600.jpg 510w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/WebLogic-Integration-Business-Process_WebLogic_Workshop-IDE_02-340x400.jpg 340w\" sizes=\"auto, (max-width: 531px) 100vw, 531px\" \/><\/a><figcaption class=\"wp-element-caption\">low-code no-code WebLogic Integration Business Process WebLogic Workshop IDE Mentor Junior Java Developer<\/figcaption><\/figure>\n<\/body><\/html>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Tu r\u00f3wnie\u017c nie by\u0142o tak kolorowo. Wizualna modyfikacja proces\u00f3w biznesowych dos\u0142ownie szatkowa\u0142a kod \u017ar\u00f3d\u0142owy j\u0119zyka Java, kt\u00f3ry nale\u017ca\u0142o napisa\u0107 od nowa. Wdra\u017canie i uruchamianie modeli proces\u00f3w biznesowych wymaga\u0142o serwera aplikacji WebLogic, kt\u00f3ry potrzebowa\u0142 bardzo du\u017cych zasob\u00f3w pami\u0119ci i mocy obliczeniowej procesora.  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NetBeans<\/strong> mia\u0142o u\u0142atwia\u0107 programistom tworzenie graficznego interfejsu u\u017cytkownika dla j\u0119zyka Java z wykorzystaniem biblioteki Swing. Sam NetBeans, to w zasadzie <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/Integrated_development_environment\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Integrated_development_environment\" target=\"_blank\">IDE<\/a>, czyli zintegrowane \u015brodowisko programistyczne. W NetBeans mo\u017cna wyklika\u0107 wiele element\u00f3w bez znajomo\u015bci szczeg\u00f3\u0142\u00f3w technicznych, np.: po\u0142\u0105czenia z baz\u0105 danych, serwerem aplikacyjnym oraz gotowe aplikacje Web i Enterprise. Przyk\u0142ad u\u017cycia NetBeans &#8211; <a rel=\"noreferrer noopener\" href=\"https:\/\/netbeans.apache.org\/kb\/docs\/java\/quickstart-gui.html\" data-type=\"URL\" data-id=\"https:\/\/netbeans.apache.org\/kb\/docs\/java\/quickstart-gui.html\" target=\"_blank\">Designing a Swing GUI in NetBeans IDE<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\"><!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_01.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"609\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_01-1024x609.png\" alt=\"low-code no-code Designing Swing GUI NetBeans IDE Mentor Junior Java Developer\" class=\"wp-image-2784\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_01-1024x609.png 1024w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_01-300x179.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_01-768x457.png 768w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_01-1000x595.png 1000w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_01-800x476.png 800w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_01-600x357.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_01-400x238.png 400w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_01.png 1052w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">low-code no-code Designing Swing GUI NetBeans IDE Mentor Junior Java Developer<\/figcaption><\/figure>\n<\/body><\/html>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\"><!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_02.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"743\" height=\"630\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_02.png\" alt=\"low-code no-code Designing Swing GUI NetBeans IDE Mentor Junior Java Developer\" class=\"wp-image-2785\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_02.png 743w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_02-300x254.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_02-600x509.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_02-400x339.png 400w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Designing-Swing-GUI_NetBeans-IDE_02-200x170.png 200w\" sizes=\"auto, (max-width: 743px) 100vw, 743px\" \/><\/a><figcaption class=\"wp-element-caption\">low-code no-code Designing Swing GUI NetBeans IDE Mentor Junior Java Developer<\/figcaption><\/figure>\n<\/body><\/html>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Wizualnie, graficzny interfejs u\u017cytkownika stworzony w NetBeans wygl\u0105da\u0142 bardzo \u0142adnie, by\u0142 szyty na miar\u0119 i ka\u017cdy element &#8211; przyciski, pola tekstowe, tabele &#8211; by\u0142y r\u00f3wno u\u0142o\u017cone jak spod linijki. &#8220;Pod spodem&#8221; w wygenerowanym kodzie \u017ar\u00f3d\u0142owym nie by\u0142o tak kolorowo. Modyfikacja kodu \u017ar\u00f3d\u0142owego wi\u0105za\u0142a si\u0119 z &#8220;popsuciem&#8221; dzia\u0142aj\u0105cej aplikacji &#8211; wiele element\u00f3w, kodu mia\u0142o &#8220;zabronion\u0105&#8221; modyfikacj\u0119. Wygenerowane zosta\u0142o r\u00f3wnie\u017c bardzo du\u017co nadmiarowych element\u00f3w, kt\u00f3re wzajemnie si\u0119 duplikowa\u0142y i wprowadza\u0142y zawi\u0142o\u015b\u0107 w kodzie \u017ar\u00f3d\u0142owym.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">W jednym z akapit\u00f3w cytowa\u0142em Martina Fowlera, kt\u00f3rego artyku\u0142y polecam osobom, kt\u00f3re chc\u0105 uzupe\u0142ni\u0107 sw\u00f3j warsztat programistyczny o dobre praktyki opisane w profesjonalny i wyczerpuj\u0105cy spos\u00f3b &#8211; <a rel=\"noreferrer noopener\" href=\"https:\/\/martinfowler.com\" target=\"_blank\">https:\/\/martinfowler.com<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zdaj\u0119 sobie spraw\u0119, \u017ce opisuj\u0119 moje do\u015bwiadczenia z technologiami, kt\u00f3rych u\u017cywa\u0142em dawno temu. Niemniej jednak, w\u0142a\u015bnie dzi\u0119ki temu chc\u0119 pokaza\u0107, \u017ce od wielu lat podejmowane s\u0105 pr\u00f3by stworzenia magicznych narz\u0119dzi, kt\u00f3re pozwol\u0105 dos\u0142ownie wyklika\u0107 i wygenerowa\u0107 aplikacje bez potrzeby znajomo\u015bci j\u0119zyka programowania oraz bez udzia\u0142u programistek, programist\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wszystkie opisane narz\u0119dzia korzysta\u0142y z graficznych komponent\u00f3w, kt\u00f3re mo\u017cna by\u0142o u\u017cywa\u0107 za pomoc\u0105 mechanizmu <a rel=\"noreferrer noopener\" href=\"https:\/\/pl.wikipedia.org\/wiki\/Przeci%C4%85gnij_i_upu%C5%9B%C4%87\" data-type=\"URL\" data-id=\"https:\/\/pl.wikipedia.org\/wiki\/Przeci%C4%85gnij_i_upu%C5%9B%C4%87\" target=\"_blank\">przeci\u0105gnij i upu\u015b\u0107<\/a> (ang. drag and drop). Oczywi\u015bcie nale\u017ca\u0142o wiedzie\u0107 jak po\u0142\u0105czy\u0107 ze sob\u0105 poszczeg\u00f3lne elementy. Z uwagi na ten fakt narz\u0119dzia low-code i no-code wymagaj\u0105 wiedzy, kt\u00f3r\u0105 musi przyswoi\u0107 osoba, kt\u00f3ra z nich korzysta. Po mimo, \u017ce w du\u017cej cz\u0119\u015bci przypadk\u00f3w nie trzeba zna\u0107 j\u0119zyka programowania, to nale\u017cy nauczy\u0107 si\u0119 obs\u0142ugi narz\u0119dzi tworz\u0105cych oprogramowanie z wykorzystaniem low-code i no-code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Generatory kodu, bo tak postrzegam narz\u0119dzia low-code i no-code maj\u0105 by\u0107 uniwersalne, a zarazem dostarcza\u0107 niestandardowe (ang. custom) oprogramowanie szyte na miar\u0119. Moim zdaniem, je\u017celi co\u015b jest uniwersalne, to kosztem czego\u015b. W wi\u0119kszo\u015bci przypadk\u00f3w s\u0105 one niezoptymalizowane i wymagaj\u0105 wi\u0119cej zasob\u00f3w, tym samym s\u0105 mniej wydajne. Narz\u0119dzia wspieraj\u0105ce generowanie kodu s\u0105 czarnymi skrzynkami, nad kt\u00f3rymi mamy ograniczon\u0105 kontrol\u0119, kt\u00f3re mo\u017cemy konfigurowa\u0107 w niewielkim stopniu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W ka\u017cdym przypadku, gdzie korzystali\u015bmy z narz\u0119dzi low-code i no-code u\u017cywali\u015bmy ich jako punktu wej\u015bcia, punktu \u0142\u0105cz\u0105cego dany produkt &#8211; Oracle Forms, WebLogic Integration, NetBeans &#8211; z w\u0142asnym r\u0119cznie napisanym kodem \u017ar\u00f3d\u0142owym. Pozwalali\u015bmy tym narz\u0119dziom, technologiom wpu\u015bci\u0107 nas do swojego \u015bwiata magicznie generowanego kodu, aby nast\u0119pnie rozsi\u0105\u015b\u0107 si\u0119 wygodnie z naszym w\u0142asnym kodem \u017ar\u00f3d\u0142owym.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Poni\u017cej cytat mojego serdecznego kolegi z bran\u017cy IT, kt\u00f3ry zapytany przeze mnie o low-code i no-code odpowiedzia\u0142 bardzo trafnie, zgadzam si\u0119 w 100% z jego s\u0142owami.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Marcin o low-code i no-code<\/p>\n<cite>&#8220;Tak, ludzie od zawsze chcieli mie\u0107 pro\u015bciej. Problem, czy trac\u0105 ekspresje na tym, je\u017celi tak, to na d\u0142u\u017csz\u0105 met\u0119 nic z tego nie b\u0119dzie.&#8221;.<\/cite><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Podsumowuj\u0105c, bior\u0105c pod uwag\u0119 moje do\u015bwiadczenie z low-code i no-code jestem bardzo sceptycznie nastawiony do wszelkiego rodzaju generator\u00f3w magicznego kodu \u017ar\u00f3d\u0142owego, finalnie i tak jest wi\u0119cej dodatkowej pracy ni\u017c pocz\u0105tkowych korzy\u015bci.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-poradnik-dla-przyszlych-junior-java-developer-039-ow wp-block-embed-poradnik-dla-przyszlych-junior-java-developer-039-ow\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"VxxWMqQh3W\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/kontakt\/\">Contact<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201eKontakt\u201d \u2014 Poradnik dla przysz\u0142ych Junior Java Developer&amp;apos;\u00f3w\" src=\"https:\/\/www.juniorjavadeveloper.pl\/kontakt\/embed\/#?secret=4xDrrx3U6M#?secret=VxxWMqQh3W\" data-secret=\"VxxWMqQh3W\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-poradnik-dla-przyszlych-junior-java-developer-039-ow wp-block-embed-poradnik-dla-przyszlych-junior-java-developer-039-ow\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"lvgqgxMOk5\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/mentoring-rezerwuj-termin\/\">Mentoring - book an appointment<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201eMentoring \u2013 rezerwuj termin\u201d \u2014 Poradnik dla przysz\u0142ych Junior Java Developer&amp;apos;\u00f3w\" src=\"https:\/\/www.juniorjavadeveloper.pl\/mentoring-rezerwuj-termin\/embed\/#?secret=vg9FainZGf#?secret=lvgqgxMOk5\" data-secret=\"lvgqgxMOk5\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Zdj\u0119cie autorstwa <a href=\"https:\/\/www.pexels.com\/photo\/close-up-view-of-system-hacking-5380642\/\" data-type=\"URL\" data-id=\"https:\/\/www.pexels.com\/photo\/close-up-view-of-system-hacking-5380642\/\" target=\"_blank\" rel=\"noreferrer noopener\">Tima Miroshnichenko<\/a> z <a rel=\"noreferrer noopener\" href=\"https:\/\/www.pexels.com\/pl-pl\/\" target=\"_blank\">Pexels<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Jaki\u015b czas temu us\u0142ysza\u0142em &#8211; buzzword &#8211; modne s\u0142owa, low-code i no-code, kt\u00f3re maj\u0105 opisywa\u0107 co\u015b rewolucyjnego i nowoczesnego. Zastanowi\u0142em si\u0119 chwil\u0119 i doszed\u0142em do wniosku, \u017ce low-code i no-code ju\u017c u\u017cywa\u0142em w 2007 r. &#8211; 16 lat temu. Podziel\u0119 si\u0119 swoimi do\u015bwiadczeniami w pracy z generatorami magicznego kodu \u017ar\u00f3d\u0142owego (low-code i no-code) dla oprogramowania [&hellip;]<\/p>","protected":false},"author":1,"featured_media":2792,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_ppp_document_settings_meta":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[6,2,7],"tags":[],"class_list":["post-2562","post","type-post","status-publish","format-standard","has-post-thumbnail","category-felieton","category-poczatkujacy","category-poradnik"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/03\/Low-code_No-code_czy-generatory-kodu-zastapia-programistow_Mentor-Junior-Java-Developer.jpg","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/2562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/comments?post=2562"}],"version-history":[{"count":39,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/2562\/revisions"}],"predecessor-version":[{"id":2794,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/2562\/revisions\/2794"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/media\/2792"}],"wp:attachment":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/media?parent=2562"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/categories?post=2562"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/tags?post=2562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}