את המערכות שאני בונה אני בונה עם laravel. מה זה בדיוק? ולמה זה נחשב כאלו צוות שלם בנה את המערכת.
בעולם הפיתוח יש המון ספריות וכלים העוזרים למפתחים לפתח את המוצר במהירות ויעילות חלקם עולים כסף וחלקם הם open source כלומר הקוד שלהם מוצג למי שחפץ בכך והשימוש במערכות או בספריות הללו הוא חינם.
במקום שכל מפתח ימציא את הגלגל מחדש ויכתוב את הקוד שלו מאפס. הוא יכול לבחור להשתמש בספריות וכלים שמפתחים ובד"כ טובים ממנו כתבו. ככל שהספרייה מופרסמת ואהובה יותר כך אפשר לדעת שהקוד שלה אכותי ויעיל.
אחד הכלים המפורסמים והחזקים הוא Laravel והוא open source.
laravel הוא framework כלומר בסיס לקוד הנותן אוסף ספריות וארכיטקטורה לפיתוח המוצר.
בכל מוצר יש מספר שכבות כאשר השכבות העליונות הם בעצם הרעיון היחודי של הלקוח הרעיון של המוצר עצמו.
ויש את השכבות הבסיסיות יותר שהם בד"כ דומות בין המוצרים השונים. ניהול מסדי נתונים שליחת מיילים, התראות, ניהול הרשאות וענייני אבטחה ועוד.
בכל הדברים הללו laravel נוגע ונותן למפתח להתמקד בעיקר ברעיון היחודי של האפליקציה.
Laravel מפותחת ע"י חבורת מפתחים בראשות טיילור. אשר דואגים לעדכונים שוטפים של שיפור הfreamwork וסגירת בעיות אבטחה.
Laravel הוא freamwork מאוד אהוב עם המון stars בgithub. יש סביבו ecosystem מאוד גדול כלומר קהילה גדולה אשר תורמת מזמנה בהוספת ספריות ויכולות לfreamwork.
חלקים בקוד שlaravel עוזר לך לנהל
-
ניהול מסדי נתונים.
-
ניהול קבצים ואפשרות לשמירת קבצים בשרתים חיצוניים כמו S3 של AWS.
-
ניהול הרשאות והזדהות.
-
עניני אבטחה
-
ניהול משימות (queue & jobs) כלומר פעולות שמתבצעות ברקעלמשל המשתמש נרשם. הוא מקבל הודעה שההרשמה שלו בוצעה בהצלחה ובנתיים ברקע השרת ממשיך לעבוד ולשלוח לו מייל.
-
שליחת מיילים
-
שליחת התראות.
-
ניהול לוגים.
-
ועוד
מספר ספריות חלקם רשמיות מבית היוצר של laravel וחלקם מהקהילה.
- Laravel telescope מאפשר לעקוב בצורה נוחה אחרי השגיאות ופעולות שנעשו במערכת.
- Horiazen ניהול ומעקב אחרי פעולות שמתרחשות בשרת בעקבות פעילות של המשתמש.
- Backup ספרייה מהקהילה אשר אחראית לבצע גיבויים כל פרק זמן של מסד הנתונים והקבצים של האפליקציה עם אפשרות לשמור את הקבצים בשירות חיצוני כמו S3 של AWS.
- Nova אדמין פאנל מבית היוצר של laravel. עוזר לך להקים בקלות מערכת ניהול למנהל התוכנה. (בתשלום חד פעמי של 99$)
- מאפשר לך לבצע רישום בקלות בעזרת חשבונות של הרשתות החברתיות כמו gmail וfacebook.
- מאפשר לך לנהל את המדיה שהמשתמשים מעלים לשרת.
ועוד המון כלים.
יש שיגידו שlaravel זה כלי כבד וגדול. אבל זה לא נכון laravel נותן המון כלים שבתוך מפתח לא תמיד חשבת עליהם כמו שמירת cache לביצועים מהירים יותר.
נקודה נוספת וחשובה, בשונה מוורדפרס שהוא CMS שמאפשר גם ללא מתכנתים להקים אתרי תדמית וחנויות אבל הגמישות שלך במערכות הללו מוגבלת, Laravel מיועדת למתכנתים בלבד. והיא גמישה ולא מגבילה אותך בפיתוח המערכת אלא נותנת לך בסיס יציב לפיתוח המוצר.