Podstawowym wyzwaniem podczas wdrażania jakiejkolwiek nowej technologii informatycznej, jest problem braku wykwalifikowanej siły roboczej. Przeszkolenie pracowników kosztuje, i mimo że informatycy chętnie zgłębiają arkana swej sztuki w czasie wolnym, na przystosowanie się do nowych wyzwań potrzeba czasu.
Z punktu widzenia samych pracowników poznawanie nowej technologii, to okazja do wpisania sobie kolejnego, magicznego, trzyliterowego skrótu w CV. O ile jednak obopólne korzyści pracodawcy i pracownika stają się widoczne po pewnym czasie, o tyle samo wdrożenie nowej technologii kosztuje. Koszt jest tym większy, im bardziej stroma jest krzywa uczenia się.
Trudność nauki wynika przede wszystkim z dwóch czynników. Pierwszym z nim jest trudność, jako immanentna cecha informatyki, drugim jest objętość materiału do poznania. O ile w ostatnich latach trudność jako taka ulega redukcji, dzięki zastosowaniu wszystkich zdobyczy informatyki (od języków programowania wysokiego poziomu począwszy a na metodykach zwinnych skończywszy) o tyle drugi czynnik stanowczo się pogłębia. Skądinąd wzrost ilości materiału jest pochodną radzenia sobie ze złożonością i trudnością informatyki – w języku C# programuje się dużo wygodniej niż w asemblerze 8086, mimo że asembler 8086 posiada zaledwie garść instrukcji, podczas gdy zrobienie czegokolwiek użytecznego w języku C# wymaga znajomości kilkunastu (kilkudziesięciu) klas dostarczanych przez środowisko uruchomieniowe.
Tendencja ta jeszcze bardziej widoczna jest w przypadku Javy – o ile sam język ma raczej banalną składnię, mogącą sprawiać trudność jedynie komuś, kto programować w ogóle nie umie, o tyle sama znajomość składni Javy nie daje właściwie nic. Ciężko jest wręcz napisać cokolwiek, bez znajomości nie tyle kilku standardowych klas, ile któregoś z używanych powszechnie frameworków. Dobre opanowanie danego frameworka wymagać może drastycznie więcej czasu niż nauka samego języka…
Podobna tendencja zaczyna się powoli pojawiać w ekosystemie Microsoftu. Rozbudowane biblioteki klas zaczynają grać coraz większą rolę w tworzeniu systemów dedykowanych platformie .NET. Jedną z takich bibliotek, jest dzieło firmy DevExpress (kiedyś nazywanej Developers Express, ponieważ jednak złożenie obu tych słów zawiera w sobie podciąg „sex”, ich strona internetowa była często blokowana przez firmy, więc aby nie tracić klientów nazwa się zmieniła). Historia DevExpress sięga czasów wczesnego Delphi, które zdobywać zaczęło popularność w latach 90tcyh. Delphi, narzędzie znakomicie sprawdzające się do tworzenia desktopowych klientów do systemów bazodanowych właściwie do dzisiaj nie dorobiło się podstawowego wydawało by się komponentu do pracy z danymi – grida. Lukę na rynku próbowało zapełnić wiele firm, jednak de facto tylko Quantum Grid z DevExpress stał się standardem przemysłowym, a samej firmie pozwolił się rozwinąć. Nic dziwnego , że kiedy pojawił się .NET, w siedzibie DevExpress zdecydowano się na budowę produktów także dla tej platformy.
Obecnie najciekawszą linią produktową w ramach bibliotek DevExpress są komponenty dla środowiska ASP.NET. Wybór jest dość szeroki – od rozbudowanych kontrolek edycyjnych, poprzez wszelkiego rodzaju wskaźniki, kalendarze, wykresy, raporty a na zaawansowanych gridach skończywszy. Biblioteka jest ogromna i częściowe opanowanie jej elementów pochłania olbrzymią ilość czasu. W ramach ułatwienia tego zadania Paul Kimmel napisał książkę pod wszystko mówiącym tytułem „Professional DevExpress ASP.NET Controls”.
Książkę można podsumować wprost: perfekcyjnie spełnia swoje zdanie. Dzięki temu podręcznikowi można programistę ASP.NET wyszkolić w obsłudze biblioteki DevExpress w bardzo krótkim czasie. Czas ten jest radykalnie krótszy od czasu koniecznego do samodzielnego opanowania materiału, pomimo że zarówno pomoc jak i przykładowe zastosowania na stronach DevExpress są przygotowane rewelacyjnie. Bardzo przyjemne są wstępy do rozdziałów gdzie autor stara się napisać coś o sobie lub od siebie, aby na jakimś życiowym przykładzie omówić jakąś cechę opisywanej biblioteki. Być może niektórzy czytelnicy będą tym rozdrażnieni, osobiście lubię kiedy w książce pojawia się takie „oczyszczenie atmosfery”.
W książce omówiono podstawowe technologie związane z biblioteką komponentów ASP.NET – począwszy od omówienia ASPxGridView (grida), poprzez ASPxTreeList (drzewo), komponenty nawigacyjne (menu, chmury, listy newsów, etc), komponenty do edycji danych (ORM i kontrolki) a na zastosowaniu Ajaxu skończywszy. Uzupełnieniem są rozdziały zawierające informacje dodatkowe oraz ciekawe porównanie filozofii aplikacji webowej i aplikacji klasy desktop.
Książka niestety ma minusy. Minusem podstawowym jest … objętość bibliotek DevExpress. Po przeczytaniu 600 stron ma się sporą wiedzę odnośnie komponentów ją tworzących, jednak po paru miesiącach pracy z kontrolkami ma się wiedzę większą. Niestety, wtedy już nie ma co czytać…
Pomimo tych mankamentów książkę można z czystym sercem polecić wszystkim chcącym rozpocząć swoją przygodę z DevExpress.
Paul T. Kimmel Professional DevExpress ASP.NET Controls, Wrox, Indianapolis 2009