תכנות למתחילים: מה זה JavaScript?

תכנות למתחילים: מה זה JavaScript?

  • פרסומת

ג'אבה סקריפט היא שפת תכנות ליצירת אתרים דינאמיים. זוהי גם שפת התכנות הכי נפוצה שקיימת כיום בבניית אתרים. ג'אבה סקריפט פועלת בצד המשתמש (Client Side Scripting) בשונה משפות כמו PHP או ASP אשר פועלות בצד שרת (Server Side Scripting).

האם JavaScript ו- Java הן אותה שפה?

לא. ג'אבה (Java) הינה שפת תכנות עם גישה לשכבות הנמוכות של מערכת ההפעלה (low level) לעומת מג'אבה סקריפט (JavaScript) אשר מתקיימת בתוך הדפדפן (אך לא רק – נרחיב על כך בהמשך). ג'אבה הינה שפה המשמשת ליצירת תוכנות ואפילו משחקי מחשב, בניגוד לג'אבה סקריפט המשמשת בעיקר לבניית אתרים. בתחילת דרכה, נקראה השפה בשם מוקה (Mocha), ופותחה על ידי חברת נטסקייפ (זוכרים את הדפדפן?). בהמשך הפיתוח הועבר לחברת Sun Microsystems ששינתה את שמה ל-JavaScript, אולי בגלל שאותה חברה גם פיתחה את שפת Java.

JavaScript היא שפה מפורשת (Interpreted)

בניגוד לשפות כמו Java שמתורגמות לשפת מכונה (compiled), שפת JavaScript מפורשת על ידי הדפדפן (או כל כלי אחר) בזמן אמת. זה הופך את השפה ליותר איטית בהשוואה לשפות מתורגמות (בין 10x ל-100x יותר איטית) אך זהו עניין זניח כשמדובר באתרי אינטרנט שרובם ככולם לא דורשים עיבודים מורכבים.

מה ההבדל בין תכנות צד שרת לבין תכנות צד משתמש?

בשביל להבין מה ההבדל בין השניים, עלינו ראשית להבין איך השרת עובד. השרת הינו מחשב מרוחק אליו אנחנו מתחברים כאשר אנו רוצים לצפות באתר מסויים. כאשר אנו רושמים כתובת של אתר מסויים, כמו לדוגמא www.google.com, אנו מתחברים לשרת שעליו נמצא אותו אתר ושולחים אליו בקשה לצפות בדף הראשי שלו. השרת אז מעבד את הבקשה ושולח את הפלט המבוקש חזרה. וכאן נמצא ההבדל בין שתי השיטות: האחת מבצעת את הפעולות על המחשב שלנו, והשניה עושה את הפעולות בצד השני, שהוא צד השרת. מבלבל קצת? הנה דוגמא שתבהיר קצת את העניינים: נניח שיש לנו טופס כניסה לאתר שיצרנו. המשתמש מכניס שם וסיסמא אשר צריכים להיבדק ולהתאים לנתונים הנמצאים באתר. אם נשתמש בשפה כמו php כדי לעבד את הנתונים, הטופס יצטרך להישלח לשרת כל פעם כדי לבדוק את הנתונים ולהחזיר תגובה מהשרת. במידה והנתונים לא היו נכונים, המשתמש יצטרך לתקן את מה שכתב ולשלוח את הטופס שוב – דבר הכרוך בטעינה מחדש של הדף בכל פעם ובבזבוז של זמן ושטח עיבוד של השרת.

האם JavaScript מיועדת רק לבניית אתרים?

בתחילת דרכה, עיקר השימוש של השפה היה הרצת קוד בתוך הדפדפן בצד הלקוח. אולם מספר שנים לאחר מכן השפה פרצה את תחום הדפדפנים ועברה להיות שפה ״עצמאית״ שניתן ליצור איתה הכל, ואפילו להשתמש בה לתכנות צד שרת. הדבר נעשה אפשרי אודות לפיתוח סביבת ההרצה הנקראת Node.js. בעזרת Node ניתן להריץ JavaScript ללא צורך בדפדפן. Node משתמש במנוע להרצת JavaScript שפותח על ידי Google ונקרא V8. על ידי שימוש בNode ניתן לפתח אפליקציות מבוססות JavaScript למכשירים ניידים ונייחים ולמגוון מערכות הפעלה. ל-Node יש ספריית תוספות עצומה הנקראת NPM הזוכה לפופלאריות עצומה עם כ-3 מיליארד הורדות בחודש(!!).

איך מתחילים לתכנת עם JavaScript?

בשביל להתחיל ליצור עם שפת JavaScript, ניתן להשתמש בכל תוכנה פשוטה לעיבוד טקסט, כמו כתבן. הבעיה היא שתוכנות כאלה לא עוזרות בפתרון בעיות בקוד שאנו כותבים לתוכן… אז אם אתם מתכנתים על אנושיים, שכותבים קוד ללא טעויות, תוכנה כמו כתבן עשויה להספיק לכם. לעומת זאת, אם אתם כמו רוב המתכנתים, טעויות בקוד הם עניין שבשיגרה ולכן התוכנה Eclipse יכולה לעזור:

סביבות פיתוח

סביבת פיתוח היא פלטפורמה שנועדה לעזור למתכנתים בפיתוח הקוד שלהם, על ידי מציאת שגיאות, השלמת פונקציות אוטומטית וניתוח הקוד. ישנן מספר סביבות פיתוח שניתן להוריד בחינם, כגון NetBeans, Atom, Eclipse וכאלה שעולות כסף, אך מגיעות עם יותר יכולות, כגון IntelliJ IDE. השימוש בסביבת פיתוח מומלץ מאד ויכול לקצר את זמן הפיתוח ולעזור בגילוי ומניעת תקלות בקוד.

מה ניתן לעשות עם JavaScript?

  • לבנות משחקים באינטרנט. כמו לדוגמה: משחק לוח הכפל
  • לעשות בדיקה של טפסים, לדוגמה: בדיקת סיסמה, דוא"ל, מילוי שדות
  • ליצור אפליקציות מתוחכמות כמו Google Maps בעזרת Ajax
  • לפתוח ולסגור חלונות בדפדפן ולהציג התרעות
  • ליצור תפריטים אינטראקטיביים, כמו התפריט שבראש העמוד הנ"ל. ניתן להשתמש גם ב- JQuery (ספריית קוד חיצונית) כדי להקל על העבודה
  • שליטה מלאה בכל האלמנטים באתר (DOM)
  • ועוד דברים רבים…