Longtion Application Builder – programowanie bez programowania

Czy truizmem jest stwierdzenie, że programowanie wymaga znajomości języka programowania? W pewnym sensie tak, bowiem pisanie programu wymaga znajomości co najmniej jednego z dostępnych języków. Niestety nie sposób w prosty sposób odpowiedzieć, który z języków jest najlepszy, ponieważ uważam, że nie ma uniwersalnych języków, stąd prowadzenie tego typu rankingów nie ma większego sensu. Każdy z języków programowania ma swoje silne i słabe strony. Nie bez znaczenia jest też jakość środowiska programowania, które oferuje wsparcie dla programisty. Okazuje się, że istnieje wiele środowisk programowania, które operuje wyłącznie na logice, nie skupiając się w najmniejszym stopniu na konkretnym języku. Jednym z takich środowisk jest Longtion Database Application Builder, który pozwala na pisanie programów bazodanowych bez znajomości języka programowania. Środowisko Database Builder z firmy Longtion jest zgodne z filozofią, że język programowania jest wyłącznie narzędziem do osiągnięcia celu, nie zaś filozofią sama w sobie jak twierdzą niektórzy – szczególnie początkujący programiści. Środowisko jest wyłącznie zbiorem narzędzi, które za pomocą dostępnych komponentów, pozwala na budowanie aplikacji. Bez znaczenia jest technologia, zaś głównymi czynnikami są: czas wytwarzania, niska wrażliwość na błędy oraz zasób możliwości. Tego typu podejście daje możliwość wytwarzania oprogramowania nawet w przypadku osób, które nie znają żadnego języka programowania. Warto podkreślić, że środowisko tego typu nie jest niczym nowym, bowiem istnieje kilka podobnych narzędzi, służących do pisania programów biznesowych bez użycia języka programowania (np. Magic E-developer zwany także Magic xpa Application Platform) i jak pokazuje praktyka, pomimo krytyki, na rynku znaleźć można dużą ilość oprogramowania do zarządzania przedsiębiorstwem wytworzonych właśnie w tym środowisku.

Program bez programowania – jak to jest możliwe?

Znajomość języka programowania, jego konwencji czy wzorców projektowych wbrew pozorom nie gwarantuje, że osoba posiadająca wiedzę na ten temat potrafi stworzyć program. Co najwyżej będzie potrafić napisać algorytm czy zestaw algorytmów i umieścić je w strukturze programu. Tymczasem pisanie programu do zarządzania przedsiębiorstwem oparty o bazy danych jest zbiorem często zaawansowanej logiki, która spaja tworzony system w całość. Bez znaczenia jest zatem znajomość konkretnego języka, zaś istotną kwestią jest jego zaprojektowanie (bazy danych), implementacja oraz końcowa użyteczność przy zachowaniu stabilności, co przekłada się bezpośrednio na wartość produktu dla użytkownika końcowego, którego nie interesuje czynnik technologiczny – w tym zastosowany język programowania.



Przez wiele lat powstało wiele frameworków dla różnych języków programowania, zwalniających programistę z konieczności skupiania się za każdym razem nad programowaniem pewnych atomowych operacji. Zamiast tego, deweloperzy mogli skupić się na tworzeniu elementów wyższego poziomu i zapewnieniu interakcji. W praktyce takie podejście jest bardzo popularne i wnosi wiele pozytywnych aspektów, z których wyróżnić można większe bezpieczeństwo przy zachowaniu dużej szybkości wytwarzania aplikacji. Wadą może być wydajność, jednak kwestia ta, w przypadku niewielkich aplikacji, może zostać pominięta.

Longtion Application Builder jest środowiskiem programistycznym, które oferuje bogaty zestaw kontrolek do budowy aplikacji oraz system definiowania zdarzeń sterujących aplikacją. Programista ma do wyboru wiele kontrolek znanych z Delphi – formularze, przyciski, pola tekstowe, checkboxy, gridy, DataSource, Table, Query czy system raportowania. W uproszczeniu można śmiało nazwać to środowisko uproszczonym Delphi. Dostępnych w standardzie kontrolek jest naprawdę dużo i istnieje dostęp do wielu ich właściwości. Programowanie w środowisku polega na wizualnym umieszczeniu kontrolek na formatce i zdefiniowaniu zdarzeń dla wybranych kontrolek oraz relacji zdarzeń dla innych kontrolek bez wpisywania kodu. Co istotne, za pomocą narzędzia, w równie łatwy sposób, można tworzyć oprogramowanie intranetowe, dostępne za pomocą przeglądarki.

źródło: Longtion

źródło: Longtion

Pobieranie i instalacja

Środowisko programowania Longtion Application Database Builder można pobrać ze strony producenta. Instalacja przebiega standardowo i nie wymaga żadnego opisu.

longtionappbuilder1
Widok uruchomionego środowiska wraz z przykładowymi kontrolkami

Możliwości:

  • Tworzenie aplikacji desktop i intranetowych bez pisania kodu – także wykorzystujących bazy danych;
  • Łączenie z lokalnymi bazami danych (Paradox, dBASE, FoxPro, and Access) oraz zdalnymi (Oracle, Sybase, Informix, Microsoft SQL Server oraz DB2);
  • Możliwość bezpośredniego połączenia z bazami Access poprzez Microsoft Jet OLE Database;
  • Tworzenie tabel w bazach danych;
  • Wsparcie dla relacji;
  • Wyświetlanie informacji z baz danych w DBGrid;
  • Nawigacja w rekordach za pomocą DBNavigator i modyfikacja rekordów;
  • Wsparcie dla pól typu lookup;
  • Definiowanie wirtualnych pól obliczanych (calculated fields);
  • Wizualizacja danych za pomocą wykresów liniowych, kołowych, punktowych, etc;
  • System raportów oraz możliwość eksportu do plików PDF (.pdf), RichText (.rtf), Excel (.xls), Text (.txt);
  • Kompilowanie utworzonej aplikacji do pliku EXE.

Jak połączyć się z bazą danych w środowisku?

Środowisko Database Application Builder używa ActiveX Data Objects (ADO), stąd w systemie Windows muszą być dostępne sterowniki ADO.

Aby utworzyć nową aplikację z połączeniem z bazą danych:

  1. Utwórz nowy projekt (File->New project);
  2. Utwórz połączenie z bazą (Edit->Database…);
  3. Kliknij Add;
  4. W polu Type wybierz typ połączenia: dla baz Access, będzie to Microsoft Jet, zaś np dla MS SQL Server – Connection string i przycisk select, który zbuduje konfigurację połączenia z bazą. Przykładowy Connection string: (Provider=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;User ID=””;Initial Catalog=baza;Data Source=serwer;Initial File Name=””;Server SPN=””);
  5. Na koniec należy połączyć się z bazą przyciskiem Connect. Jeśli nie wystąpiły błędy, konfiguracja połączenia jest zakończona i można przystąpić do dalszego tworzenia aplikacji.
  6. Zamknąć konfigurację połączenia przyciskiem Close.

Aby wyświetlić dane z tabeli na formatce:

  1. Umieść na formatce kontrolki: DBGrid, DBNavigator, DBTable.
  2. Zaznacz kontrolkę DBTable i w oknie właściwości wybierz: Database=Database1, TableName=nazwa tabeliActive=true;
  3. Zaznacz kontrolkę DBNavigator i w oknie własciwości zmień: DataSet=DBTable1;
  4. Zaznacz kontrolkę DBGrid i w oknie właściwości ustaw DataSet na DBTable1.
  5. To wszystko. Aplikacja jest gotowa i można ją uruchomić.

System obsługi zdarzeń

Każda dostępna kontrolka udostępnia swoje właściwości oraz system zdarzeń. Właściwości wyświetlane są w oknie po zaznaczeniu kontrolki, zaś zdarzenia tworzone są na podstawie dostępnych możliwości.

Aby utworzyć przycisk zakończenia aplikacji:

  1. Umieść na formatce przycisk i zmień właściwość Caption przycisku na Zamknij;
  2. Upewnij się, że kontrolka przycisk jest zaznaczona i w oknie właściwości kliknij OnCLick [none];
  3. Pojawi się okno przypisywania i obsługi zdarzeń dla zaznaczonego elementu (w tym przypadku dla przycisku);
  4. Dodaj nowe zdarzenie przyciskiem Add i z listy rozwijanej Action Type wybierz: Exit;
  5. Potwierdź przyciskiem Ok.
  6. Od tej chwili przycisk będzie reagował na wciśnięcie zamykając aplikację.

Aby wyświetlić komunikat modalny:

  1. Umieść na formie przycisk i nadaj mu właściwość Caption: Wyświetl komunikat;
  2. Upewnij się, że przycisk jest zaznaczony i w oknie właściwości kliknij OnCLick [none];
  3. Dodaj nowe zdarzenie przyciskiem Add i z listy rozwijanej Action Type wybierz: ShowMessage, zaś w Message String, wpis: To jest treść komunikatu. Możesz także wybrać ikony i przyciski w sekcji Icon and Button;
  4. Potwierdź przyciskiem Ok.
  5. Od tej chwili przycisk będzie reagował na wciśnięcie wyświetlając komunikat dla użytkownika.

Aby za pomocą przycisku otworzyć inną formatkę:

  1. Z menu Form, wybierz Add form, aby dodać kolejne okno;
  2. W oknie widoku projektu zaznacz pierwszą formę (Form1) i umieść na niej przycisk, nadając mu właściwość Caption: Otwórz inne okno;
  3. Upewnij się, że przycisk jest zaznaczony i w oknie właściwości kliknij OnCLick [none];
  4. Dodaj nowe zdarzenie przyciskiem Add i z listy rozwijanej Action Type wybierz: ShowFormModal, zaś w FormName wybierz: Form2. Możesz także wybrać opcję ShowForm, aby obie formatki były aktywne, ponieważ ShowFormModal blokuje okno Form1 do czasu zamknięcia Form2;
  5. Potwierdź przyciskiem Ok.
  6. Od tej chwili przycisk będzie reagował na wciśnięcie wyświetlając kolejne okno.

Zarządzanie zdarzeniami zależy od samych kontrolek i każda kontrolka ma własne zdarzenia, które można wykorzystać. Muszę przyznać, że system definiowania zdarzeń jest bardzo jasny i czytelny, dając możliwość tworzenia instrukcji warunkowych, choć wolę pisanie zdarzeń w kodzie źródłowym. Moja opinia nie jest jednak obiektywna, gdyż wynika wyłącznie z przyzwyczajenia, zaś obsługa zdarzeń w systemie Application Builder z pewnością nie nastręczy kłopotów nawet początkującym projektantom aplikacji.

Kursy

Na stronie producenta znaleźć można szereg kursów, które w sposób przystępny wprowadzają do tworzenia aplikacji w środowisku.

Cennik

Środowisko Longtion Database Application Builder jest płatne, zaś jego cena wynosi 49$ za wersję niekomercyjną i 99$ za wersję z możliwością pisania aplikacji komercyjnych. To niewiele za tak rozbudowane środowisko programistyczne, jeśli brać pod uwagę inne dostępne na rynku narzędzia. Oczywiście bezpośrednim konkurentem może być darmowe Visual Studio, jednak  w wielu przypadkach, VS może okazać się zbyt „ciężkie” dla początkujących projektantów, którzy nie potrzebują tak rozbudowanych środowisk.

Podsumowanie

Środowisko Longtion Database Application Builder nadaje się do wielu zastosowań, gdy zajdzie potrzeba błyskawicznego stworzenia prostej aplikacji – w tym bazodanowej. Pozytywnym aspektem jest duża intuicyjność oraz spore możliwości środowiska – w tym kompilacja projektu do samodzielnego pliki exe. Do wad zaliczyć zaś można zamkniętość systemu. Brakuje wsparcia dla skryptów, w których można by np. umieszczać zmienne czy rozbudowywać logikę tworzonego programu[1]. Dobrym pomysłem byłoby wyposażenie narzędzia w kontrolkę do wpisywania typu walutowego, co znacznie ułatwiło by budowę prostych programów finansowych. Standardowy DBGrid posiada wyłącznie podstawowe funkcje. Oczywiście podobna sytuacja ze standardowym DBGridem występuje w Delphi czy w VS, jednak tam można dodatkowo „oprogramować” dodatkowe funkcje, lub też skorzystać z innych komponentów. Przydałoby się także wprowadzenie możliwości definiowania skrótów klawiaturowych w aplikacji w celu wywoływania akcji. Istotną słabością jest brak możliwości definiowania zmiennych, choćby w celu przekazywania danych do innej formy czy przeprowadzania wewnętrznych obliczeń[2]. Dotychczas, zamiast zmiennych, musiałem korzystać z dostępnych kontrolek typu label czy textbox, po prostu je ukrywając, jednak nie jest to rozwiązanie eleganckie, choć działało prawidłowo. Obawiam się także wykorzystania kresu możliwości podczas rozbudowy wytworzonego oprogramowania, bowiem środowisko nie pozwala na np. dodawanie własnych pluginów czy opcjonalnego korzystania z kodu źródłowego i warto o tym pamiętać. Może się to okazać pułapką przy rozrastających się projektach. Pomimo pewnych ograniczeń, środowisko jest warte uwagi – szczególnie dla projektantów, którzy chcą wytwarzać samodzielne aplikacje, a którzy nie znają żadnego z dostępnych języków programowania.

1- Wykorzystywanie skryptów jest możliwe w pakiecie Application Builder 5.15.
2- Możliwość definiowania zmiennych istnieje w środowisku Application Builder w wersji 5.15.

4694total visits,1visits today

Tagi .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

4 + = 14

This site uses Akismet to reduce spam. Learn how your comment data is processed.