Czym jest DevExpress?

W dzisiejszym wpisie chciałbym poruszyć zagadnienie programistyczne związane z nazwą DevExpress. Zapewne wielu z was słyszało, bądź nie słyszało co to dokładnie takiego jest. Moim zadaniem jest wytłumaczenie tym co nie wiedzą. Po kilku słowach wstępu przejdźmy do konkretów.

Zacznijmy od tego czym w ogóle jest DevExpress. W tym wypadku mówię akurat z perspektywy osoby, która na co dzień wykorzystuje te biblioteki podczas swojej codziennej pracy. Celowo użyłem tutaj słowo biblioteka (lub inaczej Framework), ponieważ DevExpress to nic innego jako gotowe biblioteki programistyczne zawierające kontrolki WinForms, WPF i ASP.NET. Ich wybór zależy oczywiście od licencji jaką posiadamy. Ja akurat używam głównie kontrolek webowych ASP.NET WebForms. Troszeczkę przestarzała technologia, ale jeszcze wciąż używana. Twórcy tych komponentów oferują również kontrolki ASP.NET MVC lub od niedawna kontrolki bootstrapowe. Te ostatnie różnią się tylko wyglądem wykorzystując tytułową bibliotekę front-endową. Kontrolek desktopowych z kolei nie używam na co dzień, ale widziałem i testowałem. Są naprawdę świetne.

Do czego wykorzystuje się DevExpress?

Powiedzieliśmy już sobie co to jest konkretnie ten DevExpress. Prosta biblioteka dostarczająca gotowe kontrolki użytkownika. Dopowiem jeszcze, że DevExpress w przypadku aplikacji webowych dostarcza wiele gotowych rozwiązań opartych o JavaScript i zapytania AJAX. Dzięki temu nie musimy programować ręcznie pewnych kontrolek. Pytanie teraz do czego wykorzystuje się ten produkt. Przede wszystkim do przyspieszenia programowania w technologii NET. Kontrolki użytkownika zapewniają obsługę większości akcji po stronie klienta takich jak przyjmowanie czy prezentacja danych. DevExpress słynie z wielu kontrolek typu wykresy, tabele czy panele kontrolne. Potrafi również usprawnić pracę w kwestii przyjmowania danych, czyli zaawansowane pola tekstowe, pola wyboru, listy wybierania itd. Dba również o walidację danych. W przypadku technologii desktopowych potrafi zmienić wygląd aplikacji przypominający skórkę z pakietu Microsoft Office czy Visual Studio. Dzięki temu nasze produkty wyglądają atrakcyjniej i są bardziej funkcjonalne.

DevExpress dostarcza wiele rozszerzonych kontrolek, które w wersji podstawowej są po prostu ubogie. Przykładem jest kontrola ASPxLabel. Odpowiednik w standardowym zestawie ASP – Label. Jest to tak naprawdę ten sam komponent tyle, że jego implementacja została w znaczący sposób ułatwiona i rozszerzona. Drugi przykład ASPxTextBox. W DevExpress możemy bardzo łatwo zmieniać wyświetlany format danych. WinForms z kolei ma bardzo fajne wykresy, które są znacznie prostsze w implementacji niż te standardowo dostępne. Oprócz tego DevExpress posiada dodatkowe komponenty, które pozwalają na więcej. Na przykład tabele przestawne czy edytor w stylu Word’a. Najlepsze komponenty to przede wszystkim odpowiadające za layout. W aplikacjach webowych pozwalają automatycznie dostosować wygląd do urządzeń mobilnych.

Czy warto poznać DevExpress?

W chwili obecnej pracuje pierwszy raz we firmie, która wykorzystuje takie komponenty, ale w swoim życiu przechodziłem już wiele rozmów kwalifikacyjnych oraz przeszukiwałem wiele ofert pracy, gdzie natknąłem się wymaganie dotyczące znajomości DevExpress’a. Początkowo nie miałem pojęcia co to konkretnie jest. Gdy się dowiedziałem nie miałem doświadczenia. Dopiero gdy to zobaczyłem wiedziałem już na czym rzecz polega. Czy warto poznać DevExpress? Myślę, że jak każdą inną bibliotekę. Jeśli jest ona akurat potrzebna do konkretnej oferty pracy to warto pobrać chociaż wersję próbną i spróbować ją rozpracować. Znajomość tego narzędzia w głównej mierze zależy od doświadczenia. Bardzo często wydawane są aktualizacje, które w ramach licencji są darmowe przez rok. Przez ten czas może bardzo dużo się zmienić, zatem warto mieć chociaż ogólne pojęcie na temat kontrolek DevExpress. Jeśli już programowałeś w .NET to prawdopodobnie nie będziesz mieć z tym problemu.

Gdzie będę wykorzystywał DevExpress?

Trudno jest mi odpowiedzieć w stu procentach na to pytanie, ponieważ tak naprawdę kontrolki DevExpress mogą być wykorzystywane przy każdym projekcie. Niezależnie czy jest to intranet, wewnętrzna aplikacji czy produkt wypuszczony na rynek. Licencja, owszem jest płatna, ale komponenty można dowolnie publikować. Raczej jest małe prawdopodobieństwo, że startupy będą korzystać z takich rzeczy. Bardziej liczyłbym tutaj na większe korporacje lub firmy outsourcingowe wytwarzające oprogramowanie dla większych firm. W swojej karierze spotkałem się z dwoma firmami, które akurat korzystają z DevExpress. Pierwsza to w tej, której pracuje. Wytwarzamy w głównej mierze oprogramowanie dla własnych, wewnętrznych potrzeb. Biblioteki DevExpress pozwalają nam przyspieszyć pewne procesy. Nie musimy w ten sposób bawić się w wygląd ręcznie. W drugiej natomiast miałem okazję porozmawiać przy okazji rozmowy kwalifikacyjnej. Tutaj akurat znajomość DevExpress była wymaga, gdyż oprogramowanie jakie było wytwarzane również się na nich opierało, a były to w głównej mierze rozszerzenia do popularnego CRM – enova.

Czy akurat twoja przyszła firma będzie korzystać z DevExpress’a? Niekonieczne, bo jest jeszcze konkurencyjne rozwiązanie o nazwie Telerik, które ponoć jest bardziej rozbudowane i charakteryzuje się szeroką dostępnością dodatkowych narzędzi programistycznych. Tak naprawdę warto poznać, ale wtedy kiedy jest to potrzebne.

Jak używać kontrolek DevExpress?

Jeśli chodzi o kwestie nauki, to w Internecie znajdziemy masę różnych kursów oraz webinariów, które prezentują nie tylko możliwości kontrolek, ale i również uczą ich stosowania. Jest to najlepsze podejście dla początkujących. Jedyny mankament to język angielski. Wszystkie materiały dostępne w sieci są anglojęzyczne. Z drugiej strony to idealny powód, aby podszlifować język.

Komponenty DevExpress’owe wykorzystujemy tak samo jak standardowe. Różnią się one jedynie właściwościami. Niektóre z nich mają dodatkowe rozszerzenia, które pozwalają na więcej. Jako, że z WinForms i WPF nie mam zbytnio doświadczenia pokaże przykłady z ASP.NET WebForms. Poniżej siatka danych.

Kod źródłowy ASPxGridView

To jest przykład tabeli danych, która wyświetlana jest w postaci kart. Wszystko zapewnia nam właściwość Templates, która pozwala stworzyć układ pojedynczego wiersza. Dane komórek uzupełniamy funkcją Eval(nazwa pola) dzięki temu możemy w dowolne miejsce stawiać dane. To pozwala na stworzenie nietypowej tabeli danych prezentowanej w trochę nieco inny sposób. Poniżej drugi przykład.

Kod źródłowy ASPxGridView

To jest kolejny przykład tabeli, ale tym razem tabeli, która dostosowuje swoją szerokość do rozdzielczości ekranu. Gwarantuje na to właściwość AdaptivityMode=”HideDataCells” i AllowOnlyOneAdaptiveDetailExpanded=”true”. Dzięki temu część kolumn będzie się chowało. Aby je odkryć na samym końcu zostanie zamieszczony przycisk, w którym wysuwamy dodatkowy wiersz z naszymi brakującymi danymi. I jeszcze jeden ostatni przykład.

Przykładowy TextBox

To jest przykład z zastosowaniem formatu ciągu. Dzięki temu w naszym pola będzie wyświetlana pojedyncza liczba, dodatnia lub ujemna, albo słowo Zero. Gdy zapiszemy to w taki sposób

Przykładowy TextBox

Nasza liczba zostanie wyświetlona do dwóch miejsc po przecinku, a dodatkowo tysiące i miliony będą rozdzielone spacją. W ten sposób duża liczba będzie wyświetlana w taki sposób:

542 512 523.52

Proste prawda? Powyższe przykłady tak naprawdę wziąłem ze strony demos.devexpress.com. Tam jest znacznie więcej przykładów. Praktycznie prawie wszystkie możliwości DevExpress’a są zaprezentowane w praktycznej formie dla technologii ASP.NET WebForms. W przypadku innych pozostaje dokumentacja, ale z tego co pamiętam to autorzy zadbali o przykładowe szablony instalowane razem z bibliotekami.

Podsumowanie

Praktyka, praktyka i jeszcze raz praktyka. To główny warunek żeby dobrze poznać DevExpress’a. Na szczęście producent przewidział 30 dniowy okres próbny. W sam raz żeby poznać kontrolki. Instalowane są razem z rozszerzeniami Visual Studio, dzięki temu możemy konwertować nasze projekty wykorzystujące DevExpress do nowszych wersji oraz korzystać z dodatkowych szablonów. Ponadto nasz przybornik zostanie wzbogacone o te komponenty. Przede wszystkim zachęcam do korzystania z szablonów i praktycznych prezentacji (w przypadku ASP.NET). Najczęściej wystarczy spojrzeć jak to działa i co trzeba zaimplementować. Osoby posiadające minimalną znajomość języka angielskiego nie powinny mieć problemu. W większości przypadków dokumentacja bardzo dokładnie opisuje co za co odpowiada.