JavaRush /בלוג Java /Random-HE /למה פיתוח אנדרואיד? מניסיון אישי. נימוקים ועובדות
Oleksandr Klymenko
רָמָה
Харків

למה פיתוח אנדרואיד? מניסיון אישי. נימוקים ועובדות

פורסם בקבוצה
אם אתה מאלה שעדיין לא החליטו היכן ליישם את הידע שלהם ב-Java, אז המאמר הזה הוא בהחלט בשבילך. המאמר דן בכיוון כזה כמו פיתוח אנדרואיד. הסיפור על איך הפכתי למפתח אנדרואיד. טיפים ואפשרויות לבחירת פיתוח אנדרואיד. היכנס!
למה פיתוח אנדרואיד?  מניסיון אישי.  נימוק ועובדות - 1
שלום תלמידי JavaRush! לרבים מכם כבר יש מושג באילו תעשיות בתחום ה-IT משתמשים בג'אווה האהובה שלנו. חלקכם אולי כבר החליטו ובחרו. במאמר זה אספר לכם כיצד הפכתי למפתח אנדרואיד. אני אסביר למה אני חושב שהכיוון הזה הוא המבטיח ביותר. אני אתן לך הבנה של מה זה פיתוח אנדרואיד. וכמובן, אחלוק טיפים להתחלה מוצלחת של הקריירה שלך כמפתחי אנדרואיד.
למה פיתוח אנדרואיד?  מניסיון אישי.  נימוק ועובדות - 2

אני אתחיל בהיסטוריה

אני יודע מעצמי שאנשים רבים אוהבים לקרוא את סיפורי הפיתוח/הצלחה של תלמידי JavaRush אחרים. זה אפילו נכון להיות עניין בזה. טעויות של אחרים, פעולות נכונות, חוויות - כל זה יכול להיות שימושי עבור מישהו לקבל החלטה במצב אמיתי. אבל יש גם כאלה שלא מתעניינים במיוחד בכל הסיפורים האלה. להלן אחד מהסיפורים הללו, והקריאה בו תלויה רק ​​ברצונכם =) ההיכרות הראשונה שלי עם אנדרואיד הייתה בקיץ 2016. באותה תקופה לא הכרתי את ג'אווה בכלל. הידע היחיד שהיה לי היה ניסיון בתכנות באוניברסיטה בשנה הראשונה ב-C/C++ וקצת ידע בפריסת html/css. באותה שנה קיבלתי את הסמארטפון הראשון שלי עם מערכת הפעלה אנדרואיד. אני זוכר איך התגבר עלי התשוקה הפרועה לכתוב ולהשיק עליו אפליקציה משלי. בלי לבזבז זמן, התחלתי לחקור. והתברר ששפת התכנות העיקרית לפיתוח אנדרואיד היא java. לא נואש, התחלתי לצפות בסרטוני הדרכה שאמרו לי איך להכין ולהגדיר את סביבת הפיתוח. לאחר שבדקתי את כל הקורסים באינטרנט שהיו זמינים באופן חופשי באותה תקופה, המעניינים ביותר ולדעתי מתוכננים היטב היו השיעורים של אלכסנדר קלימוב. לאחר שסיימתי 18 שיעורים תוך כשבועיים, יצאתי לשחייה חופשית. היו לי רעיונות משלי ויחד עם גוגל ניסיתי ליישם אותם. את רוב הפיתוח ביצעתי בסימון xml - זהו ייצוג ויזואלי של המסך. אם היה צורך לערוך ישירות את קוד Java, אז פשוט הקלדתי בגוגל תיאור של מה שאני רוצה להשיג והעתקתי את הקוד המוכן (לרוב מ-StackOverFlow). ואז ב-Android Studio ערכתי את זה עד שזה עבד. הגישה הלא פרודוקטיבית הזו הבהירה לי שללא ידע ביסודות הג'אווה לא אגיע רחוק. לאחר חודש של ידע שלי באנדרואיד, במקרה, הציעו לי לפתח אפליקציות אנדרואיד בחברה שבה אבי עבד כמפתח iOS. מטבע הדברים, לא היה מדובר בשכר כלשהו, ​​זה היה נוהג וולונטרי, ואם הקוד שלי היה שימושי למשהו, הוא היה נשאר בתוצר הסופי. וכך קרה, תוך חודש פחות או יותר הבנתי את פריסת ה-xml והצלחתי לעצב מחדש מסכים רבים של אחת האפליקציות. בעל החברה הודיע ​​לי שתוצאת עבודתי נמכרה בהצלחה ללקוח והעניקה לי פרס של 100$. אז נשארתי לעבוד בחברה הזאת עם משכורת מאוד מאוד מאוד קטנה, אבל עם הזדמנות ללמוד מפרויקטים אמיתיים. אחרי שהתעמקתי בפרויקטים האלה במשך ימים, ולא בלי עזרה של עובדים אדיבים, הבנתי את ג'אווה ואת הנקודות העיקריות של פיתוח אנדרואיד. לכן, חודש אחרי חודש שילבתי את הלימודים באוניברסיטה עם הלימודים בעבודה. באביב 2017 למדתי על פרויקט JavaRush מחברתי לכיתה, היא רכשה מנוי וסיימה את רוב הקורס. התעניינתי והחלטתי לנסות את זה. המעבר על החלק החינמי של JavaRush היה עבורי, לרוב, למטרות מחקר, כי... רמת הידע שלי הייתה גבוהה יותר מקהל היעד של הקורס. היה לי מאוד חשוב גם לבנות את הידע שלי, כי... התגעגעתי לזה פעם אחת, ממהר לנושא לנושא. אתה יודע, אחרי שעברתי 10 רמות והשלמתי את כל המשימות, קיבלתי את העונג לקרוא ספר טוב מאוד! בידע, הכל סוף סוף נפל על מקומו. לא התקדמתי מחוסר זמן, וגם בשל העובדה שנושאים רבים נלמדו היטב בעבר. עכשיו אני ממשיך לעבוד באותה חברה בקצב גבוה יותר ונזכר בחיוך במשימות המצחיקות שלי ממש בתחילת הקריירה שלי. המניע לכתיבת מאמרים הוא תחרות, כמו גם הצורך לבנות את הידע שלך והרצון לשתף אותו, וזה מה שעשיתי במאמר הקודם שלי על Reflection API .

מדוע פיתוח אנדרואיד הוא כיוון מבטיח למתכנת ג'אווה מתחיל?

אתחיל בתיאור התמונה הכללית של מה זה פיתוח אנדרואיד ואיזה ידע דרוש כדי להתחיל.
Почему Android-разработка? Из личного опыта. Рассуждения и факты - 3
מבין כל התחומים בהם הכלי הטכני העיקרי הוא ג'אווה, פיתוח אנדרואיד הוא הבלתי תובעני ביותר מבחינת הידע של שפת התכנות המסוימת הזו. תכונות ג'אווה רבות באנדרואיד אינן בשימוש עקב חוסר התועלת שלהן, ורבות מהן לא נכללו לחלוטין בגרסאות מסוימות של בונה הדרגות. בהקשר זה, סף הכניסה לידע בג'אווה עצמה הוא ברמה של קורסי JavaRush שהושלמו: ליבת java ותחביר java. כמובן, אתה לא צריך לשכוח את ההבנה של multithreading; כאן ניסיון כזה יהיה שימושי מאוד. עם ידע כזה בג'אווה אתה תרגיש די בטוח. בואו נעבור על החלק של ממשק המשתמש (ממשק משתמש) של אנדרואיד. פריסה או סידור של רכיבי יישום מתבצעים באמצעות שכבות xml. כאן אתה צריך לשלב תגים שונים כדי לקבל את התוצאה הצפויה. אם עסקתם בפריסת HTML, תוכלו להבין את זה די מהר. אבל גם אם אתה לא בקיא ב-html, אין בזה שום דבר מסובך, ויש הרבה חומר בנושא זה באינטרנט. דוגמה לסימון XML ב-Android Studio IDE:
Почему Android-разработка? Из личного опыта. Рассуждения и факты - 4
בשלב הבא, נקודה חשובה היא ידע והבנה של מערכת בקרת גרסאות git. קשה לדמיין לפתח אפליקציית אנדרואיד ללא הטכנולוגיה הזו. אבל כאן אתה לא צריך להיות מומחה מתקדם. כמתחילים, לעתים רחוקות תצטרך לבצע מניפולציות מורכבות עם המאגר שלך. כמו כן, אם השימוש בטרמינל והזנה מתמדת של כמה פקודות זר לך, והשימוש ב-git אומר בדיוק את זה, אז יש מעטפת גרפית פופולרית SourceTree , שתצייר את כל הענפים שלך ותיתן הבנה ברורה היכן אתה נמצא. ובכן, עכשיו בואו נדבר על הסיכויים לבחירת הכיוון של פיתוח אנדרואיד. למרות האמור לעיל, מאחורי סף הכניסה הנמוך למדי ללימוד אנדרואיד מסתתר הר שלם של הזדמנויות ומסלולי התפתחות! מערכת ההפעלה אנדרואיד היא פלטפורמה שמתפתחת במהירות. כמעט כל שנה יוצאת גרסה חדשה, שמביאה פיצ'רים חדשים למשתמשים וכל טוב למפתחים. בהקשר זה, העבודה שלך לעולם לא תהפוך לשגרה של תמיכה בגרסה יציבה ספציפית, תמיד יהיה משהו חדש, תמיד יהיה לאן לזוז. למשל, לא מזמן הכריזה גוגל על ​​קוטלין כשפת הפיתוח הרשמית לאנדרואיד. הם גם הציגו ארכיטקטורה חדשה עבור אפליקציית אנדרואיד באמצעות דפוס העיצוב MVVM (Model-View-ViewModel). אל תשכח את הפופולריות של הפלטפורמה:
Почему Android-разработка? Из личного опыта. Рассуждения и факты - 5
מבחינת צמיחה בקריירה, לא תצטרך כל הזמן לקודד קודם למשכורת אחת, ואחרי זמן מה למשכורת אחרת וכו'. לאחרונה, תפקיד פופולרי הוא של אדריכל, שתפקידו לפקח ולתכנן יישומים, לקדם את החזון שלו לגבי האדריכלות שלה. עם ידע נכון של דפוסי עיצוב, דלתות אלו יהיו פתוחות עבורכם. המספר הגדול של גאדג'טים ומכשירים המריצים אנדרואיד מעיד שאין צורך לכתוב רק אפליקציות מובייל. ניתן לפתח תוכניות לשעונים, טלוויזיות, מכוניות ואפילו מקררים! כפי שאתה יכול לראות, יש הרבה סיכויים, וניתן להמשיך ברשימה הזו, אבל אני חושש שאורך המאמר יהיה די גדול. אבל כדי להפוך את כל האפשרויות הללו למציאות, אני רוצה לחלוק איתכם כמה טיפים. כפי שהוזכר לעיל, אנדרואיד מתפתחת במהירות סבירה, ומרכיבי פיתוח רבים פשוט הופכים מיושנים. אל תבזבז את זמנך בלימוד אותם. סביר להניח, חדשים כבר החליפו את אלה; עדיף להקדיש את זמנך ללימוד גישות מודרניות יותר. הקשיבו תמיד לעצות של מי שעוסק בתחום זה יותר מכם, לפעמים עצות מסוימות יקרות יותר מכל מידע בגוגל. וגם אל תפחד לבקש עצות מאנשים כאלה. מצא לעצמך מקור מידע נוסף על עולם האנדרואיד, למשל, תקצירים של מאמרים למפתחים ניידים על Habré או קהילות IT פופולריות אחרות. אסיים כאן. אני מקווה שהמאמר שלי עזר לכם לדמיין את עולם הפיתוח של אנדרואיד, ולמדתם קצת שימושי =) כתבו את המשוב שלכם בתגובות או תמיכה עם לייקים. תודה לכולם ובהצלחה בכל כיוון ג'אווה!
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION