wpf האם נכחד מהעולם?

יעלית9

New member
wpf האם נכחד מהעולם?

לפני שנה התחלתי לעבוד בwpf. אני מאוד אוהבת את התחום .
הבעיה שמכל עבר אני שומעת על שwpf הולך ונכחד והשוק החם זה web.
אני עובדת על פרוייקט שצפוי להסתיים עוד שנתיים.
אני חוששת שעוד שנתיים כשאחפש עבודה לא יהו כמעט משרות בwpf.
שאולי הלכתי למסלול הלא נכון .
עוד שנתיים אהיה ספצית בwpf אבל למשרות web אהיה חסרת ניסיון לחלוטין.
אשמח לשמוע מהמומחים כאן האם התחום הזה הוא נישה טובה או טעות שכדאי לברוח ממנו.
 
לא ייכחד אלא יתמעט

אפליקציות עסקיות [פריוריטי למשל] לעולם לא יעברו לווב.
מי שאומר שWPF ייכחד, שאלי אותו האם הוא שמע על תוכנת וויז'ואל סטודיו שכתובה ב...WPF. גם בלנד כתוב בWPF. האם וויזו'ואל סטודיו תעבור לווב?
&nbsp
שנית, מי שיודע WPF יכול בקלות לעבור לשוק אפליקציות Windwos [שוק מצומצם עדיין, אבל מסתבר שWindows 10 ידחוף אותו קדימה]
 

ziv1f

New member
כמו שיוסף אמר, אפליקציות וינדוס 8\10 עדיין כתובות בזאמל

זה כבר לא נקרא WPF (סיבות שיווקיות ואחרות של מיקרוסופט) אבל זה בדיוק אותו הזאמל, עם בדיוק אותה השיטה\פקדים\תוצאה\רעיון\ספריות

זוהי פלטפורמה נהדרת (לפחות לטעמי האישי) לאפליקציות וינדוס, אני מאד מקווה שיעשות לסביבת הריצה פורטינג גם לפלטפורמות כמו לינוקס ו\או מאק.

אני מזה כ-5 שנים עובד כמעט אך ורק על WPF וזאמלים אחרים (כגון וינדוס פון פעם, וסילברלייט פה ושם) וגם כרגע (למעט שנה באמצע שעשיתי אפליקציית ווב קטנה עם סרבר ב-NODE) ואני לא חושב שזה הולך להכחד בקרוב

יתרה מכך: פלטפורמות דסקטופ, עד כמה שזה (תמיד) נשמע מיושן, הן המנוע מאחורי ארגונים גדולים, גם אם זה לא סאפ או פריוריטי, ארגון גדול צריך תמיד מערכות מידע, וב-WPF אפשר להקים אותן מאד מהר ולתחזק אותן מאד בקלות. אני גם מכיר אנשים שעדיין משווקים ללקוחות שלהם תוכנות שכתובות ב-VB6 ומייצרים מזה כסף, אבל לא ארחיב על זה את הדיבור, זה עושה לי לא טוב.

ולאחר שאמרתי את כל זאת, עדיין אני תומך גדול ונהלב במולטידיסיפלינריות, מתכנת טוב צריך לדעת גם קליינט וגם סרבר, צריך לדעת תמיד איך עובדים עם דטבייסים גם אם הוא לא מלך ה-SQL העולמי, צריך לדעת להיות מסוגל ללמוד שפה חדשה, סביבה חדשה, פריימוורק חדש, ושיטות חדשות לעבוד. אם תקבלי חוות דעת כזו מממליץ שלך, הרבה פחות יעניין את מקום העבודה הבא שלך מה את כבר יודעת ובמה יש לך ניסיון.

בברכה,
זיו
 
אם wpf יכחד, יוכלו לשחזר אותו מה DNA של זיו.

ימצאו אותו בחפירות, יזריקו את ה DNA לביצה של דינוזאור, ויגדלו מתכנת WPF חדש.
מה, לא ראית פארק היורה?
&nbsp
 

ziv1f

New member
אתה מנסה לרמוז שאני דינוזאור?


כי לכל ידוע שנולדתי הרבה לפניהם, והספקתי לראות אותם נוצרים, מתרבים, ונכחדים
אבל לא נורא, אם שרדתי את תשעת עידני הקרח, אני אשרוד גם את זה

אה, אגב קרח, מה נשמע אצלכם בקנדה הרחוקה?

חחח
 
haha ממש לא.

רק אם, וכאשר, אז אני אומר שתמיד יהיה אפשר לבצע שחזור.
אני חושב שהמילה "נכחד מהעולם" גרמה לי לטריגר והזכירה לי את הסרט.
&nbsp
הקרח פה זה נושא מאד עצוב, בוא לא נדבר על זה.
&nbsp
לגופו של עניין, wpf ואפליקציות דסקטופ ממש לא נעלמות, ואני רואה כאן ביקוש ער ומשכורות גבוהות לאנשי wpf, בעיקר לכל מיני אפליקציות פיננסיות, השקעות למיניהם, בורסות, סחר מטבעות, וכאלה דברים שאין לי מושג בהם.
 
אני אשמח אם זה יקרה

לא יודע, לא אוהב WPF, לדעתי כל הנושא הזה של Binding סתם מסבך את החיים. עוד לא נתקלתי בדבר שאי אפשר ליישם ב WinForm בצורה הרבה יותר פשוטה ונוחה.
 
בו תסביר לי למה אני טועה

בעבר כשרציתי לעדכן תווית על הפאנל ב WinForms כל מה שהייתי צריך לעשות זה לכתוב שורה אחת קצרה:

labelName.Caption = "Update";

וכשרציתי לקרוא ערך של תווית כל מה שהיית צריך לבצע זו פעולה הפוכה:

myString = labelName.Caption;

וכשרציתי שכפתור יבצע פעולה מסויימת כל מה שהייתי צריך זה לעשות דאבל קליק על הכפתור שעל הפאנל ומיד להתחיל לכתוב את הקוד הדרוש. קל ופשוט.

ב WPF אני צריך לבצע כל כך הרבה פעולות כתיבה והגדרות (כמו למשל להגדיר את הקישוריות בין ה View ובין ה ViewModel) בכדי לקבל את אותה תוצאה, בו תסביר לי מה אני מפספס.
 
תשובה

1. כדי לעדכן את הערכים או כשאתה רוצה שכפתור יבצע פעולה מסוימת עליך להוסיף פונקציה, ושם לעשות מה שאתה רוצה בwinform - אז זה לא בדיוק שורה אחת, קצרה ותמימה:).
2. בWPF אתה באמת מחבר בxaml בשורה אחת:)
<TextBox Text="{Binding MyText}"/>
שים לב מה קורה בשורה שלעיל, הקישוריות היא דו כיוונית - בשורה אחת חמודה ובודדה בxaml (ובכמה שורות בVM כמובן).
3. כמובן שאפשר לשפר את צורת הכתיבה וwinform ולעבוד בשיטת MVC - וכך להפחית מהספגטי השורר באפליקציות winform הישנות.
4. באותה הדרך כמו בסעיף 2 אפשר לחבר איוונטים בxaml ישירות לvm (כן, בשורה אחת בודדה וחמודה בxaml:))
5. יש גוגל שיסביר למה wpf הרבה יותר נוח:)
 
תשובה

דבר ראשון, גם בWPF אתה יכול לעבוד בשיטת האיוונטים. כל מה שכתבת על winforms אתה יכול לכתוב גם בwpf. לאמר: mvvm הוא אפשרות, אבל לא חובה.

ועכשיו אפרט מעט מהמעלות שיש בבינדינג, ובכלל בmvvm.

1. קוד נקי.
ההפרדה בין הלוגיקה לבין הView הופכת את הקוד לברור וטוב.

2. מפשט את הפיתוח וגם מונע באגים
נניח שאתה מציג על המסך אובייקט Product. לפי השיטה הישנה, בעצם יש לך שני עותקים של פרודקט: האחד הוא האובייקט המקורי ששלפת מהדטהבייס, והשני הוא מה שהפקדים מציגים. אתה צריך לזכור כל הזמן לסנכרן בין שני האובייקטים.

למשל: המשתמש שינה את שם המוצר, ולחץ על "שמור". אתה צריך לכתוב קוד שמעתיק את כל הערכים מהפקדים, ורק אז שומר. לעומת זה, בMVVM, יש רק מופע אחד ויחיד ואתה לא צריך לנהל את הסנכרון. [אמנם צריך לזכור לכתוב בכל פרופרטי קריאה לאירוע PropertyChanged. זה אחד הדברים היחידים שקצת מעצבנים בMVVM]
מאותה סיבה בMVVM קל מאד להוסיף ממשקים של וולידציה, וגם לעשות Undo ועוד.

3. ומעל הכל Testability.
יוניט טסטים זו אחת המטרות העיקריות של MVVM. וזה אכן יתרון עצום ומכריע!
 
למעלה