PracticU

מיקום הטלפון במפה של גוגל - Geolocation

בלי כתוביותעם כתוביות
PracticU › קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון › מיקום הטלפון במפה של גוגל - Geolocation
מילון מושגים:
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
Callback - פונקציה שמועברת כארגומנט לפונקציה אחרת כדי שתופעל מאוחר יותר, לרוב בסיום פעולה.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
אמולטור - תוכנה שמחקה מכשיר או סביבה אחרת, למשל כדי להריץ ולבדוק אפליקציית מובייל על המחשב.
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
ממשק - נקודת מגע בין רכיבים: ממשק משתמש שבו אדם מפעיל תוכנה, או ממשק תכנותי שמגדיר אילו פעולות רכיב אחד חושף לאחר.

מיקום הטלפון במפה של גוגל - Geolocation
השיעור מסביר את Geolocation: איך מקבלים את מיקום המשתמש בעזרת navigator.geolocation, מה המשמעות של הנתונים שמתקבלים, ואיך מציגים את המיקום על מפה של Google.
קבלת המיקום
1. הרעיון: getCurrentPosition מקבלת שתי פונקציות. הראשונה נקראת כשהמיקום התקבל, והשנייה כשיש כישלון. זו טכניקה שנקראת callback, כלומר פונקציה שנותנים לפונקציה אחרת, והיא קוראת לה בחזרה.
2. הפונקציה הראשונה: מקבלת אובייקט position, ומציגה ממנו את הנתונים באלמנט עם ה-id lblLocation.
3. הפונקציה השנייה: מקבלת אובייקט שגיאה. לפי הקוד שלו מוצגת הודעה: UNKNOWN_ERROR (0), PERMISSION_DENIED (1), POSITION_UNAVAILABLE (2) או TIMEOUT (3).
הנתונים שמתקבלים
1. longitude: קו האורך, כלומר כמה המקום נמצא ממזרח או ממערב לקו גריניץ'.
2. latitude: קו הרוחב, כלומר כמה המקום נמצא מצפון או מדרום לקו המשווה.
3. altitude: הגובה מעל פני הים, ו-accuracy ו-altitudeAccuracy מציינים את הדיוק.
4. heading ו-speed: כיוון ההליכה או הנסיעה, והמהירות.
5. timestamp: מתי נמדד המיקום. המספר הגדול נהפך לתאריך קריא בעזרת new Date(...).
בדיקה באמולטור
1. מיקום מזויף: באמולטור של Windows Phone אפשר לשנות את המיקום דרך כלי הטולס, ולבחור נקודה במפה, למשל בתל אביב.
2. בדיקה חוזרת: לאחר שינוי המיקום מריצים שוב את האפליקציה, והערכים מתעדכנים.
מעקב אחר שינויים
1. watchPosition: פונקציה שמופעלת שוב ושוב כשהמיקום משתנה, בלי צורך בטיימר משלנו.
2. מזהה המעקב: watchPosition מחזירה מזהה, ובעזרתו עוצרים את המעקב עם clearWatch. כך חוסכים סוללה כשהמשתמש לא צריך את המעקב.
מפה של Google
1. הטענת הסקריפט: מקשרים לסקריפט Google Maps API, ומציגים את המפה בתוך div עם id. ה-div מוגדר בגובה 100% ובלי מרווחים, כדי שהמפה תתפוס את כל השטח.
2. מיקום ראשוני: בפונקציית האתחול initialize מקבלים את המיקום, ומציגים את המפה במרכז המיקום, עם חלונית InfoWindow שכתוב בה You are here.
3. מיקום חלופי: במקרה של שגיאה מציגים את המפה במיקום ברירת מחדל, למשל אזור ישראל, ומציגים הודעה על השגיאה.
שימו לב
בעזרת מעקב אחר המיקום אפשר לבנות ממשק שמעדכן את המשתמש בכל תזוזה. המיקום האמיתי נבדק על טלפון אמיתי, כי האמולטור מסתמך על מיקום מוגדר מראש. כעת אפשר לקבל את מיקום המשתמש, להציג אותו על מפה, ולעצור את המעקב כשצריך.
השיעור הבא בקורס: Accelerometer

פרקי ההרצאה: מיקום הטלפון במפה של גוגל - Geolocation

  1. 00:00

    מהו Geolocation

  2. 01:43

    הפונקציה getCurrentPosition

  3. 04:14

    פונקציות callback להצלחה וכישלון

  4. 05:12

    קווי אורך ורוחב Longitude ו-Latitude

  5. 08:16

    גובה דיוק ומהירות

  6. 10:34

    המרת ה-timestamp לתאריך

  7. 14:09

    שינוי המיקום באמולטור

  8. 17:29

    מעקב מיקום עם watchPosition

תמלול ההרצאה: מיקום הטלפון במפה של גוגל - Geolocation

הטקסט המלא של הדקות הראשונות בהרצאה «מיקום הטלפון במפה של גוגל - Geolocation» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

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

  2. 00:23

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

  3. 00:40

    יש לנו פה input, button, value, showLocation, click, showUserLocation, תכף אנחנו הולכים לבנות את הפונקציה הזאת, בואו נשים פה penid lblocation, אוקיי, אז יש לנו פה את ה-user interface,

  4. 01:26

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

  5. 01:51

    אנחנו עושים את זה בעזרת navigator.geolocation ואנחנו משתמשים בפונקציה שנקראת get current position. עכשיו, הפונקציה הזאת מקבלת משהו שהוא מאוד מאוד נפוץ בעולם ה-JavaScript ובעיקר ב-FoneGap וזה פשוט פונקציות אין-ליין.

  6. 02:15

    זה אומר שאנחנו עכשיו שולחים לפונקציה הזאת get current פונקציות משלנו בניגוד למתודולוגיה תכנותית אחרת שאומרת לדוגמה באובג'קט אוריינטד או ב-C-Sharp או ב-Java אם אתם רוצים שהפונקציה תביא לכם מידע תקראו לפונקציה והפונקציה תחזיר לכם מידע ואז תקבלו את המידע לאיזשהו אובייקט הרבה פעמים

  7. 02:44

    ב-JavaScript זה לא המצב הרבה פעמים אנחנו רוצים שהפונקציה תביא לנו מידע אז אנחנו עושים משהו הפוך אנחנו שולחים לפונקציה פונקציות והפונקציה get current position קוראת לפונקציות שאנחנו שולחים לה, פה אנחנו רואים פונקציה אחת,

  8. 03:08

    ומביאה להם את המידע שהיא רוצה להחזיר לנו. לדוגמה את ה-position. זאת אומרת אנחנו יכולים עכשיו לשלוח פונקציה אחת ל-get current position במידה והיא מצליחה להשיג את המיקום של המשתמש אז היא קוראת לפונקציה הזאת שנתנו לה שזאת בעצם inline function אין לה שם אלא get coin position הולכת לקרוא לה והולכת להביא לה את ה-position

  9. 03:35

    במידה והיה כישלון אז יש פה פונקציה של error callback שאנחנו לא חייבים לשלוח אבל אנחנו יכולים בואו נשלח function אנחנו מקבלים בחזרה את השגיאה כעת כל מה שנשאר לנו לעשות זה פשוט לכתוב את שתי הפונקציות האלה כל פעם שיש לנו סוגריים וסלסלות אנחנו נכנסים ויורדים שורה זה התכנות

  10. 04:03

    הנכון עכשיו זה לא כבר שאנחנו המצאנו את שתי הפונקציות האלה שאנחנו צריכים להביא ל-get-core-in-position. כך-get-core-in-position עובדת.

  11. 04:15

    get-core-in-position אומרת לכם, תביאו לי שתי פונקציות, אחת success callback, callback זה פשוט מאוד פונקציה שאני נותן למישהו והוא קורא לה בחזרה, בגלל זה זה נקרא callback, ותביאו לי, אנחנו רואים את זה כאן, error callback, בדיוק פה, אנחנו רואים את זה במושחר,

  12. 04:37

    error callback. אם אני לא אצליח להביא לכם מאיזושהי סיבה, קוראת לפונקציה השנייה שאתם מביאים לי ונותנת לה את הסיבה לכישלון מה אנחנו רוצים לעשות בפונקציה הראשונה פונקציה הראשונה גט קורן פוזישן הולכת לקרוא לה במידה והכל היה בסדר אז כל מה שאנחנו רוצים לעשות זה לגשת למשתנה של הlbl לוקיישן בואו ניגש אליו עם jquery או שלפני זה בואו ניקח לעצמנו איזה מסג'

  13. 05:14

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

  14. 05:32

    זה יהיה position.coords, צורך של קואורדינטות, נקודה, לונגיטיוד, ונרד פה שורה.

  15. 05:53

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

  16. 06:27

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

  17. 06:47

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

  18. 07:01

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

  19. 07:21

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

  20. 07:45

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

  21. 08:01

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

  22. 08:14

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

  23. 08:26

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

  24. 08:46

    Position Chords Altitude. לאחר מכן יש לנו משתנה שנקרא Accuracy, כמה באמת הדיוק של המידע שקיבלנו. Position.chords.accuracy. לאחר מכן יש לנו דיוק של האלטיטיוד.

  25. 09:29

    הדיוק הקודם הוא היה דיוק של קו אורך וקו רוחב. עבור אלטיטיוד יש דיוק משלו. זה נקרא position.coherts.altitude.accuracy.

  26. 09:52

    לאחר מכן יש לנו אפשרות לקבל משהו שנקרא הדינג, כלומר כיוון ההליכה או הנסיעה של המשתמש. position.coherts.heading. לאחר מכן יש לנו אפשרות לקבל את הספיד שלו, מהמהירות שבה הוא נוסע או הולך, ולבסוף יש לנו אפשרות לקבל משהו שנקרא time stamp, חותמת זמן.

  27. 10:39

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

  28. 11:20

    יש לנו var date, new date וניתן לו את ה-position נקודת timestamp כעת אנחנו יכולים במקום להציג את אותו מספר ארוך שמציין כמה שניות עברו מ-1970 משהו כזה בואו פשוט נציג date.wars משורשר get minutes משורשר get seconds וזה בעצם נותן לנו את המחרוזת שברציננו עכשיו להציג אז כעת אנחנו יכולים דרך jquery

  29. 12:16

    לגשת לאותו ID של lbl-location ולהכניס בדרך html את ה-message. במידה ויש כישלון, בואו נציג error-message ובואו נבדוק.

  30. 12:55

    אוקיי, נלחץ על get-location ואנחנו רואים את הסימן הזה שמתאר שהיוזר רוצה לקחת את המיקום של המשתמש ויש לנו כאן את הפרמטרים עצמם.

  31. 13:10

    אז יש לנו longitude מינוס 122 שזה בהחלט לא ישראל, Latitude 47, גם לא ישראל, Altitude 120, Accuracy 10, Altitude Accuracy 8, Heading 180, אני הולך לכיוון 180 כנראה, Speed אני נע במהירות 5.8 ו-Time Stamp וזאת השעה הנוכחית.

  32. 13:44

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

  33. 14:10

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

  34. 14:27

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

  35. 14:51

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

  36. 15:26

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

  37. 16:14

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

  38. 16:46

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

  39. 17:12

    כל היתר אני רואה שהם אותו הדבר, חוץ מה-time stamp כמובן. אז בעצם הצלחנו כרגע להשיג את המיקום של המשתמש על ידי פונקציה getCurrentPosition ונחזור זאת הפונקציה.

  40. 17:32

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

  41. 18:00

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

  42. 18:41

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

  43. 19:05

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

  44. 19:29

    בואו נבנה אותו פה. נקרא לו WatchID. ומה שאנחנו רוצים לעשות זה לקבל את WatchID מתוך הפונקציה WatchPosition. כלומר היא תחזיר לנו את ה-WatchID.

  45. 19:53

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

  46. 20:42

    כל מה שאנחנו צריכים לעשות בשביל לנקות את הדגימה הזאת, זאת הפעולה של navigator.geolocation.clearWatch ולתת את ה-ID של אותו Watch.

  47. 21:03

    עדיף לנו אבל לעשות את הדבר הבא, עדיף להכניס בתוכו נ"ל ולבצע פה איזושהי בדיקה, כדי שלא סתם נתחיל לבטל Watch כאשר אין Watch.

  48. 21:21

    אם Watch ID, זאת אומרת הוא שונה מנ"ל, אנחנו רוצים, בואו נשים פה איזה דבר, אנחנו רוצים לכבות בעצם את הוואץ' שהדלקנו ולהכניס את ה"חונל" או אפילו נרשום פה שונה מנהל.

  49. 21:59

    ובעצם זה מבטא לנו את הדגימה האוטומטית שהמערכת ביצעה. בואו נריץ "שואו לוקיישן", "לוקיישן" מתבצע ו"קליר וואץ'" מאפשר לנקות את הלוקיישן, את הוואץ' בעצם.

  50. 22:35

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

  51. 22:55

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

  52. 23:14

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

  53. 23:42

    ואז אנחנו פשוט בודקים מה בדיוק הבעיה לפי הקוד של הארור על ידי סוויץ' עם האינאם הזה עכשיו, בג'אווה סקריפט אין אינאם אז איך אנחנו פותרים את הבעיה?

  54. 23:57

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

  55. 24:11

    הערך הראשון נקרא Unknown Error, ערכו הוא 0. הקבועים האלה חייבים להיות בדיוק המספרים

לקורס המלא: קורס PhoneGap אונליין

ההרצאה הקודמת: שמירת מידע בטלפון - Storage

ההרצאה הבאה: Accelerometer

הרצאות קשורות מקורסים אחרים

  • גוגל האקינג - Google Hacking
  • הסבר על מפות ושירותי מיקום ב-Xcode
  • פתיחת חשבון חינם בענן של גוגל
  • יצירת קלסטר של - Kubernetes - בענן של גוגל

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון