בעקבות האשכול תבניות של API - איזה תחליף יש לnode.js ??
-
@yossiz אמר בבעקבות האשכול תבניות של API - איזה תחליף יש לnode.js ??:
אגב, אין פה בפורום משתמשי Laravel?
רק עכשיו שמת לב לשאלה הזאת, כבר כתבתי - באשכול הקודם - עכשיו עליו...
ומי שבאמת מעוניין בחיים מאושרים זה המתכון שלי (זה לא אומר שאין אפ' אחרת... )
צד שרת:
PHP
Laravel
Inertiajs
Laravel forgeצד לקוח:
React/Vue (כמובן עם inertiajs)
Tailwindcssכלים:
Phpstormועוד עזרים:
Tinkerwell -
@יוסף-בן-שמעון אמר בבעקבות האשכול תבניות של API - איזה תחליף יש לnode.js ??:
אם זה מצריך תכנות של יותר מעשר שורות קוד, לא נוגעים בוורדפרס ולא ב PHP, קונים תבנית עיצובית בכמה דולרים שמותאמת לקליינט שאתם מכירים (אנגולר \ VUE) ובונים לה שרת.
זו הבעיה בדיוק, כך גם אני חשבתי בעבר. אבל זה ממש לא נכון, התבנית עיצובית זה פותר חלקית באמת. אבל השרת לא נפתר כלל. שרת זה לא משהו של כמה דקות, זה פרוייקט בפני עצמו ברגע שהאפליקציה גדלה. (אני מנוסה בזה די והותר)
ומאידך, בוורדפרס, הפתרונות שקיימים שם נותנים מענה קל גם לדברים שצריך צד שרת מורכב. כי המון אנשים בנו המון תוספים מובנים להמון מטרות.
כדי לדעת מתי זה מספיק מורכב בשביל שוורדפרס לא שווה את זה - צריך להכיר אותו טוב. ובמרבית הפרוייקטים שלא מאוד גדולים המשוואה כנראה לצד וורדפרס. -
@chagold אמר בבעקבות האשכול תבניות של API - איזה תחליף יש לnode.js ??:
אני במקומך הייתי מרים את המערכת המקבילה לוורדפרס, בנוד.
קיימים כבר מערכות כאלו. היתרון העיקרי ש לוורדפרס אינו טכנולוגיה מדהימה, אלא הפופלריות והותק שלה - שגרמו שנבנו לה אין ספור תבניות ותוספים הנותנים מענה לכל צורך.
גם העובדה שהPHP יכול לגעת בצד שרת וצד לקוח יחד בקלות גם משפרת את זה. -
@davidnead אמר בבעקבות האשכול תבניות של API - איזה תחליף יש לnode.js ??:
@יוסף-בן-שמעון אמר בבעקבות האשכול תבניות של API - איזה תחליף יש לnode.js ??:
אם זה מצריך תכנות של יותר מעשר שורות קוד, לא נוגעים בוורדפרס ולא ב PHP, קונים תבנית עיצובית בכמה דולרים שמותאמת לקליינט שאתם מכירים (אנגולר \ VUE) ובונים לה שרת.
זו הבעיה בדיוק, כך גם אני חשבתי בעבר. אבל זה ממש לא נכון, התבנית עיצובית זה פותר חלקית באמת. אבל השרת לא נפתר כלל. שרת זה לא משהו של כמה דקות, זה פרוייקט בפני עצמו ברגע שהאפליקציה גדלה. (אני מנוסה בזה די והותר)
ומאידך, בוורדפרס, הפתרונות שקיימים שם נותנים מענה קל גם לדברים שצריך צד שרת מורכב. כי המון אנשים בנו המון תוספים מובנים להמון מטרות.
כדי לדעת מתי זה מספיק מורכב בשביל שוורדפרס לא שווה את זה - צריך להכיר אותו טוב. ובמרבית הפרוייקטים שלא מאוד גדולים המשוואה כנראה לצד וורדפרס.דבריך נכונים, ועדיין אין זו סיבה להספיד את נוד
אתה מתאר כמה קלות יש בלהקים אתר וורדפרס, אבל אתה מזניח את החסרונות שלה, לדוגמא ככל שאתה מרבה בתוספים אתה פוגע בביצועים.
אז נכון שהרבה בוחרים באפשרות של וורדפרס, אבל אתה או @ב-ל שבחרתם בנוד יכולים להמשיך בבחירה הנכונה שלכם, ולא לדשדש בביצה הממלכדת של וורדפרס.
לדעתי אין צורך להכיר את וורדפרס לעומק, אפשר תוך כדי נסיעה ללמוד אותו במקרה הצורך, כדאי להכיר מלמעלה את האפשרויות הבסיסיות, ואם הדרישות של הלקוח מורכבות יותר מהבסיס אפשר וכדאי לבנות מאפס בנוד עם תבנית עיצוב. -
@davidnead אמר בבעקבות האשכול תבניות של API - איזה תחליף יש לnode.js ??:
זה לא הופנה אלי אבל אשיב מצידי: לא, לפחות אני לא לקחתי בחשבון עד כמה מחד מתאפשר ליצור בוורדפרס דברים מתקדמים ולא סטנדרטיים ועד כמה זה קל ונפוץ. חשבתי שגם בוורדפרס צריך להיות מתכנת ברגע שזה אתר שקצת יוצא מהקופסה של חנות/בלוג וכדו'. וממילא לא לקחתי בחשבון שמרבית הפרוייקטים שאקבל כעצמאי לא יתאימו למידה של NODE.
אני חושב שזו לא גישה נכונה להעדיף חיים קלים של וורדפרס, אתה מציע יתרון ללקוח אם אתה בונה לו אתר מקוסטם בנוד, לבנות בלוג מאפס זה לא ערך מוסף, לכן זו עוולה ללקוח, אבל לבנות לו אפליקציה עיסקית בנוד זה לתת לו ערך מוסף ששוה לו כסף
-
@יוסף-בן-שמעון אמר בבעקבות האשכול תבניות של API - איזה תחליף יש לnode.js ??:
@davidnead אמר בבעקבות האשכול תבניות של API - איזה תחליף יש לnode.js ??:
זה לא הופנה אלי אבל אשיב מצידי: לא, לפחות אני לא לקחתי בחשבון עד כמה מחד מתאפשר ליצור בוורדפרס דברים מתקדמים ולא סטנדרטיים ועד כמה זה קל ונפוץ. חשבתי שגם בוורדפרס צריך להיות מתכנת ברגע שזה אתר שקצת יוצא מהקופסה של חנות/בלוג וכדו'. וממילא לא לקחתי בחשבון שמרבית הפרוייקטים שאקבל כעצמאי לא יתאימו למידה של NODE.
אני חושב שזו לא גישה נכונה להעדיף חיים קלים של וורדפרס, אתה מציע יתרון ללקוח אם אתה בונה לו אתר מקוסטם בנוד, לבנות בלוג מאפס זה לא ערך מוסף, לכן זו עוולה ללקוח, אבל לבנות לו אפליקציה עיסקית בנוד זה לתת לו ערך מוסף ששוה לו כסף
בלוג ואפליקציה עסקית הם שתי קצוות. מקרי האמצע הם הרוב.
ורק כדי להרגיע - אין לי שום כוונה ורצון ללמוד וורדפרס, לא הולך לקרות. אמצא את הדרך שלי להתפרנס בלעדיו.נ.ב. אתה מדבר מניסיון? אתה מכיר את שתי המערכות ומקבל החלטות ביניהן עבור פרוייקטים של לקוחות?
-
הוזכרו כאן Frameworks רבים אולם מקומה של ASP.NET נפקד, לכן לקחתי על עצמי בדחילו ורחימו את המשימה החשובה ( אני חייב לציין שזו דעתי האישית בלבד, ואני אשמח לשמוע את חוות דעתם של המומחים ממני כאן)
ASP.NET מהירה בהרבה מNodeJs, ולמעשה היא נחשבת אחת מהWeb servers המהירים והיעילים ביותר כיום (משאירה הרחק מאחור את Java, Go, NodeJs).
בניגוד לפיתוח בסביבת NodeJs בה אתה נתון לחסדיהם של ספריות שנכתבו ע"י חברות ואנשים שונים בתקווה שהכל יתחבר איך שהוא לאפליקציה אחת, בASP.NET הפיצרים החשובים והשימושים ביותר מובנים בFramework לדוגמא:
- Dependency Injection
- Logger
- Localization
- Template engine
- WebSocket
- ORM
- Authentication/Authorization
** חלק מהפריטים ברשימה הנ"ל מהווים ספריות בפני עצמם, אולם כולם נכתבו ותוכננו בהתאם לתמונה הגדולה.
כחלק מהגדרות הBuild ניתן לבחור במצב Self-hosted, מה שאומר שבסיום התהליך, נקבל קובץ הרצה ללא תלויות (ניתן להרצה כיישום Portable על כל מחשב), לחלופין ניתן לפרוס את האפליקציה באמצעות תמונת Docker רשמית של Microsoft.
מספר בקשות לשניה:
לסיכום
NodeJs איננה מציעה יתרונות כלשהם על פני ASP.NET ,למעשה אני סבור שהיא מציעה רק חסרונות שהמשמעותי שביניהם הוא היותה Single-Threaded, הטיב להגדיר זאת @dovid בשימוש באנלוגיה של טרקטור צעצוע שעבר הסבה לשימוש באתרי בנייה.
ASP.NET לעומת זאת היא סביבה יציבה מאוד, בה יש דרך מוגדרת לבצע משימות, בה כולם מדברים באותה שפה ושבה אתה מקבל יכולות אדירות בתמורה למעט מאוד שורות קוד.אגב שווה להכיר את התחביר המינימלי החדש של ASP.NET שדומה באופן חשוד לExpress:
var app = WebApplication.CreateBuilder(args).Build(); app.MapGet("/", () => "Hello World!"); app.Run();
שרת HTTP בשלושה שורות בלבד.
הקוד הנ"ל מתאפשר עקב שיפורים (חלקם בתחביר של השפה) שהתבצעו בשנים האחרונות:
- Implicit using directives: חסל סדר הרשימה הארוכה של Using בראש כל קובץ.
- Top level statements: ניתן לכתוב קוד בקובץ הראשי מחוץ למחלקה או למתודה,
- אין יותר צורך במחלקת
Startup
.
-
@davidnead זה בדיוק מה שניסיתי להסביר, מנסיוני הצנוע הפיתוח בASP מהיר יותר מNode.
הקמת אפליקציה הכוללת מסד נתונים, אימות, וHttp API היא משימה שמסתכמת בדקות ספורות עבור מפתחים בASP.
ובכלל הפיתוח בASP, מלא אוטומציות, לדוגמה המחלקות שאתה בונה מתורגמות לטבלאות במסד הנתונים, אחרי שיש לך Entity שמייצגת טבלה, באפשרותך ליצור Controller שמכיל נקודות קצה (וכן Views המכילים קוד תצוגה) עבור כל הפעולות הבנאליות (CRUD) עבור אותו Entity בלחיצת כפתור. -
טוב, לא התעצלתי. החלטתי לכתוב גם לינון פרק (tocode). אולי מוכר פחות, אבל שוה לא פחות. גם הוא היה אדיב ומהיר בתשובתו:
"הי דוד
מעבר משכיר לעצמאי זה תמיד נושא שמעניין לדבר עליו
לשאלה שלך-
כדאי להתחיל מלהסתכל על הלקוחות ולא על הטכנולוגיה. מה מיוחד בלקוחות הקטנים האלה שלך? איך הם מגיעים אליך? במה בדיוק אתה עוזר להם?
לדוגמא חברת BOA Ideas יודעים לקחת לקוח קטן שיש לו חנות פיזית ולפתוח לו חנות אינטרנטית בשופיפיי. הם בנו סביב זה תהליך והיום בזמן מאוד קצר הם יכולים לתת פיתרון ללקוח. הלקוח הוא עדיין קטן וזה פרויקט שלכאורה "קל" להשיג, והפיתרון שלהם יותר טוב מכל פרילאנסר שיבנה אתר תפור עבור הלקוחות הספציפיים שלהם. אבל, הם לא הולכים לעזור למישהו שרוצה אתר תדמית או אתר לבלוג - אך ורק מישהו שיש לו כבר חנות פיזית ורוצה להעביר אותה לדיגיטל.
רב מסר מפעילים מערכת דיוור שאינסוף בעלי עסקים קטנים משתמשים בה כדי לשלוח מייל ללקוחות שלהם ולנהל את רשימות הלקוחות. בתור בעל עסק הבחירה להשתמש במערכת הקיימת של רב מסר היא הרבה יותר הגיונית מלפתח משהו בעצמך עם פרילאנסר ספציפי.
ויש עוד עשרות ומאות דוגמאות לחברות מצליחות שעובדות עם בעלי עסקים קטנים או לקוחות פרטיים כדי לפתור להם בעיות.
ומה לגבי פרילאנסרים?
גם פה מהיכרות עמוקה עם התחום אני יודע להגיד שפרילאנסרים שמרוויחים טוב לא עובדים עם לקוחות פרטיים קטנים אלא עם חברות גדולות. בתור מתכנת Node.JS מקצועי יהיה לך הרבה יותר קל לקבל תשלום על פיתוח מודול מורכב שמתממשק עם מערכת של חברה גדולה מאשר פיתוח של אתר אינטרנט או בלוג.עצה ששווה שני גרוש
אפשר לעבוד עם Node.JS ולפתח מוצר שעוזר לאותם לקוחות קטנים שאתה מדבר עליהם. המוצר שלך יהיה הרבה יותר רווחי מאשר לבנות לכל לקוח פיתרון מותאם אישית עבורו.אפשר גם להחליט לפתח קוד בהתאמה אישית ללקוח, אבל פה צריך להבין שלקוח פרטי לא צריך/יכול/רוצה לשלם על זה. כמו שאני לא אלך לחייט פרטי בשביל בגד ללבוש לסופר. בתור חייט פרטי אתה צריך לקוחות שמוכנים לשלם וכן גם פה תצטרך לעבוד קשה בשביל שיגיעו אליך."
די מתאים לכל מה שנאמר פה, עושה סדר, ומחדד את הדילמות.
-
ליבת השאלה (זהה לשניהם), אחר קיצוץ הפתיח והסיום:
"עבדתי תקופה ארוכה בחברה גדולה, בפיתוח אפליקציות ווב מתקדמות עם nodejs בצד שרת. התמקצעתי יפה מאוד בזה.
כעת עזבתי שם ועברתי להיות עצמאי. זה אומר שאני מתחיל לקחת עצמאית פרוייקטים מלקוחות, וזה אומר שמטבע הדברים הפרוייקטים הללו (לפחות הקלים להשגה) הם פרוייקטים לא גדולים, משהו בין אתרי אינטרנט קלאסיים או מתקדמים קצת או אפליקציות אינטרנט פשוטות.זה הציב אותי במצב שלא התכוננתי אליו: כדי ליצור לבן אדם אתר אינטרנט, גם אם הוא לא בתבנית קלאסית, עדיין ברוב המקרים לא משתלם לפתח הכל בnodejs מאפס, הרבה יותר קצר ויעיל לעבוד עם משהו מוכן של וורדפרס ולעשות בו התאמות לפי הצורך. יהיה לא הוגן כלפי הלקוח להשקיע עבודה בלייצר בnode רק כי כך נוח לי, ולפעמים גם התוצאה תצא פחות טובה מבחינות מסוימות.
מאידך, למרות שאני יודע PHP, אין לי שום רצון לעבוד עם השפה המיושנת הזו, ולא עם הטכנולוגיה המסורבלת הזו של מערכת ניהול תוכן כמו וורדפרס. אני מתכנת ורוצה לכתוב קוד, ורוצה לכתוב אותו ב JS. אני גם לא מכיר את וורדפרס מספיק כדי לשפוט מתי מוצדק להשתמש בו.
בשבועות האחרונים חרשתי את הרשת לנסות להבין אם יש חלופות טובות מספיק בJS, כאלו שמחד יקצרו את הדרך ויספקו לי שלד תוכנה מוכן ויוזילו עלויות ומאידך ישאירו לי את השליטה וכו'. ראיתי שיש כל מיני דברים ברשת בודאי בצד לקוח וגם בצד שרת (ספריות שונות של templates, cms, headless cms ועוד), אבל אף אחד מהם לא באמת עושה מה שאני מצפה, וגם לאף אחד אין את העושר של וורדפרס.האם זה אומר שמפתח עצמאי שעובד עם לקוחות קטנים ו-nodejs לא הולך יחד? node מתאים רק לפרוייקטים גדולים כמו אפליקציות אינטרנט? כאלו שההשקעה בבניית השלד ותחזוקו משתלמת?"
-
-