מהם המושגים של פריימוורק לספרייה?
שניים מהמושגים שתפגשו לא מעט בלימודי התכנות הם פריימוורק (Framework) וספרייה (Library). בעיקרון מרבית הספריות והפריימוורקים הם קודים לשימוש חוזר. הקודים האלה אמנם נכתבו על ידי אחרים, אבל יכולים לסייע לכם לפתור בקלות בעיות נפוצות בקוד שלכם.
אבל מהם השניים ומה ההבדל ביניהם?
מפתחים משתמשים בדרך כלל לסירוגין במונחים "ספרייה" (Library) ו"פריימוורק" (Framework), אבל יש ביניהן הבדל מהותי שכדאי להבין.
אם אתם מתכנתים ויצא לכם ליצור פונקציה, כדי שתחסוך לכם עבודה, אז ברכותינו - גם אם היא שלכם ונכתבה על ידכם, יצרתם ספרייה!
פריימוורק היא מסגרת תכנותית שאתם בוחרים והיא תקבע לכם את האופן בו תעבדו ותפתחו, בתמורה לקלות וליד מכוונת שהיא תציע לכם.
ספרייה היא כמו לקנות רהיטים מ-Ikea. נניח שיש לכם בית (במטפורה זהו הקוד שלכם) ואתם צריכים עזרה ברהיטים שיהיו בו. במקום שתצטרכו לבנות שולחן מאפס, כלומר לכתוב הכל בעצמכם, איקאה מציעה לכם שולחנות מוכנים שרק צריך להביא ולהרכיב בבית שלכם. עם הספריות אתם בשליטה ובקוד, בניגוד לאיקאה, זה אפילו בחינם!
פריימוורק, לעומת הספרייה, היא יותר כמו לבנות מודל של בית. ניתן לדמות את הפריימוורק לסדרה של שרטוטים ולמבחר אפשרויות מוגדר של האדריכלות והעיצוב שלו. עם פריימוורק לא תוכלו לעשות כל מה שברצונכם, אבל זה גם יתרון, כי השליטה היא בידיו והוא יבקש מכם לתת את מה שהוא צריך ויבנה לכם את מה שאתם צריכים.
בשימוש בספרייה, המתכנת הוא האחראי על זרימת היישום. הוא שבוחר מתי ואיפה להתקשר לספריה. כשמשתמשים בפריימוורק, היא שאחראית על הזרימה. כי הפריימוורק מציע למתכנת כמה מקומות לחבר את הקוד אבל זה הוא שקורא לקוד הזה לפי הצורך.
הפריימוורק לוקח את השליטה בתוכנית ואומר למתכנת מה הוא צריך. הוא דעתן ונותן למפתח פחות חופש, אבל בתמורה מספק לו בטחון וקלות בקידוד.
בספריה זה הפוך. המפתח מתקשר לספרייה ומשתמש בה כשהוא זקוק לה. למקודד יש כאן הרבה יותר חופש, אבל גם יותר אחריות וקידוד.
שניים מהמושגים שתפגשו לא מעט בלימודי התכנות הם פריימוורק (Framework) וספרייה (Library). בעיקרון מרבית הספריות והפריימוורקים הם קודים לשימוש חוזר. הקודים האלה אמנם נכתבו על ידי אחרים, אבל יכולים לסייע לכם לפתור בקלות בעיות נפוצות בקוד שלכם.
אבל מהם השניים ומה ההבדל ביניהם?
ההבדלים
ספריות ופריימוורקס (בעברית מסגרות) הן שתיהן רכיבי קוד שנכתב על ידי אחרים ומשמש לפתרון בעיות נפוצות.
מפתחים משתמשים בדרך כלל לסירוגין במונחים "ספרייה" (Library) ו"פריימוורק" (Framework), אבל יש ביניהן הבדל מהותי שכדאי להבין.
אם אתם מתכנתים ויצא לכם ליצור פונקציה, כדי שתחסוך לכם עבודה, אז ברכותינו - גם אם היא שלכם ונכתבה על ידכם, יצרתם ספרייה!
פריימוורק היא מסגרת תכנותית שאתם בוחרים והיא תקבע לכם את האופן בו תעבדו ותפתחו, בתמורה לקלות וליד מכוונת שהיא תציע לכם.
המחשת ההבדלים
בואו נדמה את השניים לדברים שאתם מכירים מהבית שלכם:
ספרייה היא כמו לקנות רהיטים מ-Ikea. נניח שיש לכם בית (במטפורה זהו הקוד שלכם) ואתם צריכים עזרה ברהיטים שיהיו בו. במקום שתצטרכו לבנות שולחן מאפס, כלומר לכתוב הכל בעצמכם, איקאה מציעה לכם שולחנות מוכנים שרק צריך להביא ולהרכיב בבית שלכם. עם הספריות אתם בשליטה ובקוד, בניגוד לאיקאה, זה אפילו בחינם!
פריימוורק, לעומת הספרייה, היא יותר כמו לבנות מודל של בית. ניתן לדמות את הפריימוורק לסדרה של שרטוטים ולמבחר אפשרויות מוגדר של האדריכלות והעיצוב שלו. עם פריימוורק לא תוכלו לעשות כל מה שברצונכם, אבל זה גם יתרון, כי השליטה היא בידיו והוא יבקש מכם לתת את מה שהוא צריך ויבנה לכם את מה שאתם צריכים.
ההבדל הטכני ביניהם
ההבדל הטכני בין פריימוורק לספרייה קשור ב"היפוך שליטה". אם בספרייה השליטה היא בידי המתכנת שמשתמש בה כרצונו, בפריימוורק השליטה היא בידי הפריימוורק.
בשימוש בספרייה, המתכנת הוא האחראי על זרימת היישום. הוא שבוחר מתי ואיפה להתקשר לספריה. כשמשתמשים בפריימוורק, היא שאחראית על הזרימה. כי הפריימוורק מציע למתכנת כמה מקומות לחבר את הקוד אבל זה הוא שקורא לקוד הזה לפי הצורך.
סיכום
פריימוורק וספריות הם שניהם קוד שנכתב על ידי אחרים וניתן להסתייע בו כדי לבצע משימות נפוצות עם פחות קוד.
הפריימוורק לוקח את השליטה בתוכנית ואומר למתכנת מה הוא צריך. הוא דעתן ונותן למפתח פחות חופש, אבל בתמורה מספק לו בטחון וקלות בקידוד.
בספריה זה הפוך. המפתח מתקשר לספרייה ומשתמש בה כשהוא זקוק לה. למקודד יש כאן הרבה יותר חופש, אבל גם יותר אחריות וקידוד.