Jade-ERP #1

No i się zaczęło!  Wybił 1 marca i oficjalnie zaczynamy „Daj się poznać 2017”!  Od teraz trzeba rozwijać projekt i trzymać się zasady pisania minimum dwóch postów tygodniowo. Chyba dam radę?  🙂

 

Zacząłem wcześniej

Nielegalnie (ćśśś) rozpocząłem pracę nad projektem coś około 18 lutego. Przez pierwsze dni konfigurowałem solucję w Visual Studio, napotkałem kilka problemów ze zgraniem używanych bibliotek, aczkolwiek udało się wszystko ładnie skonfigurować. Mam nadzieje, że w trakcie prac nie pojawią się problemy krytyczne.

 

W poprzednim artykule opisałem z grubsza, czego ma dotyczyć moja aplikacja. W ramach konkursy nazwałem ją Jade-ERP.  Z pewnością nie będzie to pełno wartościowy ERP a raczej jego podstawowa funkcjonalność – być może kiedyś go rozwinę do takiego poziomu i zarobię grube miliony :).

 

Zastanawiałem się dość długo czego dokładnie użyję do tworzenia interfejsu użytkownika, ponieważ nie chciałem korzystać z domyślnych kontrolek dostępnych w WPF. Oczywiście nic nie stało na przeszkodzie, żebym stworzył własne style, natomiast nie chciałem iść w tę stronę, ze względu na to, że zajęłoby to masę czasu, który zdecydowanie wolę przeznaczyć na funkcjonalną część aplikacji. Dlatego zacząłem szukać darmowych kontrolek pod WPF, efekt poszukiwań przedstawię dalej.

 

Aplikacja będzie także umożliwiała tworzenie dokumentów, na pewno będą to faktury, natomiast jeżeli czas pozwoli będą dostępne także inne dokumenty. Zdecydowałem, że będę je tworzył za pomocą kodu HTML. Do tego potrzebowałem narzędzia. W następnej sekcji opiszę na co się zdecydowałem.

 

Narzędzia

Chyba przyszedł czas abym przedstawił z jakich bibliotek będę korzystał podczas prac nad projektem.

 

Całość aplikacji jak już wcześniej wspomniałem będzie działała z wykorzystaniem WPF. Zamiast używania serializacji, zdecydowałem, że dane będą archiwizowane w bazie danych – MS SQL. Do komunikacji aplikacji z bazą danych, użyje Entity Framework.  Jeżeli chodzi o warstwę interfejsu użytkownika wpadłem na pomysł, aby aplikacje stworzyć w stylu Material Design. Jak wcześniej napisałem, nie chciałem tworzyć styli od zera. Odpaliłem Google i po krótkim researchu, znalazłem na GitHub bibliotekę Material Design In XAML Toolkit.  Jest to projekt udostępniający style i kontrolki właśnie w tym stylu. Gdy tylko sprawdziłem jak bardzo zaawansowany jest to projekt – wiedziałem, że to właśnie tego użyje w swojej aplikacji. Natomiast za generowanie dokumentów będzie odpowiadać biblioteka HTML-Renderer. Udostępnia ona kontrolki do wyrenderowania kodu HTML, a także umożliwia jego zapis do pliku PDF.

 

A co z samym kodem? Czy korzystając z WPF będę używał code-behind? W żadnym wypadku (oczywiście mogą pojawić się sytuację gdy będę zmuszony z niego skorzystać), postanowiłem, że czas nauczyć się korzystać ze wzorca MVVM. Biblioteka MVVM Light, świetnie pomaga w tym zadaniu. Udostępnia wiele mechanizmów do sprawniejszego korzystania z tego wzorca. Postaram się przedstawić jej funkcjonalność w jednym z przyszłych wpisów.

 

Uff

Mam nadzieję, że niczego nie pominąłem przedstawiając swoje zaplecze programistyczne. Jest szansa, że dodam jeszcze jakieś narzędzie zewnętrzne do sprawniejszego rozwijania projektu. Gdy tak się stanie, na pewno o tym poinformuje, w jednym  z przyszłych wpisów dotyczących rozwijanego projektu. Póki co uciekam w odmęty Visual Studio

 

Off-topic

To co jest dla mnie najważniejsze podczas udziału w tym konkursie to wyciągnięcie jak największej ilości nauki. Istnieje duża szansa, że nie będę w pełni poprawnie korzystał ze wzorca MVVM lub pojawią się jakieś nieścisłości w samym kodzie, dlatego będę wdzięczny za każdą konstruktywną krytykę oraz uwagi, z których będę mógł wyciągnąć wnioski oraz poprawić niedociągnięcia – za pozytywne komentarze będę równie wdzięczny!

 

Przydatne linki

Mam coś dla Ciebie

Zapisz się do mojego newslettera, a ja prześlę Ci zbiór kilkunastu praktycznych wskazówek dla programisty aplikacji mobilnych.

Menu