ASP.Net נגד Window Forms

אל תשאל

New member
ASP.Net נגד Window Forms

מישהו יכול לסכם לי בבקשה, בקצרה ובעברית, מה היתרונות לפיתוח ב ASP.Net לעומת Windows Forms, ולהיפך ? ככל הידוע לי, היתרון בפיתוח ב ASP.Net הוא יכולת ההפצה המהירה והקלה של האפליקציה, כל אשר צריך הוא רק דפדפן ולינק לאפליקציה. לעומת זאת, ב Windows Forms בפיתוח הוא מקומי, ולאחר שכתבתי את האפליקציה, אני צריך להתקין אותה על כל מחשב ומחשב היתרון של Windows Forms הוא שיש לו GUI עשיר יותר. 1. במה שונה מודל ה Windows Forms מבחינת ההפצה של האפליקציה, למודל ה Client-Server הישן, המצריך התקנה בכל תחנה ותחנה ? 2. במה בדיוק בא לידי ביטוי ה GUI העשיר יותר של Window Forms לעומת ASP.Net ? 3. אשמח לקרוא על הבדלים נוספים
 

gilad g

New member
המממ

1. גם ב-WinForms אתה צריך להתקין את האפליקצייה על כל תחנה ותחנה. אפשר לומר שאין הבדל
2. ב-Windows Forms הפקדים שלך מגיבים יותר למשתמש, יש לך יכולת יותר גבוהה לכתוב קוד חזק יותר בלקוח (גישה לקבצים, מוזיקה, פתיחת פורטים, וכו'). לא שב-asp.net היא לא קיימת, אבל ב-asp.net היא מוגבלת, כי להזכירך, אנחנו עובדים מול האינטרנט, ולא היינו רוצים שכל אתר מזדמן היה מחטט לנו בקבצים, פותח פורטים, וכו'. ה-GUI נכנס לעסק בזה שהפקדים ב-Windows Forms הם עשירים יותר (ה-DataGrid ב-Winforms לדוגמא, הוא בעל יכולת רבה יותר ממקבילו ב-asp.net), והאפליקציה מגיבה מהר יותר - אין צורך לחכות לפוסטבקים, ואין צורך לכתוב קוד Javascript עקום. כמו"כ, ב-windows forms אתה מתכנת ממש תוכנה שתופסת process על הלקוח, ואילו ב-asp.net אתה מתכנת אתר, שיושב על שרת, וכל צד הלקוח שיהיה בו הוא ב-Javascript שרץ תחת חסותו של הדפדפן.
 

אל תשאל

New member
לא הבנתי...(כולם מוזמנים לענות ../images/Emo13.gif)

1. "גם ב-WinForms אתה צריך להתקין את האפליקצייה על כל תחנה ותחנה" לא הבנתי את המשפט... ככל הידוע לי, רק ב WinForms אתה צריך להתקין את האפליקציה על כל תחנה ותחנה, ב (WebForms (ASP.Net - אתה לא צריך, מכיוון שהגישה היא דרך הדפדפן. (אפליקציה הכוונה למערכת שכתבת, לא ל פריימוורק...) איפה טעיתי ? 2. מה הכוונה שב Windows Forms הפקדים "מגיבים יותר למשתמש" ? 3. יש לך עוד דוגמאות בבקשה ל "קוד חזק יותר" ? (כמו גישה לקבצים, מוזיקה, תיחת פורטים וכו') 4. יש אולי עוד דוגמאות לפקדים "עשירים יותר" פרט ל DataGrid ? 5. למתכנת מנוסה ב ASP.Net שכותב ב #C, אמורה להיות בעיה לעבור ל WindowsForms ? מה הוא יצטרך ללמוד ע"מ לעשות זאת ? 6. ולהיפך ? מקווה שלא נבהלת מכל השאלות
תודה רבה
 

nattygur

New member
כך

WinForms מספקים לך אפשרויות ליצור אפליקציות בצורה קלה יותר (בעיקר בשל שהם מקומיות ו StateFull) בעבר הם דרשו הפצה מורכבת לכל תחנה אבל כיום בעזרת SmartClient ניתן להפיץ אפליקציות לתחנה ע"י הקשה על קישור באפליקציה WEB. היכולת של Smart client היא למעשה מעין גרסה מוקדמת של מנגנון הפצה בשם ClickOnce אשר יופץ עם הגרסה הבאה של .NET. מכיוון שנתוני המערכת צריכים להיות משותפים בין המשתמשים הם בדרך כלל נמצאים במקום מרכזי וכך גם הקוד אשר אחראי להבאתם. WebForm קשים יותר לפיתוח בשל אופיו ה StateLess של ה WEB. הם גם הרבה יותר עניים ביכולות הויזואליות שלהם. מוגבלים ל HTML שהדפדפן מכיר. מאידך גיסה הם מאפשרים לכל משתמש אשר משתמש בכל מערכת הפעלה לעבוד עם הנתונים שלך ללא הפצה. הכי חשוב ,לעניות דעתי, הינה ראיה של קישוריות בין מערכות ובראיה זאת הם הכלי הנוח ביותר להשיג קישוריות בכל השכבות האפליקטיביות.
 

אל תשאל

New member
מה זה בדיוק ה SmartClient הזה ?

וכיצד הוא מאפשר לי הפצה נוחה של WinForms ?
 

אל תשאל

New member
../images/Emo41.gif../images/Emo41.gif נתי... ../images/Emo41.gif סיכום ../images/Emo41.gif../images/Emo41.gif../images/Emo41.gif

בוא נרא אם הבנתי
עד כה, היו 2 גישות :
גישת ה Web / Think Client האפליקציה/אתר יושב על שרת ה Web, וכל בעל הרשאה מתאימה יכול לפתוח דפדפן ולהכנס לאפליקציה - לא נדרשה שום התקנה על הקליינט. היתרונות ברורים, הפצה מהירה וריכוזית של עדכונים, ואין צורך בתחזוקה של כל תחנה. החסרונות - GUI דל יחסית (HTML) ואיטיות יחסית (עבודה מול שרת מרוחק ואיטיות הרשת)
גישת ה Client-Server האפליקציה היא בעצם אוסף של קבצים, שאותם צריך להתקין על כל תחנה ותחנה. יתרונות - GUI עשיר, מהירות תגובה טובה (ביצועים) של האפליקציה חסרונות - הפצה ועדכונים הופכים קשים, צריך לטפל ולהתקין על כל תחנה ותחנה.
גישת ה Smart-Client פיתוח WinForms עשירים ב GUI עם זמני תגובה טובים, אפשרות שימוש ב WebServices שברשת עדכון והפצה ממקום ריכוזי, לכל התחנות, ללא צורך לעבור פיזית מתחנה לתחנה אפשרות אגירת מידע, עבודה ללא חיבור לרשת, ועדכון השרת המרכזי אוחר יותר, כשהחיבור לרשת יהיה נגיש (רלוונטי במיוחד ל PDA's) פיספסתי משהו בכל אחת מהגישות ?
 

nattygur

New member
לא, אבל תחשוב איך כל

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

אל תשאל

New member
../images/Emo35.gif תודה ../images/Emo70.gif אבל ב SmartClients

אפשר לגשת ל Webervices, כך שזה לא ממש מנותק וחסר תקשורת עם מערכות אחרות... לא ? ושאלה נוספתלגבי ריכוזיות העדכון וההפצה של Window Forms - האם זה משהו חדש ? מכיוון שלמיטב זכרוני, גם בתצורות ה Client-Server הישנים, מנהלי המערכת יכלולהשתמש על כך התחנות מרחוק, ולהתקין עליהם מבלי להגיע אליהם פיזית. מה חדש כאן ?
 

nattygur

New member
לא ממש מנותק אבל

אם יש צורך בשיתוף של ממשק למשתמש כמו הצגת Link analysis יש בעיה. מה שחדש כאן שהדפדפן הוא CLR HOST וככזה לא צריך השתלטות מרחוק אלה רק לחיצה של המשתמש על לינק שגורם להורדת Sream לדפדפן בתחנה אשר מריץ את האפליקציה.
 

אל תשאל

New member
../images/Emo128.gif כיצד להתחיל ללמוד Win Forms ?

מעוניין להתחיל ללמוד לפתח אפליקציות חלונאיות בדוט נט (Window Forms). הבסיס הוא #C, למדתי אותו מההמלה של הפורום corner.co.il האם החומר שיש שם מספיק, או שהוא בסיסי מידי, ולמרות שקראתי הכל - עדיין חסר לי ידע ב #C ? מה ההמשך ? כיצד כעת אני ממשיך לצלול וללמוד את עולם ה Win Forms ?
 

אל תשאל

New member
../images/Emo26.gif שאלות : ../images/Emo36.gif

תודה
1. לקוח שצריך להריץ EXE של WinForm צריך שהפריים וורק יהיה מותקן לו על המחשב ? 2. מה הכוונה שב Windows Forms הפקדים "מגיבים יותר למשתמש" ? 3. יש לך עוד דוגמאות בבקשה ל "קוד חזק יותר" ? (כמו גישה לקבצים, מוזיקה, תיחת פורטים וכו') 4. יש אולי עוד דוגמאות לפקדים "עשירים יותר" פרט ל DataGrid ? 5. למתכנת מנוסה ב ASP.Net שכותב ב #C, אמורה להיות בעיה לעבור ל WindowsForms ? מה הוא יצטרך ללמוד ע"מ לעשות זאת ? 6. ולהיפך ?
 

adam222

New member
|סיגריה| תרגע

1. כן 3. יש מגבלות אבטחה בגישה של אפליקציית WEB לקבצים ופורטים שאינה חלה על אפליקציית WIN 4. TabControl... למשל! 5. לא, ממש מעט (יום-יומיים גג)
 

ido77

New member
לדעתי המעבר לא מאוד קשה

מבחינה זו, שלא נדרשות מהמתכנת יכולות גבוהות יותר מאשר בתכנות web, כך שמעבר כזה הוא שאלה של זמן בלבד. אבל, קיים הבדל לא קטן בדרך החשיבה בפיתוח web לעומת windows form. בנוסף, במעבר כזה יש צורך ב"השלמות" רבות. לסיכום מעבר בין שני סוגי התכנות הנ"ל הוא אפשרי ואף לא קשה מדי אבל אינו מיידי. כמובן שההתיחסות פה היא כללית ביותר, שכן לדוגמה, אפשר לתכנת המון סוגים של אפליקציות תחת הכותרת "windows forms"... לטעמי, ואני מניח שקל מאוד לחלוק עלי בנושא זה, תכנות windows forms ב net. דורש יותר ידע ב framework.
 

adam222

New member
חולק במקצת ../images/Emo3.gif

לא ב-framework אלא יותר בתפיסת צד-שרת אל מול צד-לקוח
 
למעלה