מהם ההבדלים בין שפת שרת לשפת לקוח?
בעת בניית אתר אינטרנט יש צורך לבחור את שפת האתר. חשוב לבצע אבחנה בין שפת שרת לשפת הלקוח. ברגע שרושמים את כתובת האתר ומקישים Enter, אז יש פניה לשרת ושם מורץ קוד לביצוע. אותו קוד לביצוע הוא קוד בשפת שרת, בין אם PHP, ASP או פייטון. הקוד הזה מבצע בדיקות שונות (כגון: פרמטרים שהכניס הגולש, בדיקת מידע מבסיס הנתונים, וכו') ובסופו של דבר מחולל (מייצר) קוד לקוח. קוד הלקוח הוא קוד פשוט בשפת HTML או DHTML (שזה HTML עם פקודות JavaScript) שמוחזר מהשרת אל הדפדפן ושם הוא מוצג.
אתר אינטרנט טוב הוא כזה שיודע לשלב בצורה חכמה בין קוד שרת לבין קוד לקוח. קוד שרת הוא מהיר כמהירות השרת, איטי בעת עומס על השרת. קוד לקוח תלוי במהירות הדפדפן ומערכת ההפעלה של הגולש. קוד שרת הוא קוד שאינו חשוף לגולשים ולא ניתן להגיע אליו בקלות. ככזה, צריך וניתן להעזר בו להצפנות, הסתרת מידע מפולשים לא רצויים באתר, הגנות מספאם וכיוצא באלו.
איך בוחרים את שפת השרת בעת בניית אתר אינטרנט חדש?
היום נהוג לבחור בין PHP לבין ASP. ישנם הבדלים מסויימים בין 2 השפות ואלו העיקריים שביניהם:
- תחביר השפה - שפת ASP היא שפה מבית היוצר של מייקרוסופט ולכן הקוד שלה דומה לקוד של שפות Basic למיניהן (Visual Basic, Quick Basic). שפת PHP היא שפה הקרובה יותר לשפת C במבנה ובתחביר שלה, ומומלצת למי שמכיר סקריפטים של מערכות Unix כגון Perl.
- קוד פתוח - בעוד PHP היא שפת קוד פתוח וניתן למצוא המון חלקי קוד חופשיים ולשלבם ללא כל תשלום בקוד שלכם, שפת ASP היא קצת מוגבלת בקוד הפתוח הנכתב עבורה.
- אחסון אתרים - שרתים התומכים ב ASP דורשים התקנה מיוחדת של שרת ASP ולכן האחסון של אתרי ASP יקר מעט יותר.
ומה זה Ajax?
קוד Ajax הוא למעשה קוד לקוח הכתוב ב JavaScript המבצע פקודה ישירה לשרת ומתחיל הרצת קטע קוד שם בצורה לא סינכרונית (כלומר: לא מחכים שהקוד שם יסתיים לרוץ, אלא ממשיכים בפקודות ה-JS). ברגע שמסתיים הקוד על השרת לרוץ, נקבל "איתות" אצלנו ב-JS ונוכל לבצע דברים מסויימים בהתאם.
מדוע קוד כזה הוא נחוץ? מומלץ לשלב קטעי Ajax כדי להפעיל אובייקטים מסויימים אצלנו על המסך ללא רענון חוזר ונשנה שוב ושוב. למשל, הוספנו תגובה למאמר? אין צורך לרענן את העמוד כדי להציגה. נשלח פקודה לשרת שיש תגובה חדשה ומיד נציג אותה גם בעמוד.
ההבדל בין PHP ל-PYTHON
השפות PHP ו-PYTHON שתיהן שפות פיתוח לצד שרת.
שפת PHP הרבה יותר מוכרת ונפוצה, יש לה תמיכה רחבה יותר בקהילת המתכנתים. למעשה, זוהי השפה הנפוצה בעולם לפיתוח אתרי אינטרנט, והיא מהווה את הבסיס לפלטפורמות מאוד מוכרות כגון וורדפרס, ג'ומלה, דרופל, מג'נטו ועוד. אתרים מאוד גדולים נבנו על בסיס שפת PHP, לדוגמה פייסבוק.
השפה PYTHON משמעותית פחות נפוצה לפיתוח אתרי אינטרנט ורק חלק מאוד שולי מהאתרים בעולם מפותחים בשפה זו. לכן, קהילת המפתחים ב-PYTHON קטנה יותר ומציאת מודולים, קטעי קוד, הסברים והכוונות ב-PYTHON הרבה יותר מורכבים מאשר ב-PHP.
מבחינת מבנה השפה, לכל שפה יש כמובן יתרונות וחסרונות. ברמה הסינטקטית (תחביר), שפת PHP הרבה יותר סטנדרטית והתחביר שלה דומה לשפות מוכרות כגון C, C++, C#, JAVA בעוד התחביר של PYTHON קצת אחר, ולכן עקומת הלמידה היא רחבה יותר ב-PYTHON.
מבחינת מהירויות, בהשוואות רבות שנערכו בין גירסת PHP 7 החדישה לבין PYTHON 3, נמצא כי ברוב מוחץ של המקרים המהירות בשפת PHP גבוהה יותר. אפשר לחפש באינטרנט השוואות רבות בין 2 השפות, למשל על ידי חיפוש הביטוי: php vs python benchmark.
תודה,
דוד
Php
מאמר בהיר מובן ופשוט (ל"ת)
מעולה