חלק א: מהו פריימוורק?
בכדי להסביר בצורה מוחשית את צורת הפעולה של פריימוורק, מהו פריימוורק, ולאיזו מטרה הוא נועד, אנסה להסביר באמצעות מקרה אמיתי.
נניח שיש לי טופס בן 20 שדות טקסט, כולם שדות חובה.
כעת אני מעוניין לבצע ואליצדיה על כל אותם שדות.
האם אצטרך לכתוב 40 פעמים את המשפט המרגיז document.getElementById ?
(20 פעם לשדה הטקסט, ועוד 20 לאובייקט עם הכוכבית)
כמובן שתמיד אני יעשה "העתק/הדבק"... אך האם לא חבל על כל הטקסט הזה?
בואו נחשוב:
מה למעשה מספק לנו המשפט הזה?
הוא בסך הכל קריאה לפונקציה הקיימת במערכת, שמחזירה אובייקט [אלמנט] לפי מאפיין ה ID שלו.
האם בגלל שמתכנני השפה לא חסכו באותיות, אנחנו ניאלץ להשתמש באותו אורך בכל קריאה לפונקציה?
מה דעתכם על הרעיון הבא?
אני מגדיר פונקציה עם שם בעל אות אחת בלבד!
הפונקציה מקבלת ID, ומחזירה אלמנט.
איך?
פשוט: היא מחזירה לפי document.getElementById.....
נקרא לפונקציה שלנו G.
והיא תיראה כך:
כאשר אני ארצה לקרוא לאובייקט, במקום להשתמש בקריאה ארוכה כל כך, אני פשוט יכתוב כך:
כעת עשיתי את אותה פעולה בדיוק כמו הפעולה הוותיקה של
נחמד, נכון?
לכן כעת מעכשיו, בכל פעם שאני בכלל יתחיל לכתוב קוד עבור דף מסויים, אני יכתוב בו פעם אחת את פונקציית G, ואתרגל מעתה לא להשתמש יותר ב document.getElementById
יום אחד גיליתי עוד רעיון נחמד מאד.
אם את שדה הטקסט אני יכנה למשל txt_name או txt_address וכדומה
ואת אובייקט הכוכבית האדומה, אני יכנה txt_name_star או txt_address_star
זאת אומרת תמיד תמיד אני יתן את אותו ID בדיוק, בתוספת המחרוזת star_
כעת, אני ימציא פונקציה בשם check, ובכל פעם שארצה לבדוק שדה, אקרא לפונקציה עם ה ID שלו, היא תקרא לאובייקט באמצעות G, ובאם הוא לא תקין, היא תקרא באמצעות G לאובייקט "id+"_star ואז תהפוך אותו לגלוי...
במידה והוא תקין, היא תסתיר את הכוכבית.
כך, במשך הזמן הצטברו לי כמה וכמה פונקציות ממש שימושיות, ובכל פרוייקט חדש שכתבתי, מייד עשיתי העתק הדבק של כל הפונקציות הללו.
רגע, לא חבל כל פעם לעשות העתק הדבק?
הרי אפשר לשמור אותו כקובץ עם סיומת JS, ובכל דף חדש, לשים תגית SCRIPT שתפנה אליו.
וכך, למרות שאת הפקודות אכתוב בדף ה HTML עצמו, או בקובץ JS אחר לחלוטין, אבל בגלל שהתגית SCRIPT שלו תהיה ממוקמת ראשונה, הפונקציות שאכתוב, "יכירו" את כל הפונקציות שכתובות בו.
וכך הלכו המתכנתים ויצרו לעצמם כמה "ליבות" כאלו, לשימושם האישי ולהפצה אצל חברים.
הפריימוורק הוא למעשה קובץ JS, שנקרא כבר בתחילת העמוד, והוא בערך כמו הדוגמה שנתתי עם פונקציית G ועם עוד שלל נרחב של תכונות ופונקציות.
הפריימוורק גם פועל בצורה אחידה בכל הדפדפנים וחוסך את הבדיקה באיזה דפדפן מדובר ומה נצרכים על מנת להחיל עליו את השינויים הדרושים.
למתכנת ישנו רק צורך להכיר וללמוד את הפריימוורק, ולבצע המוני פעולות שהוא היה רגיל לכתוב עבורם קוד ארוך מאד, בקריאה קצרצרה באמצעות אותו פריימוורק.
כשהפריימוורקים השונים התחילו לצבור תאוצה, ומתכנתים העבירו אותם מאחד לשני, נתגלה ה JQUERY כאחד הפופולריים ביותר.
על כך, באשכול הזה בתגובה הבאה.
בכדי להסביר בצורה מוחשית את צורת הפעולה של פריימוורק, מהו פריימוורק, ולאיזו מטרה הוא נועד, אנסה להסביר באמצעות מקרה אמיתי.
נניח שיש לי טופס בן 20 שדות טקסט, כולם שדות חובה.
כעת אני מעוניין לבצע ואליצדיה על כל אותם שדות.
האם אצטרך לכתוב 40 פעמים את המשפט המרגיז document.getElementById ?
(20 פעם לשדה הטקסט, ועוד 20 לאובייקט עם הכוכבית)
כמובן שתמיד אני יעשה "העתק/הדבק"... אך האם לא חבל על כל הטקסט הזה?
בואו נחשוב:
מה למעשה מספק לנו המשפט הזה?
הוא בסך הכל קריאה לפונקציה הקיימת במערכת, שמחזירה אובייקט [אלמנט] לפי מאפיין ה ID שלו.
האם בגלל שמתכנני השפה לא חסכו באותיות, אנחנו ניאלץ להשתמש באותו אורך בכל קריאה לפונקציה?
מה דעתכם על הרעיון הבא?
אני מגדיר פונקציה עם שם בעל אות אחת בלבד!
הפונקציה מקבלת ID, ומחזירה אלמנט.
איך?
פשוט: היא מחזירה לפי document.getElementById.....
נקרא לפונקציה שלנו G.
והיא תיראה כך:
PHP:
function G(id){
return document.getElementById(id);
}
כאשר אני ארצה לקרוא לאובייקט, במקום להשתמש בקריאה ארוכה כל כך, אני פשוט יכתוב כך:
PHP:
var name = G("txt_name");
כעת עשיתי את אותה פעולה בדיוק כמו הפעולה הוותיקה של
PHP:
var name = document.getElementById("txt_name");
נחמד, נכון?
לכן כעת מעכשיו, בכל פעם שאני בכלל יתחיל לכתוב קוד עבור דף מסויים, אני יכתוב בו פעם אחת את פונקציית G, ואתרגל מעתה לא להשתמש יותר ב document.getElementById
יום אחד גיליתי עוד רעיון נחמד מאד.
אם את שדה הטקסט אני יכנה למשל txt_name או txt_address וכדומה
ואת אובייקט הכוכבית האדומה, אני יכנה txt_name_star או txt_address_star
זאת אומרת תמיד תמיד אני יתן את אותו ID בדיוק, בתוספת המחרוזת star_
כעת, אני ימציא פונקציה בשם check, ובכל פעם שארצה לבדוק שדה, אקרא לפונקציה עם ה ID שלו, היא תקרא לאובייקט באמצעות G, ובאם הוא לא תקין, היא תקרא באמצעות G לאובייקט "id+"_star ואז תהפוך אותו לגלוי...
במידה והוא תקין, היא תסתיר את הכוכבית.
כך, במשך הזמן הצטברו לי כמה וכמה פונקציות ממש שימושיות, ובכל פרוייקט חדש שכתבתי, מייד עשיתי העתק הדבק של כל הפונקציות הללו.
רגע, לא חבל כל פעם לעשות העתק הדבק?
הרי אפשר לשמור אותו כקובץ עם סיומת JS, ובכל דף חדש, לשים תגית SCRIPT שתפנה אליו.
וכך, למרות שאת הפקודות אכתוב בדף ה HTML עצמו, או בקובץ JS אחר לחלוטין, אבל בגלל שהתגית SCRIPT שלו תהיה ממוקמת ראשונה, הפונקציות שאכתוב, "יכירו" את כל הפונקציות שכתובות בו.
וכך הלכו המתכנתים ויצרו לעצמם כמה "ליבות" כאלו, לשימושם האישי ולהפצה אצל חברים.
הפריימוורק הוא למעשה קובץ JS, שנקרא כבר בתחילת העמוד, והוא בערך כמו הדוגמה שנתתי עם פונקציית G ועם עוד שלל נרחב של תכונות ופונקציות.
הפריימוורק גם פועל בצורה אחידה בכל הדפדפנים וחוסך את הבדיקה באיזה דפדפן מדובר ומה נצרכים על מנת להחיל עליו את השינויים הדרושים.
למתכנת ישנו רק צורך להכיר וללמוד את הפריימוורק, ולבצע המוני פעולות שהוא היה רגיל לכתוב עבורם קוד ארוך מאד, בקריאה קצרצרה באמצעות אותו פריימוורק.
כשהפריימוורקים השונים התחילו לצבור תאוצה, ומתכנתים העבירו אותם מאחד לשני, נתגלה ה JQUERY כאחד הפופולריים ביותר.
על כך, באשכול הזה בתגובה הבאה.