לדלג לתוכן

מה זה API - ההסבר הכי פשוט שתמצאו

אם עבדתם פעם עם מתכנתים, או סתם קראתם כתבה על טכנולוגיה, בטוח נתקלתם במילה הזאת בערך מיליון פעם - API. כולם משתמשים בה, כאילו כולם מבינים בדיוק למה הכוונה, אבל כשמנסים לשאול "רגע, אז מה זה בעצם", מקבלים הסברים מסובכים על "ממשקי תכנות" שרק מבלבלים עוד יותר.

אז בואו נעשה את זה פשוט באמת.

האנלוגיה שתבהיר הכל - מסעדה

תדמיינו שאתם יושבים במסעדה. אתם לא נכנסים למטבח, לא מדברים ישירות עם הטבח, ולא רואים מה קורה שם בפנים. במקום זה, יש לכם תפריט, ואתם קוראים למלצר, אומרים לו מה אתם רוצים, והוא הולך למטבח ומביא לכם בדיוק את זה.

המלצר הזה הוא בדיוק ה-API. הוא הממשק שדרכו אתם, הלקוח, מבקשים משהו מהמטבח, בלי שאתם צריכים לדעת איך המטבח בכלל עובד. אתם לא צריכים לדעת אילו סירים הם משתמשים או מה הסדר שבו הם מבשלים. אתם רק צריכים לדעת מה אפשר להזמין, ומה תקבלו בחזרה.

עכשיו נעביר את זה לעולם התכנות

API, ראשי תיבות של Application Programming Interface, הוא בדיוק אותו רעיון בין שתי תוכנות. תוכנה אחת (המלצר) חושפת רשימה של פעולות שאפשר לבקש ממנה, ותוכנה שנייה (אתם, הלקוח) שולחת בקשה לפי הכללים האלה ומקבלת תשובה.

לדוגמה - אפליקציית מזג אוויר בטלפון שלכם לא "יודעת" בעצמה מה מזג האוויר. היא שולחת בקשה ל-API של שירות מטאורולוגי כלשהו, ואומרת בערך "תן לי את מזג האוויר בתל אביב". השירות המטאורולוגי מחזיר תשובה, נניח 28 מעלות ושמש, והאפליקציה מציגה את זה יפה על המסך. האפליקציה לא צריכה לדעת איך חוזים מזג אוויר, בדיוק כמו שאתם לא צריכים לדעת איך מבשלים את המנה שהזמנתם.

אז למה זה כזה מרכזי בתכנות

כי כמעט כל תוכנה מודרנית בנויה מחלקים שמדברים אחד עם השני דרך API. כשאתם פותחים אפליקציה בטלפון, היא מדברת עם שרת דרך API. כשאתר מציג לכם מפה של גוגל, הוא משתמש ב-API של גוגל מפות. כשאתם מתחברים לאתר עם חשבון הפייסבוק שלכם, זה קורה דרך API.

וברגע שאתם עוברים מלכתוב תוכניות קטנות למשהו שדומה לפיתוח אמיתי, אתם מגלים שרוב העבודה של מפתח צד שרת היא בדיוק זה - לבנות API. אתם בונים את "המלצר" עצמו. אתם מחליטים אילו בקשות אפשר לשלוח, מה כל בקשה מחזירה, ואיך היא מתנהגת כשמשהו משתבש.

הטעות הכי נפוצה שמתחילים עושים

הרבה אנשים חושבים ש-API זה משהו שקשור רק לחברות ענק כמו גוגל או פייסבוק, אבל זו טעות. כל פרויקט צד שרת שתבנו, אפילו הכי קטן, כולל API. אם אתם בונים אתר עם התחברות משתמשים, יש שם API. אם אתם בונים אפליקציה שמנהלת רשימת משימות, יש שם API. זה לא משהו אקזוטי, זה הבסיס של כל תקשורת בין הצד שרואים (frontend) לצד שמריץ את הלוגיקה (backend).

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

איך לומדים לבנות API בעצמכם

ההבנה התיאורטית חשובה, אבל היא רק ההתחלה. הדרך האמיתית להבין API היא לבנות אחד בעצמכם ולראות איך הבקשות והתשובות עובדות בפועל. בקורס צד השרת שלנו אנחנו בונים API אמיתיים מהשורה הראשונה, עם FastAPI, כולל התחברות משתמשים, עבודה עם מסדי נתונים, וכל מה שצריך כדי שהאפליקציה שלכם באמת תעבוד.

קורס צד שרת המלא נמצא כאן, ומתחיל מהיסודות ומתקדם עד לנושאים כמו Redis ותורי הודעות.

ואם יש לכם שאלות תוך כדי הלמידה, אל תישארו תקועים לבד. בדיסקורד שלנו יש קהילה שלמה שעונה על שאלות ועוברת בדיוק את אותו תהליך.

הצטרפו לקהילה בדיסקורד

לסיכום

API זה לא מונח מפחיד, זה רק שם למשהו שכולנו מכירים מהחיים - דרך מוסכמת לבקש משהו מגורם אחר בלי לדעת מה קורה מאחורי הקלעים. ברגע שהאנלוגיה של המלצר נכנסת לכם לראש, כל שיחה על REST API, בקשות ותשובות, תתחיל להיראות הרבה יותר הגיונית. וזה בדיוק הבסיס שעליו בנוי כל פיתוח צד שרת.