Nauka WPF w 2022, a praca

0

Witajcie,

Dłuższą chwilę, choć dosyć leniwie, klepię sobie kod w platformie .Net. Spróbowałem co nie co ASP, ale nie czuję tego do końca. Zawsze byłem fanem małych, portable .exeków, które miały własne gui, miały do spełnienia swoje zadanie i działały szybko. Również nigdy nie pałałem miłością do pozycjonowania w CSS. Stąd moje aspiracje do tworzenia tego typu aplikacji. Dosyć romantyzmu, do rzeczy.

Zwracam się zwłaszcza do pracujących w branży. Czy w 2022 dalej warto zainwestować czas w ten framework? Już słyszałem, że UWP odpada przede wszystkim za podejście do uprawnień. Natomiast WPF za swoją niezawodność dalej jest w grze. Wyczytałem na quorze i zapamiętałem fragment:

Anecdotally, a client of mine has been looking for WPF developers for a long time. In particular, they were looking for both senior and intermediate developers. There were none to be found. None. In 2+ years of searching.

Dlatego niezmiernie interesuje mnie rynek polski.

Mam już swój pełnoprawny projekt, którego nie pokażę, bo to jest gwałt na projektowaniu aplikacji. Stosowanie polskiego nazewnictwa naprzemian z angielskim, wszystko sklepane tak, aby działało, brak wzorca MVVM. Ale jest to aplikacja, która umożliwia wprowadzanie, edycję danych do pamięci RAM, ich serializację do XML, backupy - generalnie jest to wyszukiwarka wpisów. Tym razem mam ochotę przepisać projekt z zastosowaniem wzorca MVVM, bazą danych SQL z Dapperem lub EF, obsługą wielu instancji aplikacji na różnych komputerach za pomocą SignalR.

Stworzenie tego tematu jest wynikiem wątpliwości co do kierunku, który chcę wybrać. Za wszystkie odpowiedzi z góry dziękuję.

1

IMHO nie ma sensu uczyć się frameworka który jest dedykowany aplikacjom deskopowym. Czy to WPF w .NET czy JavaFX w świecie JVM. W obu ekosystemach prym wiedzie tandem fancy frontend w webowej technologii + backend serwis w C# / Javie. Jak już klepiesz w C# to poszedłbym w naukę projektowania API backendowych.

0

obsługą wielu instancji aplikacji na różnych komputerach za pomocą SignalR.

Hmm, możesz rozwinąć?

0
MrMadMatt napisał(a):

IMHO nie ma sensu uczyć się frameworka który jest dedykowany aplikacjom deskopowym. Czy to WPF w .NET czy JavaFX w świecie JVM. W obu ekosystemach prym wiedzie tandem fancy frontend w webowej technologii + backend serwis w C# / Javie. Jak już klepiesz w C# to poszedłbym w naukę projektowania API backendowych.

Tak, doskonale zdaję sobie sprawę, co jest aktualnie na topie, ale czy idąc tą drogą nie skreślałbym od razu na przykład takiego machine learning? Aktualnie piszę backend dla webówki z kumplem, ale ciągnie mnie do fullstacka software. Stąd jest też temat, bo desktop jest niszą i pytanie, czy junior może się odnaleźć na rynku.

kzkzg napisał(a):

obsługą wielu instancji aplikacji na różnych komputerach za pomocą SignalR.

Hmm, możesz rozwinąć?

Jedna instancja aplikacji na komputer, wiele komputerów. Ciągłe pilnowanie, aby załadowane dane z bazy były aktualne, żeby nie dochodziło do konfliktów. A tak poza tym nauka tego narzędzia.

2
MrMadMatt napisał(a):

IMHO nie ma sensu uczyć się frameworka który jest dedykowany aplikacjom deskopowym. Czy to WPF w .NET czy JavaFX w świecie JVM. W obu ekosystemach prym wiedzie tandem fancy frontend w webowej technologii + backend serwis w C# / Javie. Jak już klepiesz w C# to poszedłbym w naukę projektowania API backendowych.

Jaki sens ma ta odpowiedź? Mieszasz dwie różne architektury aplikacji sugerując żeby robić same backEndy bez interfejsu zamiast kompletnych aplikacji korzystając np. z WPF.
Wciąż ogrom profesjonalnych aplikacji pisany jest na desktopy a ich zalety jeszcze wiele lat będą niedoścignione dla architektury backend+frontend.

Odpowiadając na pytanie z tematu. Tak ma sens uczenie się pisania tego typu aplikacji. Jest to jeden ze sposobów pisania programów i będzie popularny jeszcze wiele wiele lat. Nawet na urządzenia mobilne tak się pisze.

3

Z moich obserwacji wynika, że ofert pracy w WPF dla .NET developerów jest dużo mniej niż w ASP.NET Core, ale są więc warto to mieć na uwadze decydując się poświęcić lata na specjalizację w pisaniu aplikacji desktopowych na Windows. Jeżeli Ci to nie przeszkadza, że nie będziesz mógł tak łatwo zmieniać pracy jak web developerzy to działaj w tym kierunku.

0

@MrMadMatt Taki ma sens moja odpowiedź aby nakierować autora na zmianę stacku na web frontend + backend API niż ma się pchać w stack z desktop frameworkiem który IMHO jest absolutnie bez przyszłości.

Ocenianie i wybór kierunku rozwoju po popularności technologii to jeden z większych błędów jaki można popełnić.
Napisz mi jeszcze skąd ta informacja, że desktop frameworkiem który IMHO jest absolutnie bez przyszłości ? Kierujesz się własnymi odczuciami czy popularnością architektury a może dysponujesz jakimiś badaniami? Jeśli popularnością to wiedz, że wciąż większość aplikacji użytkowych jest właśnie typu Desktop.
Wiedz też, że programowanie ARM64 również nie jest popularne a trudno powiedzieć, że nie ma przyszłości.

1

Z własnych obserwacji na 50 ofert na LI może 2-5 to oferty gdzie potrzebny jest WPF/WCF i najczęściej są to jakieś legacy gnioty.
Moim zdaniem nie ma sensu aktualnie uczenie się WPF'a.

A teraz naprowadzę swoim doświadczeniem:

Spróbowałem co nie co ASP, ale nie czuję tego do końca.

Na początku też nie byłem fanem. Teraz już wiem dlaczego - po prostu było to odrobinę trudniejsze. Próg wejścia i zrozumienia aplikacji internetowych jest trochę większy. W WPF robisz hello worlda i "widzisz namacalny efekt" bardzo szybko. Po prostu przyszło z czasem.

Zawsze byłem fanem małych, portable .exeków, które miały własne gui, miały do spełnienia swoje zadanie i działały szybko. Również nigdy nie pałałem miłością do pozycjonowania w CSS. Stąd moje aspiracje do tworzenia tego typu aplikacji. Dosyć romantyzmu, do rzeczy.

Też kiedyś nie byłem fanem CSS i dalej nie jestem, ale znowu j/w - im lepiej to poznałem tym mniej tego nienawidzę.
Co do spełniania swojego zadania i działania szybko. Opisywane "zapotrzebowanie" przez powyższą osobę na aplikacje desktopowe to na pewno nie idzie w parze z "działały szybko" i "małych". Najczęściej to korporacyjne nudne kobyły (systemy typu NFZ, Tauron, Asseco, Comarch i ogólnie chyba wszystko złe)

Zwracam się zwłaszcza do pracujących w branży. Czy w 2022 dalej warto zainwestować czas w ten framework? Już słyszałem, że UWP odpada przede wszystkim za podejście do uprawnień. Natomiast WPF za swoją niezawodność dalej jest w grze. Wyczytałem na quorze i zapamiętałem fragment:

W zasadzie ogólnie podsumowując Twoje pytania - osobiście to sam nawet programować nie chciałem w życiu, ale wybór programowania i webówki to po prostu porzucenie idealizmu na rzecz dobrze płatnej i ciekawej pracy :)

Mam już swój pełnoprawny projekt, którego nie pokażę, bo to jest gwałt na projektowaniu aplikacji. Stosowanie polskiego nazewnictwa naprzemian z angielskim, wszystko sklepane tak, aby działało, brak wzorca MVVM. Ale jest to aplikacja, która umożliwia wprowadzanie, edycję danych do pamięci RAM, ich serializację do XML, backupy - generalnie jest to wyszukiwarka wpisów. Tym razem mam ochotę przepisać projekt z zastosowaniem wzorca MVVM, bazą danych SQL z Dapperem lub EF, obsługą wielu instancji aplikacji na różnych komputerach za pomocą SignalR.

Wiele rzeczy które tutaj wypisałeś użyjesz bez problemu w aplikacjach webowych. Najczęściej aplikacje webowe to po prostu aplikacje, które mimo wszystko hostowane są na desktopie (serwerze) więc takie rzeczy jak pamięć, zapis plików na dysk, serializacja, backupy, operowanie na plikach są naturalne także dla weba.
Sql, dapper, ef, wiele instacji, signalR, to wszystko idzie w parze z webówką.

Trzeba rozdzielić backend od frontendu. Da się być backendowcem nie ruszającym frontu (czyli np. CSS'ów) ale pewne rzeczy trzeba poznać, żeby z frontem współpracować :)

W zasadzie cały Twój wpis moim zdaniem opiera się o lęk przed wyjściem ze swojej strefy komfortu. Poświęciłeś jakiś czas na edukację i uważasz, że nie lubisz webówki bo Cię "przeraża" niewiedza w jej zakresie. Jak to poznasz to moim zdaniem zmienisz zdanie, a dalej trzymając się pytania - moim zdaniem ciężko będzie z pracą w desktopowych technologiach i wybór miejsca pracy na pewno będzie mocno ograniczony.

PS. @katakrowa programistów COBOL'a też szukają, bo ostatnie sztuki powoli umierają/przechodzą na emeryturę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1