Artykuł

telerik.com telerik.com
maj 18 2014
0

Płatne kontrolki - czyli jak zaoszczędzić sporo czasu i pieniędzy

Nie raz już pisałem na blogu, że nie warto wymyślać koła od nowa. Zawsze dobrze jest poszukać czy ktoś czegoś podobnego już nie zrobił wcześniej. Ta zasada świetnie sprawdza się praktycznie w każdym aspekcie życia - również w programowaniu. Mogę nawet śmiało stwierdzić, że tutaj nabiera ona zupełnie nowego wymiaru.

O prawdziwości tego stwierdzenia przekonałem się w ostatnich dniach osobiście dzięki promocji zorganizowanej przez Telerik przy okazji TechEd. Okazało się bowiem, że niepotrzebnie kilka miesięcy temu zmarnowałem kilkanaście godzin mojego prywatnego czasu, na zrobienie czegoś, co ktoś już inny zrobił lepiej i sprzedaje niewielkim kosztem...

Telerik i TechEd

Nie wiem czy kojarzycie Telerika, ale jest to dobrze znana w kręgu developerów firma zajmująca się tworzeniem wszelkiej maści kontrolek, które można zastosować w klasycznych aplikacjach, ich mobilnych wersjach, a także na stronie WWW. W swojej ofercie mają obecnie kilkadziesiąt produktów, w tym sporo zestawów rzeczonych kontrolek na różne platformy.

Rzeczony Telerik postanowił, że przy okazji konferencji TechEd Microsoftu, wypuści za darmo kontrolki na Windows 8 oraz Windows Phone (informowałem o tym na Facebooku oraz Google+). Oczywiście postanowiłem skorzystać z tej hojnej oferty i nabyć z tej okazji kontrolki do WP8.

Bardzo przyjemnie byłem zaskoczony całą tą promocją, a jeszcze bardziej zaskoczyła mnie jakość i możliwości rozwiązania Telerika. Szybko okazało się, że kontrolka DatePicker z produktu Telerika posiada wszystkie interesujące mnie opcje. W praktyce wcześniej poświęciłem kilkanaście godzin na uzyskanie podobnych funkcjonalności w bliźniaczej kontrolce z darmowego Toolkitu od MS. Szczęście w nieszczęściu, że to był prywatny projekt robiony po prostu dla przyjemności, w ramach rozwoju osobistego. Gdyby to był projekt komercyjny, to customizacja jednej darmowej kontrolki kosztowała by mniej więcej tyle, co cały ten pakiet (standardowa cena większości zestawów Telerika to $99). W swojej aplikacji wykorzystywałem również inne kontrolki z Toolkita, które także wymagały dodatkowych nakładów czasu i pracy...

Kiedy warto zakupić bibliotekę?

Opłacalność zakupu kontrolki, zestawu kontrolek, czy biblioteki zależy od wielu czynników. Przede wszystkim musimy przekalkulować koszty ewentualnej pracy związanej ze stworzeniem podobnego rozwiązania. Być może w pewnych określonych sytuacjach mimo wszystko lepiej jest zrobić skrojone na miarę własnej aplikacji rozwiązanie, niż kupować bibliotekę której cena kilkukrotnie przekroczyła by koszty naszej pracy. Oczywiście sytuacja wygląda diametralnie inaczej, w momencie gdy określone rozwiązanie będziemy wykorzystywać w kilku projektach. Wtedy koszty można rozłożyć na x klientów, a później już tylko czerpać zyski. Dlatego też kupując bibliotekę warto patrzeć w przyszłość i rozważyć jak najefektywniej wykorzystać określone rozwiązanie.

Licencja - developer vs użytkownik

Kupując bibliotekę warto zwrócić uwagę na to w jaki sposób jest ona licencjonowana. Chodzi mi konkretnie o sytuację, czy licencja na daną bibliotekę przyznawana jest per developer, czy per użytkownik. Zdecydowanie lepszą opcją jest ta pierwsza, ponieważ my jako jednostka otrzymujemy z reguły nieograniczone prawo do wykorzystania określonego rozwiązania. Innymi słowy każdą napisaną przez nas aplikację może zainstalować nieskończenie wiele użytkowników.

Wsparcie

Kupując określoną bibliotekę bardzo często dostajemy również wsparcie, które przeważnie należy rozumieć dwojako:

  • Pomoc techniczna
  • Dostęp do aktualizacji

Z doświadczenia wiem, że jest to dość istotny element, ponieważ dzięki temu kupując określone rozwiązanie mamy zapewnione (lub też nie...) wsparcie w ramach problemów, czy awarii, a także uzyskujemy dostęp do nowych wersji, które oprócz rozwiązania potencjalnych problemów, często przynoszą dodatkową funkcjonalność.

Testy

Jednym z ważniejszych problemów developerki, od zawsze było odpowiednie przetestowanie własnego produktu. Tutaj pojawia się kolejna zaleta gotowych rozwiązań, które przeważnie zostały już wcześniej zaimplementowane w dziesiątkach innych miejsc. Dzięki temu nie kupujemy kota w worku i zyskujemy pewność, że nasza aplikacja zadziała tak, jak tego oczekują od niej jej użytkownicy.

Wersja trial

Napisałem sporo pochwalnych akapitów na rzecz komercyjnych rozwiązań, ale zanim sięgniecie do kieszeni, sprawdźcie dokładnie czy interesujące Was rozwiązanie, rzeczywiście się u Was sprawdzi. Nic tak nie boli jak kilkaset złotych (żeby tylko!) wydane na bibliotekę, które zostało wyrzucone w błoto. Lepiej jest więc przed zakupem upewnić się, że to konkretne rozwiązanie rzeczywiście rozwiązuje Wasze problemy i da się je logicznie połączyć z Waszą aplikację.

Problem ten można rozwiązać dwojako. Po pierwsze możecie bardzo dokładnie przestudiować dokumentację, by poznać API biblioteki i tym samym prześledzić jej możliwości. Dużo lepiej wygląda jednak druga opcja. Developerzy bardzo często udostępniają wersje trial swoich bibliotek. Z reguły są one dostępne np. na okres 14 czy 30 dni. W tym czasie będziecie w stanie sprawdzić, czy określone rozwiązanie rzeczywiście zadziała z Waszym kodem.

Podsumowanie

Zdaje sobie sprawę, że mój dzisiejszy tekst nie jest niczym odkrywczym, ale wydaje mi się, że wielu deweloperów wciąż próbuje wymyślać koło od nowa. Na świecie są setki tysięcy programistów, którzy już od wielu lat tworzą miliony linii kodu. Istnieje bardzo duże prawdopodobieństwo, że wiele problemów przed jakimi staniecie jutro, za tydzień, za miesiąc, zostało już przez kogoś wcześniej rozwiązanych. Może akurat trafiły one do jakiejś fajnej biblioteki, którą znajdziecie w przystępnej cenie, bądź też nawet za darmo?

Często wystarczy się po prostu rozejrzeć odrobinę wokół. Zrobić mały research na Googlu by znaleźć rozwiązanie, które może Wam zaoszczędzić dziesiątki godzin cennego czasu. Warto na koniec dodać, że nie zawsze musi być to płatne rozwiązanie;-)

Podoba Ci się ten wpis? Powiedz o tym innym!

Send to Kindle

Komentarze

blog comments powered by Disqus