• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# i aplikacje - jak to ugryźć?

Object Storage Arubacloud
0 głosów
1,780 wizyt
pytanie zadane 27 listopada 2016 w C# przez Bolder Początkujący (370 p.)

Witam, chciałbym wziąć się za tworzenie aplikacji desktopowych za pomocą c#a.

Nie wiem jednak jak się do tego zabrać, bo wydaje się, że rzeczy jest sporo i trochę mi to mota w głowie.

W jakim kierunku powinienem iść i czego się uczyć aby takie apki móc sobie tworzyć?

Poza samym językiem w głowie kołatają mi nazwy takie jak .Net framework, XAML, WPF, ale nie do końca wiem za co się zabrać i skąd się uczyć. Jestem w trakcie czytania tej książki.

Co byłoby najlepszym wyborem do nauki by nie używać czegoś co umarło albo umiera i mieć szansę na zarówno przyjemne tworzenie własnych aplikacji jak i znalezienia pracy?

komentarz 27 listopada 2016 przez baku73 Nowicjusz (180 p.)
Cześć, myślę że kurs p.M.Zelenta z C++ oraz książka "Rusz głową C#"

Pozdrawiam
1
komentarz 27 listopada 2016 przez Bolder Początkujący (370 p.)
C++ znam na znacznie wyższym poziomie niż kurs MZ, nie wiem jednak jak on miałby mi pomóc w nauce c# poza oczywistymi rzeczami tj. zrozumieniem podejścia obiektowego itd, co jednak mam już za sobą.

Książkę do nauki samego języka już mam o czym wspomniałem. Mi chodzi o technologie, które pozwolą mi go wykorzystać do tworzenia oprogramowania i o takie technologie oraz źródła, z których mógłbym się ich uczyć pytam.

2 odpowiedzi

+1 głos
odpowiedź 28 listopada 2016 przez achilles147 Dyskutant (9,580 p.)
wybrane 28 listopada 2016 przez Bolder
 
Najlepsza
Ogólnie jeżeli chodzi o aplikacje desktopowe, tj takie pod windowsa. To za pomocą c# możesz rozpocząć swoją przygodę za pomocą jednego z dwóch frameworków:

Windows forms: Prosty framework, w którym można napisać tak naprawdę wszystko co Ci się podoba. Za pomocą wbudowanych kontrolek ( przycisków, textboxów itd) możesz szybko napisać apkę. Framework coraz mniej używany w profesjonalnych rozwiązaniach lecz wcale nie gorszy od drugiego rozwiązania ( np. u mnie w pracy wykorzystują ten framework :))

 

WPF: Trochę bardziej skomplikowany, ma odseparowaną warstwę prezentacyjną ( design, wygląd aplikacji) przez co żeby cokolwiek w nim napisać trzeba nauczyć się też języka Xaml, za pomocą którego tworzy się wygląd twojej apki. Oprócz tego nie ma różnic pomiędzy windows formsami, wszystko co da nie się napisać w wpfie da się też napisać w windows formsach. WPF ma też trochę zalet jeżeli chodzi o mergowanie warstw prezentacyjnych ( nie wiem czy wiesz co to mergowanie, jeżeli nie to pewnie się dowiesz niedługo) .

 

Ja na twoim miejscu zaczołbym sobie pisać coś w windows formsach i nauczyć się pierwsze co składni samego c#. Później jak już się nauczysz trochę możesz zacząć zabawę z WPF :)
komentarz 28 listopada 2016 przez Bolder Początkujący (370 p.)
Dzięki wielkie, czy polecisz jakieś kursy, z których mógłbym się uczyć? Język angielski jak najbardziej dobrze znany, więc i w tym języku może coś być ( a nawet wolałbym, żeby było ).

Póki co poza wyżej wymienioną książką przerabiam kurs z Microsoft Virtual Academy. Może warto zainteresować się jeszcze jakimś?
+1 głos
odpowiedź 28 listopada 2016 przez pulson666 Stary wyjadacz (12,560 p.)
ucz się wpf bo to jest przyszłość. WinFormsy są przeżytkiem
komentarz 28 listopada 2016 przez achilles147 Dyskutant (9,580 p.)
a może tak uzasadnij wypowiedź?
komentarz 29 listopada 2016 przez BorysN Nowicjusz (100 p.)
1. Szybciej się tworzy całe widoki

2. Łatwiej jest ogarnąć pozycjonowanie kontrolek dzięki layoutom

3. Łatwy reuse dzięki stylą

4. Dobrze pomyślany DataBinding !

5. Dużo typowego kodu ląduje w XAMLu i łatwiej to utrzymać

6. Dobrze zoptymalizowane animacje

7. WPF jest nowszy

8. Dużo dostępnych materiałów

9. MVVM ! <- jeśli poznasz tą technologie to chyba nie ma szybszego sposobu na tworzenie aplikacji. WPF ma pełne wsparcie i srylion frameworków do MVVM

10. Ogólnie wszyscy się wycofują z WinFormsów . Jedynie firmy które napisały tony kodu w WinFormsach dalej go używają.

Jedyny "plus" jaki widzę po stronie WinFormsów to MONO

Tyle argumentów może być ? :D
komentarz 29 listopada 2016 przez achilles147 Dyskutant (9,580 p.)
edycja 29 listopada 2016 przez achilles147
Połowa z tych argumentów co prawda to trochę kicz :D (WPF jest nowszy - i co z tego ?). Też jestem większym fanem WPF niż windows formsów ale to z tego względu, że w firmach dużo więcej się go używa, bo dużo lepiej się nadaje do "większych" aplikacji. Dla początkującego jednak według mojej opini nie ma dużej różnicy bo i tak prawdopodobnie nie będzie implementować sobie wzorca MVVM i wszystko będzie klepać w code behind :)
komentarz 29 listopada 2016 przez BorysN Nowicjusz (100 p.)
Czytam swój post i ... faktycznie trochę kicz wyszedł. Za każdym punktem stoji fakt ale kiepsko to opisałem. Teraz zrobię to trochę uczciwiej. :D

1. Szybciej się tworzy całe widoki
Żeby zrobić widoki nie trzeba znać c# tylko stosunkowo prosty XMLowy XAML (Nie musi tego robić programista !). Widoki można klepać w Blendzie który jest chyba najlepszym narzędziem do "układania kontrolek" jaki widziałem. Potem bindować i gotowe. Niestety WinForms wymaga sporej wiedzy żeby zrobić dobre UI. Dużo łatwiej zrobić w pełni funkcjonalny UI za pomocą WPFa niż WinFormsow.

2. Łatwiej jest ogarnąć pozycjonowanie kontrolek dzięki layoutom
Nie musisz wymyślać koła od nowa. Zmiana rozdzielczości, zmiana rozmiarów okna itp wymaga w WinFormsach dosyć mocnych czarów a mimo tego często to co zaimplementujesz nie jest tym co byś chciał. W WPF masz to za darmo. Wrzucasz coś odpowiedni panel/layout i często nic więcej nie musisz z tym robić.

3. Łatwy reuse dzięki stylą
W kazdym widoku mozesz uzywac uniwersalnych styli i kontrolek. Robisz coś raz i bawisz sie tym do konca. Zmieniasz coś w jednym miejscu i pojawia sie wszędzie. Jasne w WinFormsach można też to zrobic ale ... znowu wymaga to cieższej altylerii.  To najbardziej żmudne i nielubiane zajęcie jest ograniczone do minimum.

4. Dobrze pomyślany DataBinding !
To jest magia (co może tez być wadą). Przenoszenie danych miedzy modelem a widokiem jest łatwe i intuicyjne. Nie musisz się zastanawiać co i kiedy odświeżyć. Zmieniasz dane i ... wszystko co powinno się ładnie odświeża.

5. Dużo typowego kodu ląduje w XAMLu i łatwiej to utrzymać
Animacje, trigery, rysowanie prostych elementów jest w XAMLu. Nie musisz się z tym babrać w kodzie.

6. Dobrze zoptymalizowane animacje
Wystarczy pobawić się przeźroczystymi elementami żeby zobaczyć różnicę :D

7. WPF jest nowszy
Więcej nowych kontrolek pojawia się w WPFie. Nowe technologi np .UWP są tworzone z myślą o WPFie i to czuć !

8. Dużo dostępnych materiałów
Może to ni jest wskaźnik jakości ale ... Google dla hasła WPF podaje 17 mln wyników dla WinForms "tylko" 3 :D

9. MVVM !
Jeśli poznasz tą technologie to chyba nie ma szybszego sposobu na tworzenie aplikacji. WPF ma pełne wsparcie i srylion frameworków do MVVM. Pierwsze swoje aplikacje napiszesz bez MVVMa i to jest normalne ale ... gdy połapiesz się w WPFie, XAMLu i odpalisz moc MVVM to złapiesz sie za głowę. MVVM jest prosty, intuicyjny, narzuca pewne dobre nawyki, sprawi że będziesz miał mniejszy chaos w projektach. WPF i MVVM to moim zdaniem najlepsza podstawa do szybkiego tworzenia aplikacji biznesowych.

10. Ogólnie wszyscy się wycofują z WinFormsów . Jedynie firmy które napisały tony kodu w WinFormsach dalej go używają. WPF to przyszłość.

Podsumowując: dla początkującego programisty nie ma różnicy w nauce miedzy WinForms a WPF ale ... chcesz się uczyć technologi której potem nie będziesz używał ? Na moje nauka WinForms jest w tej chwili stratą czasu.
komentarz 29 listopada 2016 przez achilles147 Dyskutant (9,580 p.)
Jeszcze dodając coś od siebie dość ciekawą zaletą wpfa jest to, że programowanie za wykorzystaniem tego frameworka przypomina odrobine programowanie webowe (powiedziałbym nawet, że jest inspirowane webówką). Przez co dużo łatwiej Ci będzie się przesiąść w przyszłości na jakiegoś asp.net i napisać sobie w nim jakąś apkę webową :)

Podobne pytania

0 głosów
0 odpowiedzi 2,373 wizyt
pytanie zadane 7 listopada 2017 w C# przez marcin99b Szeryf (82,180 p.)
0 głosów
0 odpowiedzi 104 wizyt
pytanie zadane 27 grudnia 2016 w C i C++ przez Wojtek Sala Początkujący (480 p.)
+1 głos
0 odpowiedzi 264 wizyt
pytanie zadane 3 lipca 2021 w JavaScript przez Markko Nowicjusz (130 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...