ייעוץ - ui ל asp.net
-
המסמך המקורי כתוב ב C (יש גם גירסה ל Delphi)
ויש ספרייה ל C#
זה API גדול (2000 שורות קוד במסמך המקורי, כמה מאות פונקציות, אני משתמש ב 50 מתוכם).רגע, אולי אפשר לבנות שני חלקים, אחד מרכזי ב PHP ועוד אחד קטן ב ASP וישתפו ביניהם מידע באמצעות REST API, חלטורה?
ומה עם האפשרות הזאת?
כמו כן, האם יש הבדל בין UI שמחובר באופן ישיר, לבין UI שמחובר רק באמצעות REST API (מקווה שכתבתי נכון את השאלה :? ) לגבי binding וכדו'?
כל עזרה תתקבל בברכה
תודהפורסם במקור בפורום CODE613 ב16/03/2017 09:16 (+02:00)
-
אני חושב שדוטנט זה הכי טוב מכל בחינה כולל עלויות (עקיפות). אבל זו המלצת אחיתופל כשלא אתה המפתח כי אין לי מושג איך יהיו אנשי המקצוע שלך (כלומר מה יותר קל להשיג ומי מהם יותר מקצועי מול מחיר).
בקשר לגישת REST מול אתר קלאסי (זה לא משנה כלל השפה של צד השרת) אחדד את ההבדל:
בכל מקרה, הHTML הוא תוכן מת שמתעדכן ע"י תשובות מהשרת.
בגישת אתר רגיל - התצוגה היא המשב"ק של צד השרת, כלומר למתכנת יש דפוס פעולה שכאילו הHTML הוא חלק ממש מקוד הלוגיקה שבשרת.
אופי ההסתכלות הזו מביא לכך שכל פעולה שלך בתצוגה נעשית ע"י שאילתות די מאולתרות, והפידבק שלהם היחיד (הצלחה כישלון אימות תוצאה) זה תשובה של דף HTML מתאים שצד השרת יוצר - לרוב בצורה מאוד בלתי נפרדת מהמערכת ובצורה קשה לעריכה. גם במקרה של ajax זה די דומה.בגישת REST המפתח בכל צד (שרת/לקוח) מנותק לגמרי מהצד השני, ועובד בלי שום נגיעות ושיקולי עצלות או פשטות שמגיעים מהצד השני.
ההפרדה היא חזקה מאוד ומביאה לאיכות כוללת של כל האפליקציה (אף פעם אין תשובת HTML עם סטטוס 200 שמכילה את המילים הדף לא נמצא).
אתה יכול לפתח כל צד בלי להפיע על הצד השני או להשפיע עליו בצורה קלה בלי להפוך את העולם.
אפשר שזה יהיה מפתחים שונים לחלוטין ואפשר בו זמנית לפתח כמה צדדי לקוח לאותו צד שרת.מה עדיף? אני חושב שמיותר לומר.
פורסם במקור בפורום CODE613 ב16/03/2017 12:26 (+02:00)
-
@דוד ל.ט.
אני חושב שדוטנט זה הכי טוב מכל בחינה כולל עלויות (עקיפות)
תודה קודם כל, אבל איך אתה מסביר את עלויות השרת?
@דוד ל.ט.
בקשר לגישת REST מול אתר קלאסי
...
מה עדיף? אני חושב שמיותר לומר.סליחה על השאלה, בגישת REST הם יכולים להיות מאורחים בשרתים נפרדים, לדוגמא, צד שרת ASP בשרת ווינדוס, וצד לקוח אנגולר בשרת לינוקס?
ובאותו ענין, הם יכולים להיות מפותחים בסביבות עבודה שונות?
שאלה נוספת (מחוסר ידע גמור בנידון), מצאתי שני דוגמאות לASP עם אנגולר, ההבדל ביניהם הוא בעצם בגישות הנ"ל, בדוגמא הזאת משתמשים באתר קלאסי ובדוגמא הזאת בגישת REST? אם כן, למה בעצם לחבר אותם לפרוייקט אחד בגישת ה REST ולא לבנות את הצד לקוח בסביבת עבודה אחרת לגמרי או בפרוייקט אחר, האם בכל זאת יש גם בגישה הזאת איזשהו חיבור ביניהם?
ואיך יעבוד Binding בגישת REST? עם SignalR?תודה וסליחה על ההצפה <!-- s8-) --><img src="{SMILIES_PATH}/icon_cool.gif" alt="8-)" title="מגניב" /><!-- s8-) -->
פורסם במקור בפורום CODE613 ב16/03/2017 13:11 (+02:00)
-
סליחה על השאלה, בגישת REST הם יכולים להיות מאורחים בשרתים נפרדים, לדוגמא, צד שרת ASP בשרת ווינדוס, וצד לקוח אנגולר בשרת לינוקס?
ובאותו ענין, הם יכולים להיות מפותחים בסביבות עבודה שונות?הצד לקוח יכול להתארח גם בשרת סטטי כמו דרופבוקס, אין לו שום דרישות מצד השרת. תהיה לך רק בעיה לתקשר עם שרת מדומיין נפרד, שאפשר לפתור את זה עם headers מוגדרים בצד השרת. והם גם יכולים להתפתח בסביבות עבודה שונות
פורסם במקור בפורום CODE613 ב16/03/2017 14:31 (+02:00)
-
תודה קודם כל, אבל איך אתה מסביר את עלויות השרת?
מקרוסופט זה חברה. וחברה לא עובדת בחינם.
לינוקס זה סוג של בית התמחוי.- בגישת REST הם יכולים להיות מאורחים בשרתים נפרדים, לדוגמא, צד שרת ASP בשרת ווינדוס, וצד לקוח אנגולר בשרת לינוקס?
- ובאותו ענין, הם יכולים להיות מפותחים בסביבות עבודה שונות?
- שאלה נוספת (מחוסר ידע גמור בנידון), מצאתי שני דוגמאות לASP עם אנגולר, ההבדל ביניהם הוא בעצם בגישות הנ"ל, בדוגמא הזאת משתמשים באתר קלאסי ובדוגמא הזאת בגישת REST?
- אם כן, למה בעצם לחבר אותם לפרוייקט אחד בגישת ה REST ולא לבנות את הצד לקוח בסביבת עבודה אחרת לגמרי או בפרוייקט אחר, האם בכל זאת יש גם בגישה הזאת איזשהו חיבור ביניהם?
- ואיך יעבוד Binding בגישת REST?
- כן
- כן
- שניהם זה REST מנותק לגמרי רק במקרה השרת גם מייצר את התצוגות הסטטיות, יש לזה מעלות*.
- אפשר, אבל כנ"ל.
- לא ברור השאלה. binding בד"כ זה מושג שמתייחס מצד הלקוח לעצמו - מניה וביה, וזה לא משנה איך הצד לקוח עובד. איגוד שהדף נושם ומחובר לנתונים בצד שרת בצורה חיה מושג ע"י טכניקות שהצד השווה שלהם זה שימוש בHTTP. למשל WebSocket שבכל מקרה הדף יכול להשתמש בו.
- החיסרון הוא למקרים של מיקס: אתה גם בונה אתר ויזואלי שמתחבר לWEBAPI אבל גם רוצה לוגיקה בתוכן הסטטי.
למשל אם אתה רוצה שלא תהיה גישה למי שלא מאומת לתוכן הסטטי (לא רואה שום סיבה הגיונית לצורך זה אבל כנראה לפעמים זה קיים). פה בפורום למשל, באין לך הרשאות ניהול, לא רק שאתה לא יכול למחוק פוסטים של אחרים, אלא גם אתה לא יכול לתאר איך נראה הממשק של המנהל כי הדף שנוצר חסר את הרכיבים שיש למנהל. בהפרדת ממשק מלאה אי אפשר לעשות זאת - כי מנגנון האימות לא מונע גישה למקור הדפים הסטטיים, בם נמצאים כל רכיבי העיצוב, אלא שויזואלית בעזרת הJS מעצבים את הדף כמתאים להרשאה.
פורסם במקור בפורום CODE613 ב16/03/2017 14:41 (+02:00)
-
-
@דוד ל.ט.
- שניהם זה REST מנותק לגמרי רק במקרה השרת גם מייצר את התצוגות הסטטיות, יש לזה מעלות*.
באיזה מהם?
@דוד ל.ט.
מקרוסופט זה חברה. וחברה לא עובדת בחינם.
התכוונתי לשאול איך זה יוצא יותר זול למרות עלויות השרת הגבוהות?
@דוד ל.ט.
אבי כתב:
5. ואיך יעבוד Binding בגישת REST?- לא ברור השאלה. binding בד"כ זה מושג שמתייחס מצד הלקוח לעצמו - מניה וביה, וזה לא משנה איך הצד לקוח עובד. איגוד שהדף נושם ומחובר לנתונים בצד שרת בצורה חיה מושג ע"י טכניקות שהצד השווה שלהם זה שימוש בHTTP. למשל WebSocket שבכל מקרה הדף יכול להשתמש בו.
signalR הוא הכוכב?
פורסם במקור בפורום CODE613 ב16/03/2017 14:56 (+02:00)
-
דוד, לא מסכים איתך על הקביעה לגבי לינוקס.
לינוקס כבר ממזמן לא בית תמחוי.
ומייקרוסופט תוכיח.
היחס שלה ממש ממש השתנה כלפי לינוקס.רק זה שיש כיום דוטנט + sql server ושאר ירקות ללינוקס מוכיחים את זה.
התכוונתי למה זה בחינם, לא באתי לזלזל. בית התמחוי זה מקום שאוכלים בחינם והוא חי מתרומות...
את היחס של מקרוסופט ללינוקס אני רואה שהיא כבר לא מפחדת ממנו, וממילא היא משתלטת גם על השוק הזה.פורסם במקור בפורום CODE613 ב16/03/2017 15:30 (+02:00)
-
דוד ל.ט. כתב:
למשל אם אתה רוצה שלא תהיה גישה למי שלא מאומת לתוכן הסטטי (לא רואה שום סיבה הגיונית לצורך זה אבל כנראה לפעמים זה קיים). פה בפורום למשל, באין לך הרשאות ניהול, לא רק שאתה לא יכול למחוק פוסטים של אחרים, אלא גם אתה לא יכול לתאר איך נראה הממשק של המנהל כי הדף שנוצר חסר את הרכיבים שיש למנהל. בהפרדת ממשק מלאה אי אפשר לעשות זאת - כי מנגנון האימות לא מונע גישה למקור הדפים הסטטיים, בם נמצאים כל רכיבי העיצוב, אלא שויזואלית בעזרת הJS מעצבים את הדף כמתאים להרשאה.הסבר יפה, נראה לי שבכל אתר קצת דינמי צריך את זה, אחרת כולם יהיו מנהלים.. לא?
אשמח להבין איך זה עובד, אם הם מנותקים לגמרי, המשתמש מכניס שם וסיסמא, הצד לקוח שולח REST API לשרת, הוא בודק מה שבודק ומחזיר HTML לפי הענין כתגובה לבקשה? כמו PHP?פורסם במקור בפורום CODE613 ב16/03/2017 18:55 (+02:00)
-
דוד ל.ט. כתב:
למשל אם אתה רוצה שלא תהיה גישה למי שלא מאומת לתוכן הסטטי (לא רואה שום סיבה הגיונית לצורך זה אבל כנראה לפעמים זה קיים). פה בפורום למשל, באין לך הרשאות ניהול, לא רק שאתה לא יכול למחוק פוסטים של אחרים, אלא גם אתה לא יכול לתאר איך נראה הממשק של המנהל כי הדף שנוצר חסר את הרכיבים שיש למנהל. בהפרדת ממשק מלאה אי אפשר לעשות זאת - כי מנגנון האימות לא מונע גישה למקור הדפים הסטטיים, בם נמצאים כל רכיבי העיצוב, אלא שויזואלית בעזרת הJS מעצבים את הדף כמתאים להרשאה.
הסבר יפה, נראה לי שבכל אתר קצת דינמי צריך את זה, אחרת כולם יהיו מנהלים.. לא?
זה לא הופך אותך למנהל, רק תוכל לראות איך נראה הדף של המנהלים, אבל אם תנסה לעשות פעולות אז תחסם מהשרת.
אשמח להבין איך זה עובד, אם הם מנותקים לגמרי, המשתמש מכניס שם וסיסמא, הצד לקוח שולח REST API לשרת, הוא בודק מה שבודק ומחזיר HTML לפי הענין כתגובה לבקשה? כמו PHP?
השרת לא שולח HTML אלא שולח נתונים בפורמט כמו JSON והדפדפן מנתח את זה ובונה מזה HTML
פורסם במקור בפורום CODE613 ב16/03/2017 20:36 (+02:00)
-
השרת לא שולח HTML אלא שולח נתונים בפורמט כמו JSON והדפדפן מנתח את זה ובונה מזה HTML
סליחה על הבורות, ניקח דוגמא פשוטה של חיבור עם שם וסיסמא, מה קורה מאחרוי הקלעים, השרת מקבל את השם והסיסמא בודק ב DB ומוצא שהכל תקין ומחזיר OK, מה קורה הלאה, צריך כאן איזשהו לוגיקה קטנה (משהו כמו PHP ) שתקבל את התשובה ותפעל בהתאם, זה כתוב בJS על הדף?
אז הכל גלוי?פורסם במקור בפורום CODE613 ב16/03/2017 20:48 (+02:00)
-
@avraham
השרת לא שולח HTML אלא שולח נתונים בפורמט כמו JSON והדפדפן מנתח את זה ובונה מזה HTMLסליחה על הבורות, ניקח דוגמא פשוטה של חיבור עם שם וסיסמא, מה קורה מאחרוי הקלעים, השרת מקבל את השם והסיסמא בודק ב DB ומוצא שהכל תקין ומחזיר OK, מה קורה הלאה, צריך כאן איזשהו לוגיקה קטנה (משהו כמו PHP ) שתקבל את התשובה ותפעל בהתאם, זה כתוב בJS על הדף?
אז הכל גלוי?תראה דוגמא
https://jsfiddle.net/Lh2rzn0u/
השרת שלח מחרוזת בפורמט JSON, הלקוח עיבד אותה למערך של אובקייטים, ועבר על המערך ובנה HTML לפי המערך הזה, לא היה שום HTML מצד שרת.
אז גם אם השרת לא יחזיר את הנתונים, אתה יכול להבין איך זה אמור להיראות, שיש h1 שמכיל ID ושם, אבל לא תדע מה הID ומה השםפורסם במקור בפורום CODE613 ב16/03/2017 20:51 (+02:00)
-
תראה דוגמא
https://jsfiddle.net/Lh2rzn0u/
השרת שלח מחרוזת בפורמט JSON, הלקוח עיבד אותה למערך של אובקייטים, ועבר על המערך ובנה HTML לפי המערך הזה, לא היה שום HTML מצד שרת.
אז גם אם השרת לא יחזיר את הנתונים, אתה יכול להבין איך זה אמור להיראות, שיש h1 שמכיל ID ושם, אבל לא תדע מה הID ומה השםכנראה לא שאלתי נכון.. תודה בכל אופן, אחפש מדריך מסודר ללמוד את הנושא.
מה החברה המיוחדת הזאת שיש לה רק DDL בדוטנט.
ספר לנו. אולי נוכל למצוא לך חברה אחרת.תודה, אבל אני צריך דווקא את החברה הזאת.
פורסם במקור בפורום CODE613 ב19/03/2017 09:35 (+02:00)