תבניות של API
-
טוב, בהמשך לפוסטים הקודמים שלי (למי שנותרה סבלנות), עשיתי הרבה שיעורי בית, והתקדמתי קצת.
המסקנות שלי:
אין אמנם מערכות ניהול תוכן שלמות (CMS) כמו וורדפרס, כלומר אין מוצלחות, אבל אני גם לא מעוניין:- בקשר לפיתוח קליינט-סייד, אולי אין משהו פופלרי ומוצלח כמו וורדפרס, אבל יש דברים מספיק טובים. יש גם טמפלייטים (לאתרים פשוטים וקלאסיים), ויש ספריות של רכיבים. אני בחרתי בvuetify כמו שהמליצו לי פה. זה מקצר ומיעל מספיק את העבודה. זו ספריית רכיבים, ואם רוצים יש גם טמפלייטים שמבוססים עליה.
- במקרים פשוטים אולי עדיף וורדפרס, אבל ברגע שצריך קצת התאמות אישיות - אם אתה יודע לפתח טוב - כבר אין ענין בוורדפרס. במקום להתחיל להתקין כל מיני תוספים ולייצר כל מיני התאמות אישיות, לך תפתח וזהו.
המקום שבו אני עדיין לא סגור על עצמי, אחרי שפתרנו את בעית הקליינט, נשאר הסרוור-סייד.
אני שוחה בNODEJS, API ומסדי נתונים, ואין לי בעיה לכתוב הכל מאפס. אבל - שוב, זו עבודה. האם יש פה קיצורי דרך?
במקום לבנות מסד נתונים שמנהל הרשאות/לקוחות ולהתממשק איתו לNODE ולבנות את כל הקוד שאלף אנשים עשו לפניך, יש תבניות מוכנות?
למשל, מתבנית/ספריה של CRM הייתי מצפה שהיא תבנה לי מסד נתונים בסיסי (עם מיגריישנים כנראה) שמכיל טבלאות של לקוחות, משתמשים, לידים וכדומה. ובנוסף תבנה קלאסים בקוד עם פונקציות שניגשות לכל השימושים הקלאסיים של זה.
להבדיל ממערכות הניהול המורכבות, זה משהו שאמור להיות מאוד פשוט וקל לשימוש ובעיקר קל להתאמה אישית. מעין נקודת התחלה שקל להמשיך ממנה, למחוק חלק ולשכפל חלק וכו' במקום להתחיל מאפס.אני בטוח שכל מתכנת בונה לעצמו כאלו עם הזמן. יש כאלו מוכנים לכל מיני נושאים? אני בינתיים לא ממש מצאתי. רק כחלק ממערכות מורכבות ומסורבלות יותר. הדבר היחיד שמצאתי זה תשתית לAPI ריק ממש, שזה גם יפה.
-
@davidnead
לא יודע האם זה מה שאתה מחפש
אבל יש קונספט של headless cms
שאם אני מבין נכון נותן לך רק את API ואתה בונה את הצד לקוח איך שנוח לך. -
@nigun אמר בתבניות של API:
headless cms
מה שאני ראיתי בינתיים זה דברים כמו https://strapi.io/ שזה לא תבנית של API אלא ממשק ניהול שאיתו אתה יוצר API. יש אולי אנשים שיותר קל להם להתחיל ליצור שדות ואובייקטים בקוביות של ממשק, לי כבר קל יותר ליצור טבלה בDB ולהתממשק.
לא רוצה ממשק ניהול, אלא פשוט קוד מוכן (קוד JS + צורה כלשהי של SQL) עבור נושאים שונים.
יש דוגמאות כאלו בקונספט שאמרת? -
@davidnead אמר בתבניות של API:
יש דוגמאות כאלו בקונספט שאמרת?
לא יודע, חפש כאן
https://jamstack.org/headless-cms/ -
@davidnead אמר בתבניות של API:
יש אולי אנשים שיותר קל להם להתחיל ליצור שדות ואובייקטים בקוביות של ממשק, לי כבר קל יותר ליצור טבלה בDB ולהתממשק.
נראה לי שהרעיון הוא שיהיה גם קל ללקוח לנהל את האתר
-
@nigun נכון, בוורדפרס זה חלק מהרעיון. במקרה שלי אני לא חושב שאני מעוניין בזה.
זה בדרך כלל מתאים לאתרים סטטיים וחנויות וכדומה שהלקוח רוצה להוסיף פתאום קטגוריה. אני לא חושב שזה מתאים לאתרים מורכבים.
אני רוצה לכתוב קוד, רק מחפש קיצורי דרך.חמפש לשמוע מישהו שהתנסה במשהו כזה. בינתיים גוגל לא פתר לי, אולי לא הבנתי מספיק טוב איך הדברים פועלים. אבל במקום להתחיל להשקיע המון זמן ללמוד מערכות שונות כדי לגלות שאינן מתאימות לי, אני מעדיף לשמוע פה מבעלי ניסיון.
-
@davidnead אמר בתבניות של API:
אבל במקום להתחיל להשקיע המון זמן ללמוד מערכות שונות כדי לגלות שאינן מתאימות לי, אני מעדיף לשמוע פה מבעלי ניסיון.
אני אישית דוגל בלהשקיע קצת זמן לחקור את הדברים לבד
רוב השועלים המנוסים מושקעים בטכנולוגיות מסוימות, ולא חוקרים את השוק
אז מי יחקור אם לא הירוקים? -
@nigun אמר בתבניות של API:
@davidnead אמר בתבניות של API:
אבל במקום להתחיל להשקיע המון זמן ללמוד מערכות שונות כדי לגלות שאינן מתאימות לי, אני מעדיף לשמוע פה מבעלי ניסיון.
אני אישית דוגל בלהשקיע קצת זמן לחקור את הדברים לבד
רוב השועלים המנוסים מושקעים בטכנולוגיות מסוימות, ולא חוקרים את השוק
אז מי יחקור אם לא הירוקים?השקעתי לא מעט זמן, אני יושב על זה כבר שבועיים. צריך גם לשמוע את אלו שעברו את "גן המבוכה". מזה ומזה אל תנח ידיך.
-
@davidnead
במחשבה שניה
מי אמר שהכל צריך להגיע בתוך כלי אחד?
אפשר להשתמש בSaaS
למשל auth0 לניהול משתמשים
twilio לSMS (לא אומר שזה ממולץ לשימוש בארץ, רק דוגמא) -
-
@davidnead
חשבתי שהאתר מקוון
אבל גם באתר לא מקוון אפשר למצוא פרוייקטים דומים בקוד פתוח.
הנה משהו מחיפוש מהיר לניהול אימות משתמשים:
https://www.ory.sh
https://github.com/authelia/authelia
https://github.com/keycloak/keycloakאבל אם זה צריך התקנה מקומית לפעמים זה יכול לסבך כשיש הרבה מיקרו-שרתים.
אגב לאחרונה שיחקתי קצת עם פרוייקט שמיועד לבניית API למיקרו-סרוויסים + מסדי נתונים, מעל קוברנטיס, זה עדיין לא בגרסה 1.0 אבל נראה טוב.
-
@davidnead אמר בתבניות של API:
@nigun אני ממש לא חושב שזה הכיוון.
למה?
כנראה לא הבנתי מה אתה מחפש בדיוק. -
@nigun אמר בתבניות של API:
@davidnead אמר בתבניות של API:
@nigun אני ממש לא חושב שזה הכיוון.
למה?
כנראה לא הבנתי מה אתה מחפש בדיוק.הוא כתב כ"כ הרבה בהודעה הראשונה.
אתה זורק פתרון (יותר נכון כיוון), והוא אומר שזה לא מתאים.
לו היית טורח רבות ומסביר איך זה מתרץ הכל, אז היה לגיטימי לשאול שיסבירו לך למה נשאר קשה, אבל על עצם זריקת כיוון לא נראה לי שראוי שתגרום לשואל להתחיל להסביר לך באריכות ואף לא בקצרה מה חסר לו בכיוון שלך.
נ.ב. זה הערה כללית לא רק בנושא זה. -
הוא כתב:
במקום לבנות מסד נתונים שמנהל הרשאות/לקוחות ולהתממשק איתו לNODE ולבנות את כל הקוד שאלף אנשים עשו לפניך, יש תבניות מוכנות?
למשל, מתבנית/ספריה של CRM הייתי מצפה שהיא תבנה לי מסד נתונים בסיסי (עם מיגריישנים כנראה) שמכיל טבלאות של לקוחות, משתמשים, לידים וכדומה. ובנוסף תבנה קלאסים בקוד עם פונקציות שניגשות לכל השימושים הקלאסיים של זה.
להבדיל ממערכות הניהול המורכבות, זה משהו שאמור להיות מאוד פשוט וקל לשימוש ובעיקר קל להתאמה אישית. מעין נקודת התחלה שקל להמשיך ממנה, למחוק חלק ולשכפל חלק וכו' במקום להתחיל מאפס.עניתי על זה שבשביל דברים שאלף אנשים כתבו כבר אפשר להשתמש בSaaS
הוא ענה שנניח שהאתר לא מקוון.
עניתי שאם SaaS לא מתאים אולי מקירו-סרוויס מוכן יתאים
הוא ענה "לא מתאים"
מתוך סקרנות התעניינתי "למה?"
אז אתה מציע:
לו היית טורח רבות ומסביר איך זה מתרץ הכל, אז היה לגיטימי לשאול שיסבירו לך למה נשאר קשה
מה אתה רוצה שאני יכתוב? מגילה שלמה שמסבירה מה זה SaaS? מה זה מיקרו-סרוויס?
שאני יערוך מחקר איזה SaaS בדיוק הוא צריך לבחור בלי לדעת בדיוק מה הוא צריך?
אני מבין שהוא יודע מה זה SaaS וענה שזה לא מתאים? אסור להתעניין למה? -
@nigun התרשמתי שמה שאתה מציע יוצא יותר עבודה מאשר תועלת.
אישית לא הייתי נכנס לחיפושים אחרי מיקרו סרוויס בקוד פתוח שאולי יכול להוריד ממני חלק מהעבודה, כאשר מצד שני זה דורש:
א) לפני הכל חיפוש מייגע, ולבדוק כמה פרוייקטים לראות אם אמצא משהו באיכות מתאים, עם תמיכה מתאימה, ושהוא עונה על הצרכים.
ב) נניח שמצאתי משהו, עכשיו יש לי כמה סרוויסים לנהל במקום אחד. כל אחד מהם דורש לימוד ועובד בצורה אחרת.
ג) אם יש צורך להתאים משהו לצורך מיוחד צריך ליכנס לתוך קוד המקור של מישהו אחר (בשפה שאולי אני לא מכיר)ואחרי הכל זה לא נותן לו מה שהוא ביקש. הורדת רק את המשימה של אימות משתמשים לשירות נפרד אבל יש את החלק ה-CRUD-י העיקרי שזה הוא רוצה מן המוכן.
-
יודעים מה? אולי לאורך כל הדרך אני לא שואל את השאלה נכון. יש פה מישהו שרגיל לבנות אתרים או אפליקציות באמצעות nodejs בכלל?
-
@davidnead כן. אני מבין מה אתה מחפש. אני מתחבר למה ש-@clickone כתב איפשהו (או מישהו אחר? לא זוכר כבר...), שאחרי כמה פרוייקטים יהיה לך לבד תבנית שיעבוד בחלק גדול של הצרכים. ולפחות שישתמש כקרש קפיצה.
-
@nigun "שאלת מתוך סקרנות"... אני מוצא פעמים רבים את הסקרנות הזו שבעצם סוחטת חברי פורום להיסחף לנושא שהם לא עוסקים בו ו/או חושבים שהוא לא רלוונטי.
אני עד עכשיו לא מבין למה מיקרוסרויס עוזר.
זה נכון, אתה נותן להרבה שירותים לעשות את העבודה, אבל מי בדיוק מתווך בין כל החלקים? שוב מערכת, לא ככה? נניח אני צריך הרשאות משתמשים. אז אני משתמש עם auth0 הוא דואג לזהות, אבל מי ידאג להרשאות? מיקרוסרויס? מה שייך להציע שימוש במיקרוסרויסים כשהבקשה היא שלד של תוכנה קלאסי שקל להשתמש בו ולהרחיב אותו, הדבר היחיד שאני מבין זה שאתה אומר שלא קשה לבנות הכל לבד (להיתפס על המילים מה שאלף אנשים בנו" כשהכונה על המכלול ולא הפריטים!) כשמדובר בשימוש בהרבה שירותים חיצוניים, נו , זה עדיין לא תשובה לכותרת של השאלה ולתוכנה.
שים לב שזה לא שענית ישר מיקרוסרויסים. יריתי פה כמה וכמה הודעות כשדי ברור שאין לך ניסיון ותשובה ודאית לשאלה אלא נסיונות לענות על השאלה. זה לא שניסיון זה לא עוזר בכלל, אבל זו רמת עזרה נמוכה מאוד, שצריכה לבוא בצורה מתומצתת ומקומצת בהודעות.
אחרת זה מפריע, זה נחשב לכפות דיון על נושאים שמעניינים אותך כשאתה רוכב על נושא מוגדר, דוקא אני נורא נהנה מהדיונים שאתה יוצר אבל זה לא הוגן כלפי מחפש הפתרון התורן. הדרך צריכה להיות הצעה מרוכזת של כיוונים בהודעה אחת (וא דו שיח הלוך ושוב שמגדיל את הנושא ומקשה על העונה הפוטנציאלי לדעת איפה אוחזים), וכל הרחבה של כיוון או נושא שנשמעים פחות רלוונטיים לפתוח נושא חדש בו אתה הבעה"ב ואינך כופה על איש לקרוא או לכתוב שמה. -
@davidnead אני אולי נשמע חוזר על עצמי, אבל השאלות שלך לא הכי מתאימים לnodejs.
nodejs לא מתאימה לאנשים שמאמינים בדברים מוכנים וממוסדים.
היא מתאימה לכאלה שאוהבים גמישות ושקיפות מקסימליים.
אני מציע לך לבדוק את asp net core (שפת c#), שמה הברירת מחדל היא המון ספריות ענק שעושים המון המון עבודה. זה כמובן לא נוגע כלל לקליינט סייד.
אני אישית אגב לא מפתח בזה (אני די עובד בפרוייקטים קיימים, גם nodejs וגם asp net 5 שזה די ישן וגם קצת קצת וורדפרס המתועבת), כך שהרשמים שלי הם התרשמות מרוחקת או עדויות של קולגות.
4/52