jQWidgets

jQWidgets jest to framework, który wyposażony w widżety czyli elementy odpowiedzialne za sterowanie grafiką. Pierwsze wydanie jQWidgets ukazało się w 2011 roku i zostało udostępnione na licencji Creative Commons (CC).

JQWidgets zapewnia w pełni kompleksowe rozwiązania służące do tworzenia profesjonalnych stron czy aplikacji mobilnych. Zbudowany został na otwartych standardach oraz otwartych technologiach, między innymi takich jak: JavaScript, jQuery, CSS czy HTML. Dodatkowo umożliwia programistom dynamiczne rozwijanie swoich projektów oraz pomaga tworzyć aplikacje i różne witryny. Dzięki temu frameworkowi wszystkie projekty wyglądają profesjonalnie zarówno na smartfonach, tabletach jak i komputerach stacjonarnych.

Programiści mogą używać jQWidgets z TypeScript czy z innymi popularnymi środowiskami, takimi jak Angular 2 czy KnockoutJS ale także z technologiami stojącymi po stronie serwera : JSP, Node.js czy ASP.NET MVC. Framework ten jest strukturą wyposażoną w profesjonalne widżety i wtyczki typu drag & drop, najczęściej używane z nich to między innymi:

  • JqxChart - widżet wykresu
  • JqxEditor – widżet do edycji tekstu HTML
  • JqxWindow – widżet w oknie dialogowym
  • JqxDropDownList – widżet listy rozwijanej
  • JqxDataTable – widżet zbudowany jako alternatywa dla tabel HTML
  • JqxTree – widżet widoku drzewa, wyświetlający hierarchiczną kolekcję elementów
  • JqxTreeGrid – widżet reprezentujący dane w strukturze drzewiastej
  • jQxComboBox – odpowiada za sterowanie kombinacjami (skrzynka kombi)
  • JqxDockingLayout – widżet używany do tworzenia układów przypominających IDE (zintegrowane środowisko programistyczne)
  • JqxGrid – widżet widoku siatki, wyświetla dane tabelaryczne
  • JqxScheduler – menadżer informacji osobistych (obsługa formatu plików iCalendar).

Posiada również różne motywy, adaptery danych, walidację wejściową a także w obsługę dostępności WAI-ARIA, obsługę międzynarodową czy też w obsługę MVVM. Warto dodać, że JQWidgets dodatkowo przejmuje na siebie rozwój interfejsu JavaScript i HTML i wprowadza go na nowy poziom, będąc jednocześnie zupełnie niezależnym. Dzięki niemu programując możemy przykładowo kierować reklamy na nowe urządzenia (smartfony, tablety) wykorzystując przykładowo jedne z widżetów jQuery, które odpowiedzialne są za dotyk. Dużym ułatwieniem jest to, że framework automatycznie wykrywa typ urządzenia oraz możliwości jakie posiada ale także wersję naszej przeglądarki. Czyli zapewnia użytkownikom wbudowane wykrywanie urządzeń czy wspomnianej przeglądarki i dopasowuje się do naszych potrzeb. Jest on także niezawodną a przy tym zgodną ze standardem biblioteką JavaScript opartą na jQuery, HTML5, CSS i SVG.

Wiele opinii frameworka skupia się na tym, że poprawia on wydajność i zdecydowanie zmniejsza koszty rozwoju projektu. Dodatkowo jest starannie zoptymalizowany i zapewnia wyjątkowe wrażenie na wielu systemach operacyjnych, różnych urządzeniach czy przeglądarkach. Również dużą zaletą okazuje się jego integracja z wieloma innymi frameworkami czy technologiami sieciowymi, przykładowo takimi jak: React, AngularJS, Joomla, Wordpress, Bootstrap czy Knockout.

Przykładowy kod w jQWidgets

jQWidgets Przykład #1

  $('#jqxbargauge').jqxBarGauge({
    width: '80%',
    height: '80%',
    colorScheme: 'scheme11',
    values: [31, 12, 100, 48, 68, 21]
  });
  
jQWidgets Przykład #2

  var source = { data: data, datatype: "array" };
  
  $("#Grid").jqxGrid({
    source: source,
    theme: 'classic',
    pageable: true,
    sortable: true,
    autoheight: true,
    columns: [
      { text: 'First Name', datafield: 'firstname', width: 120 },
      { text: 'Last Name', datafield: 'lastname', width: 120 },
      { text: 'Product', datafield: 'productname', width: 200 },
      { text: 'Quantity', datafield: 'quantity', width: 90, cellsalign: 'left' },
      { text: 'Unit Price', datafield: 'price', width: 100, cellsalign: 'left', cellsformat: 'c2' },
      { text: 'Total', datafield: 'total', cellsalign: 'left', cellsformat: 'c2' }
    ]
  });