Początek programowania

Co warto wiedzieć przed napisaniem pierwszego programu

Środowisko

Żeby rozpocząć programowanie wystarczy zainstalować Visual Studio. Od jakiegoś czasu Microsoft udostępnia darmową wersję Community, która pozwala na pisanie własnych programów m.in. w celach nauki. Trzeba założyć konto Microsoft i można pobierać i rejestrować oprogramowanie.

Typ projektu

W Visual Studio można tworzyć aplikacje różnego przeznaczenia. My teraz zajmiemy się trzema z nich: console application, Windows forms oraz WPF.

Console Application to rodzaj aplikacji, która skupia się na wykonywaniu zadań, które nie są zarządzane poprzez graficzny interfejs. Jest to dobry wybór do nauki podstawowych elementów języka, takich jak pętle, warunki. Możemy tu zbudować programy wypisujący na ekranie wyniki obliczeń, ale również możemy połączyć się z bazą danych czy wykonywać inne operacje sieciowe. W poważnych aplikacjach zastosowanie konsoli może mieć miejsce np. w silnikach baz danych, w których zadaniem aplikacji jest wyłącznie odebranie żądania i wysłanie odpowiedzi poprzez sieć.

Windows Forms to program okienkowy, który powoli jest zastępowany następcą WPF. Nie warto rozpoczynać w nim nowych poważnych projektów, ale jest dobry do szybkiego budowania krótkich aplikacji bazujących na oknach. Pozwala na pracę w Visual Studio z graficznym edytorem komponentów. Aplikacja steruje okienkiem, programista za pomocą zdarzeń może decydować co stanie się po kliknięciu na przycisk, lub jak ma reagować aplikacja po wybraniu konkretnego pliku. Windows Forms jest dość szybki w działaniu, ale wymaga dość sporego wiązania okienka z resztą aplikacji. Poza tym ma spore ograniczenia graficzne.

WPF (Windows Presentation Foundation) to nowoczesny sposób pisania aplikacji mocno wspierający technologię MVVM (Model-View-ViewModel). Opiera się na założeniu, że okienkiem nie powinien sterować programista poprzez kod, ale powinien pisać modele typu VM, które połączone z okienkiem WPF same będą wiedzieć kiedy i w jaki sposób się aktualizować. Po opanowaniu tej technologii, jest świetnym rozwiązaniem. Łatwo pozwala rozdzielić warstwę prezentacji (View) od warstwy biznesowej -czyli po prostu od obliczeń. Współpracuje z XAML (czytaj Zaml) czyli opisem klas i ich atrybutów za pomocą tekstowej struktury XML. Jest w dodatku wzbogacony o wiele klas graficznych, pozwalających na dowolne modyfikacje standardowych komponentów graficznych. Również pozwala na korzystanie z edytora graficznego przy projektowaniu komponentów. Przy pisaniu nowych aplikacji polecam ten wybór.

Co warto wiedzieć o organizacji plików

Język programowania nie ma za nas decydować jaki porządek w plikach chcemy zachować. Poddanie się środowisku programistycznemu bez naszej ingerencji w organizacje plików spowoduje, że napiszemy aplikację trudną do czytania, trudną do rozbudowy ściśle związaną z komponentami graficznymi.

O wiele lepiej jest wyobrazić sobie aplikację jako drzewo klas połączonych zależnościami, których celem jest zbudowanie obiektu (klasy) VM, która będzie współpracować z naszym okienkiem. Tak więc dwukrotne klikanie na jakiś komponent, np. przycisk, żeby dodać tam jakiś kod wykonujący zadanie jest złą praktyką. Powinno się to traktować jako kompromis, np. gdy aplikacja ma być napisana szybko i nie będzie rozbudowywana. Kiedy piszemy aplikację musimy mieć projekt, wyobrazić sobie jakie zadania aplikacja będzie wykonywać, które z zadań będą wykonywane wielokrotnie i w taki sposób zaprojektować drzewo plików. Czasem warto posłużyć się gotowym frameworkiem, który pomoże nam w odpowiedniej organizacji.

About the author

Lester Forestjump

View all posts