-
@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.
השאלה אם זה עדיין שימושי בשבילך. -
@dovid תודה על המענה המפורט, קראתי את דבריך בצמא רב.
יש לי כמה שאלות:-
אם אני שוכר שרת שמספק שרותי MSSQL, מאי נפקא מינה איזו מערכת הפעלה הוא מריץ, האם אני לא מנהל רק את בסיס הנתונים דרך ServerManagement? האם הכוונה היא כאשר התוכנה שלי רוצה שירותי אחסון קבצים נוספים חוץ מבסיס הנתונים וכו'?
אחרי הכל אני רוצה שלמשתמשים הקצה תהיה גישה לנתונים ותו לא. -
אחרי שיש לי מחשב מרוחק - אני מתקין עליו SQLServer? פותח פורטים וכו'? חשבתי שאני מקבל הכל מוכן וסיסמת Admin לdb ויכולת ליצור בdb עוד משתמשים (בדומה לשרת SQLServer שיש לי לוקלית)
-
בקשר למדריך Full Stack - אני מאוד מאוד מעונין. זה וודאי שימושי בשבילי לעתיד, כשארצה לשדרג את התוכנות שלי שכיום הן באקסס.
תודה מראש
-
-
@OdedDvir נתחיל מ2:
- אחרי שיש לי מחשב מרוחק - אני מתקין עליו SQLServer? פותח פורטים וכו'? חשבתי שאני מקבל הכל מוכן וסיסמת Admin לdb ויכולת ליצור בdb עוד משתמשים (בדומה לשרת SQLServer שיש לי לוקלית)
זה מחשב שלך לכל דבר, ואין בו כלום חוץ מהמערכת הפעלה שבחרת.
(אמנם אפשר לשכור ישירות שירות של SQL SERVER, וזה בלי רשת אלא רק את השירות הזה ובדרך כלל זה בא עם עוד כמה שירותים, אבל כפי שכתבתי בדרך כלל זה עולה יותר ביחס לתמורה. קוראים לזה managed hosting או אירוח אתרים).
ממילא, יש לך נפק"מ איזה מערכת הפעלה הוא מריץ ואתה צריך לעשות הכל בעשר אצבעות בדיוק כמו במחשב האישי שלך.בקשר למדריך אני בל"נ יתחיל לכתוב ואעדכן אותך פה.
-
@OdedDvir אמר בUpScaling לבסיס נתונים של Access:
בקשר למדריך Full Stack - אני מאוד מאוד מעונין. זה וודאי שימושי בשבילי לעתיד
@dovid אמר בUpScaling לבסיס נתונים של Access:
בקשר למדריך אני בל"נ יתחיל לכתוב ואעדכן אותך פה.
גם אני מחכה בצמאון.
-
@dovid אמר בUpScaling לבסיס נתונים של Access:
(אמנם אפשר לשכור ישירות שירות של SQL SERVER, וזה בלי רשת אלא רק את השירות הזה ובדרך כלל זה בא עם עוד כמה שירותים, אבל כפי שכתבתי בדרך כלל זה עולה יותר ביחס לתמורה. קוראים לזה managed hosting או אירוח אתרים).
מה שיש למייקרסופט azure גם לא שווה?
יש מישהו שהתנסה עם זה?
https://azure.microsoft.com/en-us/services/?query=SQL