המלצה על SERENITY או דומיו במקום אקסס
-
בעקבות הכניסה לפורום הסגור...:)
ראיתי שם פוסט המדבר על מעבר מאקסס לסרניטי. התקשתי לעבוד לבינתיים עם סרניטי, ורציתי לברר קודם האם הצר שווה בנזק המלך:
מה הצורך?
יש לי רעיון לבנות תוכנה עם מסד נתונים די מורכב (עבר לבינתיים ניתוח מערכות של בניית טבלאות ה SQL) אך בפועל אקסס קטן עליו. אולי אפשר לנסות להסתדר, אך אני לא יודע מה שווה יותר האם להשאר, או לעבור לסרניטי (החינמי בלבד), או יישום אחר. ואשמח לעצתכם.
הצרכים שלי שאין באקסס (הארכתי פה גם כדי לסדר לי תוך כדי...:) :
- שאילתות רקורסיביות (אפשר לפתור את זה באקסס על ידי חיבור לSQL SERVER או להסתבך ולהאט את המהירות עם RECORDSET.
- טפסים עם נראות יותר טובה ויותר יכולות (אולי אפשר לפתור את זה עם תוסף זה)
- שרשור טקסטואלי מרובה = GROUP BY לפי טקסט - לקבץ אותו לשורה אחת (אפשר לפתור את זה גם עם חיבור לSQL SERVER או להשתמש ב פונקציה המקושרת בפוסט זה אך היא כבידה מאוד, ובשימוש מרובה זה מאט מאוד.
- עדיף - הפרדה בין הSQL לממשק - לעבור הכל דרך משתנים. למה? כי פשוט נמאס לי לעבוד עקום... ליצור שאילתה מסובכת רק כי אני רוצה את כל הנתונים מוצגים...
- אולי יהיה צורך בעתיד - קיבולת גדולה יותר של SQL (גם זה - עם SQL SERVER)
- ספק גדול, אך אולי יהיה צורך בעתיד - עבודה WEBית - עבודה עם משתמשים. (לזה אין שום פתרון באקסס, כי אין ASP אך עדיין לא הבנתי אם סרניטי בפלטפורמה החינמית יתאים...)
מישהו מכיר את סרניטי או יישום דומה?
אשמח מאוד להמלצות!נ.ב. מתוך השפות שסרניטי מחליף / עושה בהם קיצור דרך, אין לי עדיין ידע ב ASP. רק בSQL, C#, וקצת JS.
-
@Y-Excel-Access בכל מערכת טובה שאינה פופלרית מספיק (ואין מערכת דמויית אקסס שפופולרית מספיק) אתה מתסכן במצב שתיתקע שמה חזק.
ככל שהמערכת לכאורה טובה יותר, ככה לאט לאט תהפוך את העולם כדי להישאר בה על כל בעיותיה ויהיהי לך מאוד קשה ההגירה השלישית (אחרי שכעת אתה מהגר מאקסס).
ברשימת המגבלות שלך, הרוב לא שווה בכלל משקל. כלומר החיסכון האדיר של אקסס בפיתוח מכסה על רוב הפשעים, לכן צריך להתייחס רק למה שפשוט קריטי - לא אפשרי במערכת שאתה צריך (כמו למשל שימוש מקביל בוווב, אולי). -
@dovid אמר בהמלצה על SERENITY או דומיו במקום אקסס:
ככל שהמערכת לכאורה טובה יותר, ככה לאט לאט תהפוך את העולם כדי להישאר בה על כל בעיותיה ויהיהי לך מאוד קשה ההגירה השלישית (אחרי שכעת אתה מהגר מאקסס).
אם הבנתי נכון (וכנראה שלא - עדיין לא הבנתי בדיוק איך עובדים עם סרניטי), סרניטי הוא משלב קצת קוד מכל תחום - ASP #C ו JS, ובעיקר הנראות הנורמלית בנויה. כך שיוצא שאני יותר לומד לעבוד עם השפות האלו מאשר שאני נתקע בהם.
האם יש תחום שלא תוקע? האם יש אפשרות פשוטה לבנות עם נראות מובנית (אין לי כוח לעצב סתם ולהמציא את הגלגל מחדש) בשפה / טכנולוגיה פופולרית יותר?
ברשימת המגבלות שלך, הרוב לא שווה בכלל משקל. כלומר החיסכון האדיר של אקסס בפיתוח מכסה על רוב הפשעים, לכן צריך להתייחס רק למה שפשוט קריטי - לא אפשרי במערכת שאתה צריך (כמו למשל שימוש מקביל בוווב, אולי).
יש אפשרות עקיפה לבעיות?
בפרט אין לי פתרון - איך להפריד את הממשק מSQL - איך לעבוד עם משתני זכרון ולהציגם, גם אם אני לבינתיים מוותר על WEB.
כיוון של קישור NET WINFORM לאקסס יותר נכון? מסברא נראה לי שלא, כי אז זה יתפזר ל SQL SERVER, אקסס, וטפסי נט שגם הם לא הכי משהו... -
@Y-Excel-Access אמר בהמלצה על SERENITY או דומיו במקום אקסס:
אם הבנתי נכון (וכנראה שלא - עדיין לא הבנתי בדיוק איך עובדים עם סרניטי), סרניטי הוא משלב קצת קוד מכל תחום - ASP #C ו JS, ובעיקר הנראות הנורמלית בנויה. כך שיוצא שאני יותר לומד לעבוד עם השפות האלו מאשר שאני נתקע בהם.
הבנת מצויין. כמעט כל טכנולגויות האינטרנט הם ככה. הם פתוחות וקלות להתאמה אישית יחסית, ועדיין כתבתי מה שכתבתי.
האם יש תחום שלא תוקע? האם יש אפשרות פשוטה לבנות עם נראות מובנית (אין לי כוח לעצב סתם ולהמציא את הגלגל מחדש) בשפה / טכנולוגיה פופולרית יותר?
אני עדיין מחפש, אם תחפש את האידאל תישאר כנראה כמותי, אחרת סביר להניח שתתפשר על משהו.
יש אפשרות עקיפה לבעיות?
את רובם לא הבנתי. הם מדברים על "איך" ולא על "מה". אתה רוצה שאילתה רקורסיבית, אבל עבור מה? לכל בעיה צריך סיפור, ויענו לך איך עונים על הסיפור בדרך אחרת בכלל.
כיוון של קישור NET WINFORM לאקסס יותר נכון? מסברא נראה לי שלא, כי אז זה יתפזר ל SQL SERVER, אקסס, וטפסי נט שגם הם לא הכי משהו...
זה לא כזה רע, אבל זה לא עונה על כל הבעיות.
דוטנט/נוד יחד עם מסד נתונים עונים על כל הבעיות, אבל זה המון לבנות מאפס. אבל אחרי שיהיה לך שלד, אתה תרגיש מלך העולם. -
@dovid אמר בהמלצה על SERENITY או דומיו במקום אקסס:
@Y-Excel-Access אמר בהמלצה על SERENITY או דומיו במקום אקסס:
אם הבנתי נכון (וכנראה שלא - עדיין לא הבנתי בדיוק איך עובדים עם סרניטי), סרניטי הוא משלב קצת קוד מכל תחום - ASP #C ו JS, ובעיקר הנראות הנורמלית בנויה. כך שיוצא שאני יותר לומד לעבוד עם השפות האלו מאשר שאני נתקע בהם.
הבנת מצויין. כמעט כל טכנולגויות האינטרנט הם ככה. הם פתוחות וקלות להתאמה אישית יחסית, ועדיין כתבתי מה שכתבתי.
אם כך, עדיין צ"ע...
כיוון של קישור NET WINFORM לאקסס יותר נכון? מסברא נראה לי שלא, כי אז זה יתפזר ל SQL SERVER, אקסס, וטפסי נט שגם הם לא הכי משהו...
זה לא כזה רע, אבל זה לא עונה על כל הבעיות.
דוטנט/נוד יחד עם מסד נתונים עונים על כל הבעיות, אבל זה המון לבנות מאפס. אבל אחרי שיהיה לך שלד, אתה תרגיש מלך העולם.הבעיה שיש בשתי האפשרויות - WINFORM ו NODE.JS שצריך לבנות נראות.
אולי יש אפשרות של קוד פתוח או משהו אחר שרק מביא לי פקדים / אובייקטי נראות , כמו לדוגמא טבלה מקוננת באקסס וכדו'? יש מקום/קישור להוריד לNET טהור או HTML-JS (כמו שמצאתי תוסף שמשפר נראות באקסס)? או לחילופין - לפי ההצעה כאן - איזה מילים לחפש בגוגל.תודה רבה!
קראתי פעם משפט שמצא חן בעיני - "זה היה ממש נפלא להמציא את הגלגל, אך רק בפעם הראשונה..."
-
@Y-Excel-Access אמר בהמלצה על SERENITY או דומיו במקום אקסס:
אולי יש אפשרות של קוד פתוח או משהו אחר שרק מביא לי פקדים / אובייקטי נראות , כמו לדוגמא טבלה מקוננת באקסס וכדו'? יש מקום/קישור להוריד לNET טהור או HTML-JS (כמו שמצאתי תוסף שמשפר נראות באקסס)? או לחילופין - לפי ההצעה כאן - איזה מילים לחפש בגוגל.
אומר לך, ברגע שאתה עוזב את חממת האקסס בפרט לכיוון הweb, אתה חייב להבין לגמרי מה שאתה עושה. אתה יכול להשתמש עם מאה פקדים מומצאי גלגל, אבל הם בעצם מחייבים אותך להבין טוב את הapi שלהם, את המגבלות/בעיות/הסיכונים. יש שפע ספריות ופקדים מוכנים כמו אקסס לאינטרנט של מגוון חברות כמו telerik (זרקתי שם זזכרתי). הם מביאים ממשק לכאורה מוכן בקלי קלות, אבל המרחק ביניהם לאקסס גדול והם במקום מסויים גם קצת כובלים אותך להכיר טוב טוב את המערכת שלהם, ששוב תהיה טיפונת (וזה רק טיפונת כי הם גדולים וגם בנויים טוב) שבויה בה.
(שים לב שבדוטנט יש גם דסקטופ וגם ווב, winforms זה דסקטופ וזה טכנולוגיה ישנה שקשה לעשות בה כל מה שמתחשק)
-
@Y-Excel-Access אני מאד מזדהה עם השאלה שלך. אני אחזתי שם בדיוק לפני 3-4 שנים. וכן, גם אני בעקבות הפוסט הנ"ל ניסיתי את סרניטי, ואני מודה לד' שלא התחברתי. אבל הרגשתי מאוד תקוע.
כשעזבתי את אקסס נפעמתי מהמרחבים האינסופיים שבחוץ. לא ידעתי אפילו איפה להתחיל.
היה נראה לי שאני מבזבז המון זמן בחיפושים, ובעיקר הייתי צריך לחזק את עצמי כשהגעתי למבוי סתום, או לצורת חשיבה שלא הבנתי או התאימה לי. הייתי פונה פניית פרסה ומחשב מסלול מחדש.
היום במחשבה לאחור אני חושב שלמדתי הרבה גם במקומות שלא בחרתי להשאר, אבל אז זה היה מאוד מתסכל.אם אתה באמת רוצה לעזוב את אקסס ולהיות מתכנת טוב, אני חושב שבעיקר עכשיו בהתחלה, תתרחק כמה שאפשר מכל מיני ממשקים מוכנים\ספריות\תוספים, כי אתה משעבד את עצמך לצורת עבודה מוכתבת מראש, בלי לדעת האם היא נכונה עבורך או מספיקה לך.
במבט לאחור אני חושב שדרך המלך היא כך:
- תבחר שפת תכנות, ותלמד אותה בצורה יסודית. זה היסוד להצלחה. ממה שנראה לי, תתאים לך C# בגלל הטיפוסיות החזקה שלה, והדוקומנטציה המצויינת של מייקרוסופט. היא מתאימה לפרוייקטים בסדר גודל שאליו אתה מכוון, כך שלא תרגיש את המוגבלויות שלה כל כך מהר.
- כדי להשתפשף באמת, תבנה פרוייקט מיניאטורי. ממש קטנטן. אני מתכוון משהו כמו אפליקצית קונסול של רשימת משימות.
- תתחיל להכיר את גיטהב, ולנהל גרסאות של הפרוייקט הזה.
- תבנה פרוייקט שני, טיפה יותר מורכב. אולי ביצוע מניפולציה על קובץ טקסט. או יותר טוב, תוסיף פיצ'ר חדש לפרוייקט הראשון. למשל לשמור את המשימות בקובץ. לשלוף אותם וכו'.
- תחזור על השלבים 2-4, עד שתרגיש בבית.
- כעת תוסיף בסיס נתונים לפרוייקט הזה. ותלמד להתממשק איתו. כאן לא הייתי מוותר על כלי ORM כמו Dapper או Entity Framework.
- תוסיף ממשק גרפי. תתחיל ב-WinForms, כי WPF הוא מאוד מורכב יחסית אליו, כנראה שמייקרוסופט השתדלו בצורה קיצונית להגמיש אותו.
אם הגעת עד לכאן, יהיה לך את העיקר: בסיס חזק בשפה, ומיומנויות שיעצימו את היכולות שלך.
אתה באמת תרגיש בלתי מוגבל. (עד שתתחיל לפתח ב-Web ושוב תרגיש הכל מהתחלה...) -
@OdedDvir @david תודה רבה!
ממש תשובות מושקעות! אני עובר על השלבים של @OdedDvir (חלק כבר יישמתי בעבר, חלק עדיין לא)..
יש משהו אחד שעדיין לא פתור לי.
משום מה חשבתי שללמוד תכנות זה לא ללמוד גרפיקה... אבל אני מוצא שאני אצטרך כל הזמן לעצב דפים וממשקים.על זה - יש משהו קיים? יש בעיה עתידית / תכנונית להשתמש בו?
(השאלה בין על עיצובים קיימים ובין על ממשקים - טופס מוכן וכד')הרי הכשרון שלי, עם כל הכבוד, לא יכול להגיע לכשרון של כל כך הרבה מעצבים בשוק... אני לא יכול להמציא את הגלגל מחדש כשיש להם כל כך הרבה כלים שאין לי...
אז מה, צריך גם להמציא עיצוב, גם חווית לקוח, גם תכנות, גם DB (עם השניים האחרונים אני מסתדר מצויין, אבל גם בהם הקפיצות הגדולות של ידע התכנות מתרחשות דווקא על ידי לימוד (לא לקיחה, רק לימוד) של קוד פתוח, או פיתוח בקוד קיים. לענ"ד).
זה מגדיל את העבודה של יצירה של כל דבר מאוד! אם אגביל את עצמי רק לדברים שאני בונה.
לעניות דעתי - לפי מה שראיתי בסביבה, בJS של SAP משתמשים בדברים קיימים של סאפ, גם באנגולר JS יש תבניות. אז מה, גם זה לא טוב? הרי כל העולם משתמש איתם.
בקיצור, בנושא זה לא ירדתי לסוף דעתכם, וכנראה באתם להגביל רק חלקית שימוש בקוד פתוח או תבניות מובנות במערכת/מעלמא, ויש בזה כללים. על כן אשמח למיקוד ברור.
תודה רבה רבה. -
@Y-Excel-Access
אני מנחש שלמרות שאתה מתחבא מאחורי הנושא ה"גרפי" בו הצלחת להשיג פטור של ממש, אתה בעצם מכוון למשהו הרבה יותר כללי: "כל הדברים המשעממים האלה שמצריכים לימוד ובאקסס יש לי אותם מוכנים".
נסה להפריד בין הלימוד וההתנסות בידיים לבין תוצאות רצויות (שאתה מנסה להגיע אליהם עוד היום בערב...). כל ההודעה של @OdedDvir דיברה על התקדמות זהירה בלימוד נושאים חדשים.
במהלך הלימוד, אתה תהיה הגרפיקאי. תהיה הכל, כי אתה תחסוך כמה שיותר שימוש בשליחים שמעמעמים לך את הדברים כפי שהם לטוב ולמוטב. תקבל ביקורת צולבת מהמשתמש (אתה) שהתוכנה שלך נראית נורא. כשתידע להשתמש טוב בטכנולוגיה הנבחרת, ותבין היטב איך בדיוק אתה יכול לנצל אותה לצרכיך, תוכל להשתמש עם כלים מוכנים הן לנושא הגרפי והן לעוד נושאים. -
@dovid כלומר, לפי מה שאני מבין (קראתי פעם משהו כזה באתר מדריך)
רק אחרי שאתה מלכלך את הידים לבנות משהו בעצמך, שעובד (לא נורא כמה אתה תשתמש בו בפועל, וכמה יהיה נורא מבחינת נוחות משתמש), תוכל כבר לבנות גם עם דברים מובנים. כי רק אז תדע באמת לבנות נכון כי הכרת את כל האבנים.אבל באמת אחר כך כן להשתמש בדברים מוכנים שתבחר ויהיו מתאימים - אחרי היכרות עם צרכיך. כדי לחסוך זמן, וכשלונות עיצוביים / באגים של תוכנית חדשה שלא נוסתה.
-
@Y-Excel-Access אחרי התגובות של 2 התותחים דכאן ( @dovid + @OdedDvir ), אני מרשה לעצמי לכתוב גם כמה מילים, אני מניח שבחלק מהדברים אני אחזור על הדברים שכבר כתבו, אבל כאחד שעבר (ועובר בכל יום מחדש) את התהליך, אנסה לתת זווית נוספת. (האמת שאני חושש שיצא קצת מבולבל וארוך, אבל אשתדל שייצא ברור)
להבנתי הגעת למדריך של סרניטי מפוסט שאני כתבתי. אכן סרניטי הדהימה אותי בהתחלה עם מחשבה שזה באמת כלי נפלא של הגירה למשתמשי אקסס.
ייתכן שהיא באמת כזו, אבל די התייאשתי איתה, בגלל שהרבה דברים היו שם שבלוניים.הרעיון של סרניטי במילה אחת, הוא תיכנות הצהרתי.
כלומר, אתה תגיד מה אתה רוצה שיקרה + תן את המודולים של הטבלאות וכו', והתבנית תבנה את כל מה שאתה רוצה כמעט מאפס בקלות.אחד האתגרים הגדולים של מתכנתי אקסס (וככל שהם כתבו יותר קוד הבעיה רק הולכת וגדלה), זה הפשטות של אקסס לעשות דברים, בעיקר בעניין של תגובה לאירועים + ריענון המסך בפשטות.
יש עוד אלמנט שלדעתי בו אקסס ממש מאד חזקה, וזה מהווה קושי מאד גדול בהגירה, זה הפשטות של תיבות רשימה שנפתחות, ואז בשניה אחת קוד שבסך הכל עושה requery שזה אומר תרענן לי את הפקד ההוא על סמך הערך הנבחר.
בנוסף, אחד הקשיים זה נקודת האבטחה, אם באקסס אתה יכול לפעמים לסמוך על זה שהסתרת פקד אז 99.9 שלא תהיה גישה אליו, בווב זה ממש לא ככה.ואז מגיע האתגר הגדול, שאנחנו מנסים לקחת את התפיסה של אקסס, לעולם של הווב, (ממש ליישם את כל התפיסה עצמה) בלי להבין שיש כאן תפיסה חדשה לחלוטין.
[כמובן שאתה יכול להחליט שאתה עובד על WinForms אבל אישית אני חושב שלא כדאי. אם אתה מתחיל ללמוד, לך ישר על ווב (אגב בעבר היה לי קוד VBA שידע לקחת פרוייקט ולהמיר אותו כולל טפסים לwinforms אבל זה לא עשה את העבודה עד הסוף ובסוף התייאשתי...)]
אז מה כן?
אני אגיד לך את האמת, שעד היום אני לא יודע מה נכון אבל אני אגיד מה אפשר.-
אם יש לך המון זמן פנוי (אני מניח שלא, וזה חלק מהבעיה של כולם), לך ללמוד פריימוורק כמו אנגולר / VUE /ריאקט וכו'.
לגבי התצוגה שתיראה יפה עם דשבורד וכו, אין לך לדעתי מה לדאוג בכלל, כי אחרי שתיכנס לבסיס, תגלה שיש ים תבניות באינטרנט בחינם / בעלות מאד זולה של כמה עשרות דולרים, כולל RTL והמון פקדים שכבר מוכנים.
ולכן אני חושב שמה שהכי פחות אתה הכי צריך להיות מודאג זה היופי איך שזה ייראה. -
אם אין לך הרבה זמן פנוי, (בעיקר לא כדי להתחיל ללמוד פריימוורקים חדשים עם עקומת למידה וכו') אבל מצד שני אתה רוצה פיתרון די מהיר, ואתה מתמודד טוב עם C# לדוגמא (גם אם לא יש כאן הרבה שישמחו לעזור), ואתה עדיין רוצה ללכת על ווב, ואני מניח שמה שמעניין אותך זה בעיקר CURD, (כמה הנחות יסוד... אני מקווה שלא פיפספתי אותך במשהו), אז הייתי מציע לך לשקול את בלייזור + GridMvc.
במיני מחקר שעשיתי (בעיקר על עצמי אבל על עוד מתכנתי אקסס) יצא לי שאנחנו מפחדים משום מה מJS בצד הלקוח, אבל לכתוב קוד C# בצד לקוח משום מה זה פחות מרתיע (לא יודע למה...), ולכן, בשילוב של שני האלמנטים האלו, אתה יכול לקבל מערכת שנראית "בסדר" (לפחות להתחלה) + מערכת ניהול משתמשים די טובה, + יכולת ניהול טבלה עם חיפוש + עריכה + מחיקה וכו.
ההגדרה של טבלת רשימה בGRID שהבאתי די פשוטה וקלילה, אני משתמש באובייקט דומה שלהם לMVC רגיל ומאד מרוצה.
בפרוייקט הזה הם עשו את זה אפילו יותר פשוט וזריז.
מה שקצת מלחיץ בבלייזור, זה שמייקרוסופט לא תנטוש אותו פתאם כמו שהיא נוהגת לעשות לפעמים.
סליחה על האריכות,
לא הצלחתי לכתוב כל מה שרציתי, ואני חושש שיותר עשיתי בלגן מאשר סדר. -