-
@OdedDvir בfronted יש לך את הדפדפן שהוא יודע להציג UI ע"פ האלמנטים שנכתבים בHTML. את העיצוב של האלמנטים כותבים בשפה שנקראת CSS, וכך הוא יודע באיזה צבע/גודל/אנימציות וכו' להציג את האלמנטים הללו.
על גבי זה מתווספת שפת JS שהיא בעצם יכולה להוסיף חיים לכל האלמנטים הסטטיים, אתה יכול להאזין לאירועים בדפדפן ולהגיב להם (למשל אם אדם לחץ על כפתור מסוים - תעשה כך וכך וכן על זה הדרך), אתה יכול לשנות את הדום (האובייקט הבסיסי של כל האלמנטים שמוצגים בדפדפן), להוסיף אלמנטים, להחסיר וכו'. מה שבעצם מאפשר ליצור אפליקציות לכל דבר וענין על גבי הדפדפן (ולא רק דפים סטטיים שמתקבלים מהשרת, כפי שהיה פעם. בד"כ זה נקרא SPA - single page application דהיינו שהלקוח מקבל דף יחיד, וכל השינויים שהוא רואה בדף נעשים בקליינט, והגישה לשרת היא רק למשוך מידע. ולשם כך פותחו ספריות כמו אנגולר /ריאקט/ ויו וכדו'.)
לכן לפיתוח ווב - חיוני להבין את התגיות של ההטמל, להבין איך כותבים את העיצוב בCSS, והעיקר להבין JS, כדי שתוכל לכתוב את הקוד.
לדפדפן יש מנוע שיודע להריץ את הקוד, (בשונה מC# וC++ ) שקודם כל מקמפלים אותם, בדפדפן אתה שולח קובץ סקריפט (קוד שכתוב כמו כל מסמך טקסט אחר, והדפדפן בעצם מקמפל אותו ומריץ אותו תוך כדי תנועה.
כל זה בערך, כדי לתת לך קצת רקע, עכשיו אתה צריך ללכת וללמוד כל דבר בצורה יותר יסודית. -
לגבי תקשורת עם DB, אתה עושה שאילתות לשרת כדי לקבל ממנו נתונים שאתה רוצה להציג למשתמש, ולשלוח לו עדכונים של מידע מהמשתמש.
לצורך זה המציאו את הAJAX, והיום יש לזה מעטפות בכל הספריות הללו שמפשטות מאד את השימוש בזה, אתה יכול לכתוב שורת קוד אחת שבה אתה בעצם מבצע שאילתה לשרת עם עדכון או קבלת מידע.
כמו כן, ישנה אפשרות לשמור מידע לוקלית בדפדפן - אבל זה לא כ"כ מומלץ בד"כ - כי המשתמש יכול למחוק את זה.. (אם כי הרבה פעמים זה נצרך לכל מיני דברים, כמו שמירת קאש וכדו'). -
@OdedDvir אמר בUpScaling לבסיס נתונים של Access:
הייתי שמח מאד לשמוע כיצד מישהו עשה את התהליך בפועל, או לחילופין ניסה והחליט כי הגישה הנכונה היא לכתוב הכל מהתחלה, בכלים יותר עדכניים.
@avr416 אמר בUpScaling לבסיס נתונים של Access:
דבר נוסף, למיטב זכרוני, @clickone בעבר הביא כאן פתרון להזרמת אקסס לווב.. אולי הוא יוכל לעזור לך. (אם כי, בכל מקרה אני ממליץ לך להתקדם).
כל הכלים הקיימים הם רק אופציות לשיתוף האקסס על גבי שרת על מנת לאפשר גישה דרך אינטרנטית בדומה לווב, אין אפשרות המרה אמיתית לווב (אלא אם כן מדובר בתוכנה קטנה ובסיסית שכמדומני יש אפשרות להעביר אותה ל Access Web Apps).
אם הצורך שלך הוא גישה אינטרנטית, אתה יכול להשאר באקסס ולהשתמש עם אחת האופציות המומלצות שנקראת TSPLUS, בדוק על זה עם @clickone, אם אתה רוצה להפוך את זה לאפליקציה וובית אמיתית תצטרך לעשות הכל מחדש. -
קשה לי להגיב כי מעולם לא עמדתי באמת בעצמי בכזו עבודה.
אתה צריך להשתלם בשתי פלטפורמות לפחות, צד שרת וצד לקוח (בין אם זה WEB ובין אם זה שולחני),
ולעבוד קשה לכתוב הרבה קוד, ולוותר על הרבה נוחות שהייתה בטפסי האקסס.
יש את המערכות המוכנות שבהם יש קצת אוטומציה כמו הסרניטי ש@clickone ממליץ עליה, אבל אני לא לגמרי בעד. -
@dovid אישית אני נוטה יותר לכיוון של פיתוח מערכת שולחנית, כי אני מאוד רוצה לעבוד עם C# ודיי חושש מלהתחיל ללמוד JavaScript... החלום שלי הוא לפתח את הFE בC#, את הטפסים בסביבת VisualStudio מבחינתי WinForms נותן לי פונקצונאליות מספקת לממשק שנדרש, להעביר את הנתונים שלי לSQL-Server' ולבצע קריאות לבסיס הנתונים בweb ישירות מהקוד. האם זוהי גישה מיושנת מידי? האם אני אהיה מוכרח ללמוד JS?
-
כאחד שעבר (ועובר כל יום) את השלבים שהזכרת, אני חושב שכדאי שתמקד קודם למה אתה רוצה לעזוב כעת את אקסס.
ווב זה תמיד טוב ללמוד, אבל ייתכן שלצרכים מאד ספציפיים הייתי אומר לך להישאר באקסס ולא לעבור.בעיקר מה שאתה צריך להפנים במעבר מאקסס לכל דבר אחר, ובעיקר מאקססס לווב, שאסור לך לחשוב איך היית מממש את הפרט הזה באקסס, ואז לנסות ללכת עם הראש הזה לווב.
את חייב להכניס לראש לך שבווב הכל מתנהל אחרת ושונה. (לא שזה נורא )לגבי סרניטי זה היה משהו שניסיתי אותו בעבר והיה נראה לי טוב, היום אני לא כותב כמעט על סרניטי, אבל @www כותב ומן הסתם יוכל לשתף אותנו בתובנות שלו.
סרניטי לדעתי דיי קרוב לאקסס מבחינת חשיבה, אבל עדיין תצטרך לחשוב אחרת ממה שהיית רגיל, כי האקסס ניהל בשבילך המון דברים שכעת תצטרך לנהל אחרת.מבחינת הקוד שכתבת שיש בטפסים אצלך, מה הסגנון שלו?
פתח טופס, סגור, סנן וכו'?
או יש גם לוגיקה כבדה יותר?וכמובן, הגעת למקום הנכון, על מה שלא תלך, תגלה שכאן יש מי שיעזור לך בשמחה ( @dovid הענק )
-
אני מנחש שזה בגלל שהממשק הגרפי יותר מתקדם מבחינת יכולות? לפי הבנתי WPF עובד יותר בכיוון של XAML האם אני חוזר לכתיבת תגיות וקוד כדי לעצב את הטופס (זה מזכיר לי נשכחות כשכתבו דפי web בעורך טקסט) או שישנה סביבה נוחה לפיתוח טפסים בWPF בדומה לעורך הטפסים של WinForms הקיים בVisualStudio? ברור לי שאת הפונקצונאליות אני אצטרך לקודד בעצמי.
-
@OdedDvir מה שיש בWinForms יש גם בWPF.
אתה יכול לבחור פקד בסרגל הכלים ולשרטט אותו על גבי המסך.
אלא שכל מה שאתה עושה "מתועד" בצורה "הצהרתית" בוריאציה של XML שקרויה XAML (נהגה כ"זאמל").
כמובן שאפשר ישר לשנות בקוד, ולצפות בשינויים, אבל גם ניתן ע"י גרירה ושחרור ופועולות עכבר לשנות ישירות בתצוגת הטופס.
הסביבה הזו טובה לאין ערוך מWinForms בכל פרמטר אפשרי כמעט. -
@clickone הסיבה שאני רוצה לעבור לweb זה דרישת הלקוחות שלי (שעובדים עם התוכנה מזה כשנתיים) לאפשר גישה לתוכנה גם לאנשי קשר שלהם בחוץ-לארץ. חשוב שהגישה שלהם תהיה קודם כל נוחה, ושלא תצריך לימוד מחדש של כל הממשק.
הקוד של התוכנה ברובו די פשוט, יש מעט חלקים של מניפולציה של פקדים (בעיקר נעילה או הסתרה), יש חלק מסויים של יצירת שאילתות על ידי VBA. יש המרה של תאריך לועזי לעברי אבל בגדול זה לא בשמים.
הלוגיקה הכבדה ביותר היא במודול של קליטת נתונים מקובץ אקסל חיצוני. יש לבצע בדיקות של תקינות הנתונים, ולהריץ כמה שאילתות מורכבות, ליצור טבלאות חדשות בבסיס הנתונים שישמרו עותק של כל הרשומות שנקלטו עם תוצאת היבוא.
ולגבי מה שכתבת על כך שהגעתי למקום הנכון - אני בהחלט מרגיש ככה לאור הנכונות של כולם לעזור ולתרום! -
@OdedDvir אמר בUpScaling לבסיס נתונים של Access:
לאפשר גישה לתוכנה גם לאנשי קשר שלהם בחוץ-לארץ
מה אנשי הקשר צריכים? גישה לכלל הממשק?
אם הם לא צריכים גישה להכל, הייתי בשלב ראשון מעביר את הטבלאות לSQL SERVER ומחבר אותם לאקסס עם ODBC, ובונה בשבילם רק את הטפסים שהם צריכים.@OdedDvir אמר בUpScaling לבסיס נתונים של Access:
יש מעט חלקים של מניפולציה של פקדים (בעיקר נעילה או הסתרה),
קח בחשבון שבווב אתה לא יכול להסתמך על נעילת / הסתרת פקדים, כי כל אחד יכול פשוט ללחוץ קליק ימני, בדוק, ולשחרר / להציג את הפקד.
לגבי שאר הדברים הייתי ממש הולך על C# בלוגיקה,
ועל אנגולר + ASP MVC + JSON בצד הלקוחאולי יהיה לך יותר קל שצד הלקוח יהיה asp web forms אבל זה מלכודת דבש
-
@OdedDvir אמר בUpScaling לבסיס נתונים של Access:
הסיבה שאני רוצה לעבור לweb זה דרישת הלקוחות שלי (שעובדים עם התוכנה מזה כשנתיים) לאפשר גישה לתוכנה גם לאנשי קשר שלהם בחוץ-לארץ.
אם זו הסיבה, אתה לא צריך לכתוב הכל מחדש, יש כמה פתרונות כדי לשתף את התוכנה שיוכלו לעבוד על זה מכל מקום כאילו היה אפליקציה וובית.
-
@clickone אמר בUpScaling לבסיס נתונים של Access:
@OdedDvir אמר בUpScaling לבסיס נתונים של Access:
לאפשר גישה לתוכנה גם לאנשי קשר שלהם בחוץ-לארץ
מה אנשי הקשר צריכים? גישה לכלל הממשק?
אם הם לא צריכים גישה להכל, הייתי בשלב ראשון מעביר את הטבלאות לSQL SERVER ומחבר אותם לאקסס עם ODBC, ובונה בשבילם רק את הטפסים שהם צריכים.זה באמת רעיון מצוין לאפשר להם רק FE מותאם לדרישותיהם. וזה כנראה השלב הראשון שאני מעוניין בו. אבל לא הבנתי היכן ישב שרת ה-SQL? אם בווב אז ממילא גם למשתמשים כאן יש צורך לקשר את הטבלאות בODBC ולכתוב מחדש ואז כבר אפשר לתת גם לאלו שבחו"ל את אותו FE, לא?
@OdedDvir אמר בUpScaling לבסיס נתונים של Access:
יש מעט חלקים של מניפולציה של פקדים (בעיקר נעילה או הסתרה),
קח בחשבון שבווב אתה לא יכול להסתמך על נעילת / הסתרת פקדים, כי כל אחד יכול פשוט ללחוץ קליק ימני, בדוק, ולשחרר / להציג את הפקד.
לגבי שאר הדברים הייתי ממש הולך על C# בלוגיקה,
ועל אנגולר + ASP MVC + JSON בצד הלקוחזה מה שרציתי לדעת, אילו טכנולוגיות כדאי ללמוד!
אולי יהיה לך יותר קל שצד הלקוח יהיה asp web forms אבל זה מלכודת דבש
לא הבנתי מה הפירוש...
-
@אבי אמר בUpScaling לבסיס נתונים של Access:
@OdedDvir אמר בUpScaling לבסיס נתונים של Access:
הסיבה שאני רוצה לעבור לweb זה דרישת הלקוחות שלי (שעובדים עם התוכנה מזה כשנתיים) לאפשר גישה לתוכנה גם לאנשי קשר שלהם בחוץ-לארץ.
אם זו הסיבה, אתה לא צריך לכתוב הכל מחדש, יש כמה פתרונות כדי לשתף את התוכנה שיוכלו לעבוד על זה מכל מקום כאילו היה אפליקציה וובית.
אשמח אם תוכל לספק יותר מידע על כך, אתה מתכוון לשליטה מרחוק כמו TeamViewer? כי אני לא מעונין לתת גישה לכל המחשב המארח...
-
@OdedDvir אני עונה לך על השאלות ששאלת פה: מדריך FullStack לפיתוח אפליקציה בסיסית ביותר (בכונה אני לא עונה שם).
ראשית איך עושים לשים מסד במקום נגיש למחשבים מרוחקים
גם במחשב שלך ניתן לארגן שיהיה נגיש מכל מקום, אבל זה פחות נוח. לכן משתמשים בדרך כלל בשרת. אין הבדל בין המחשב שלך לבין "שרת" שזה פשוט מחשב אחר, אלא שבד"כ הוא ייעודי לתת זירותי רשת ולא משמש כתחנת עבודה למשתמש רגיל.
התכונות הדרושות ממחשב שצריך לתת נתונים או כל שירות אחר ברחבי הרשת הם שיהיה פעיל 24 שעות, עם חיבור חשמל ורשת יציבים ובטוחים, כתובת IP חיצונית פרטית וקבועה. בשביל התוכנות האלה מקובל לשכור מחברת ענן "שרת".
יש שתי סוגים של שרתים: שרת ויטואלי (VPS) שזה בעצם מחשב מדומה-וירטואלי (כלומר יש מחשב פיזי שרצה עליו תוכנה שמדמה הרבה מחשבים קטנים שאחד מהם מושכר על ידך), ושרת ייעודי (Dedicated) שזה שאתה שוכר ממש מחשב פיזי מלא.
(יש גם אפשרות של אירוח אתרים שיתופי שאין לך שום מחשב אלא רק פאנל אינטרנטי שבו אתה יכול להקים שירותים כמו SQL SERVER אבל בד"כ זה יוצא יקר ביחס של תשלום/תמורה).
כעת יש גם מערכות הפעלה, משפחת הLINUX שרובה חינמית וממילא המחיר יותר זול, ממשפחת הWindows שעולה לחודש וזה מתגלגל על השוכר.
אחרי שיש לך מחשב מרוחק אתה מתחבר אליו מרחוק. אם זה Windows אז הדרך המקובלת זה RDP (שולחן עבודה מרוחק) עם שם וסיסמה, זה מראה לך ממש גרפית שולחן עבודה של Windows של המחשב המרוחק. שים לב שהאינטרנט שם לא מסונן כלל (ניתן להתקין שמה VPN של נטפרי בתצורת openVpn, זה עובד מעולה).
אם זה מחשב של LINUX הדרך המקובלת להתחבר היא SSH שזה פרוטוקול התחברות מרחוק שתומך במסוף שורת פקודה והעברת קבצים. גם בSSH מתחברים ע"י שם וסיסמה (או מפתח פרטי/ציבורי) שלרוב ניתנו ע"י חברת האירוח שרתים, או שנבחר על ידך באשף ההתקנה הראשוני שלאחר הקניה.
לתכונת המסד נתונים SQL SERVER מקובל לקרוא "שרת SQL SERVER" ופה המילה שרת הולכת על התוכנה, לא על המחשב. בשביל להיות יכול לגשת מרחוק לשרת SQL יש לאפשר לו חיבור TCP/IP, לפתוח בחומת אש את הפורטים 1433-1434, וכמובן לקבוע סיסמה למשתמש מסויים במסד ואז אפשר להתחבר מכל מחשב בעולם.
בשביל להריץ את sql server כיום לא צריך שרת עם מערכת הפעלה של Windows, אפשר להשתמש בLINUX, זה בחירה שלך.בשביל להתחיל, אתה לא צריך לשכור שרת וכו'. תחשוב שהמחשב שלך הוא השרת כי בסופו של דבר השרת זה סתם "עוד איזה מחשב".
בקשר למדריך Full Stack אני מוכן לכתוב אבל בקצב של פוסט שתיים ביום וזה אומר שייקח שבועות עד שהוא יהיה באמת Full.
השאלה אם זה עדיין שימושי בשבילך.