آیا برنامه نویسی اندروید سخت است

واقعا یادگیری برنامه نویسی اندروید سخت است؟

آیا برنامه نویسی اندروید سخت است؟

به عنوان یک برنامه نویس اندروید، به تعداد بی شمار تا امروز این سوال را شنیدم: برنامه نویسی اندروید سخت است؟ در جمع های خانوادگی، شبکه های اجتماعی و هرجای دیگری که فکرش را بکنید، بعد از چند سوال خیلی عمومی درباره برنامه نویسی، معمولا این سوال هم پرسیده میشود. امروز میخواهم درباره تجربه چند ساله کار با نرم افزارهای اندروید و داستان یادگیری برنامه نویسی اندروید بنویسم و در آخر هم یک نتیجه گیری کلی با هم داشته باشیم.

اگر حوصله خواندن کل مطلب را ندارید، بصورت خلاصه میتوانم بگویم که بله! برنامه نویسی اندروید کار مشکلی است و سختی های خاص خودش را هم دارد. اما همیشه میشود این سختی ها را پشت سر گذاشت و هیچ کاری غیر ممکن نیست. در این مقاله از بلاگ برنامه چی درباره مشکلات و سختی هایی که وجود دارد، راه حل آنها و مقداری از تجربه های شخصی من و همکارانم صحبت میکنیم.


ویدئو: واقعا برنامه نویسی اندروید سخت است؟


این سوال از کجا می آید؟

قبل از هرچیز بیایید با هم توافق کنیم که هرکاری را بخواهیم به صورت تخصصی انجام بدهیم، باید منتظر سختی های خاص هم باشیم. پس تقریبا میشود گفت تخصص در هر کاری سخت است. اما چه چیزی باعث میشود که بعضی از دوستانی که علاقه به یادگیری برنامه نویسی اندروید دارند، فکر کنند که ساخت اپلیکیشن اندروید ساده است؟

چرا برنامه نویسی اندروید سخت است؟

به نظر من این سوال میتواند دلیل های مختلفی داشته باشد. خیلی از دوستان فقط به این دلیل که آگاهی و سواد کافی در این حوزه ندارند این طور فکر میکنند. بسیاری از افراد هم میگویند چون کار کردن با بعضی از نرم افزار ها راحت است، پس ساختن آنها هم نمیتواند کار سختی باشد (اما این جمله رو از من داشته باشید که ساده سازی، سخت ترین مرحله کار هست و به تجربه زیادی نیاز داره). به هرحال شاید این سوال که “برنامه نویسی اندروید سخت است یا نه؟” برای شما هم به وجود آمده باشد. پس بهتر است مشکلات و کمک هایی که سر راه شما قرار دارند را بررسی کنیم.


کجاها سختی وجود دارد؟

یک سری موارد وجود دارند که برای برنامه نویس های اندروید به دردسر تبدیل شده اند. برای نوشتن این قسمت، از تجربه های شخصی خودم و همکارانی که فعال در این حوزه هستند استفاده کردم. یعنی همه مواردی که فکر میکردیم تا امروز خیلی باعث اذیت ما شده اند را نوشتیم و پر تکرار ترین های آنها را لیست کردیم. پس با اطمینان زیادی میشود گفت که ممکن است همه افرادی که برنامه نویسی اندروید را شروع میکنند و ادامه میدهند، با این دردسر ها روبرو بشوند.


1- داکیومنتیشن لایبرری های مختلف

وجود لایبرری های متنوع برای انجام کارهای خاص همیشه یک مورد مثبت است. اما وقتی که بیشتر این لایبرری ها داکیومنتیشن های درست و حسابی نداشته باشند، به دردسر های بزرگ تبدیل میشوند. مثلا فرض کنید که برای ارتباط گرفتن از طریق بلوتوث، یک لایبرری را پیدا کرده اید که دقیقا همان کتابخانه مورد نظر شماست. اما وقتی به صفحه گیت هاب یا وبسایت آن میروید هیج راهنمای درستی برای نحوه استفاده از آن وجود ندارد. باید از اول خودتان کشف کنید که هر کلاس و هر متد چگونه کار میکند و برای چه منظوری درست شده است (خلاصه که آدم رو مجبور میکنن لایبرری رو دوباره از اول بنویسه).

البته این نکته را هم فراموش نکنیم که لایبرری های خارجی بسیار قدرتمندی وجود دارند که در کنار داکیومنتیشن های کامل و خوب، جامعه کاربر بسیار خوبی هم دارند و حتی با راه اندازی فروم های تخصصی، اکثر سوالات و مشکلاتی که برای کاربران به وجود می آید را بررسی و حل میکنند.


2- داکیومنتیشن های خود اندروید

علاوه بر کتابخانه های خارجی، بعضی وقت ها داکیومنتیشن های رسمی وبسایت گوگل هم بسیار گیج کننده میشوند. مثلا برای همان کاری که در قسمت قبلی گفتیم، ارتباط با بلوتوث کم انرِژی (Bluetooth Low Energy).

به عنوان مثال، فقط کافیست که بخواهید با استفاده از داکیومنتیشن های گوگل درباره BLE یک اپلیکیشن بسازید که با یکی از دستگاه های بلوتوثی کار کند تا کاملا ناامید بشوید. بعضی وقت ها این داکیومنتیشن ها گیج کننده، ناقص و حتی اشتباه هستند. برای همین برنامه نویس های اندروید در مورد یک موضوع خاص ممکن است روز ها تحقیق و بررسی کنند تا راه درست پیاده سازی آن را یاد بگیرند.


3- یادگیری زبان جاوا

شاید یکی از اصلی ترین و اولین مرحله هایی که برنامه نویسی اندروید سخت میشود، مخصوصا اگر هیچ تجربه برنامه نویسی از قبل نداشته باشید، یاد گرفتن زبان جاوا باشد. زبان برنامه نویسی جاوا یکی از محبوب ترین و همچنین یکی از دشوار ترین زبان های برنامه نویسی برای یاد گرفتن است. قسمت بزرگ این سختی هم به دلیل شی گرا بودن یا به اصطلاح OOP بودن این زبان است.

شی گرایی یکی از مفاهیم دشوار برنامه نویسی است که برای یاد گرفتن آن راهی به جز برنامه نویسی، تمرین و گذر زمان وجود ندارد. پس شاید برای یاد گرفتن این قسمت از زبان برنامه نویسی جاوا، نیاز به تلاش و کوشش بیشتر داشته باشید. اما اگر از قبل با زبان های برنامه نویسی آشنایی داشته باشید و مفهوم شی گرایی برای شما جا افتاده باشد، مشکل خاصی در یادگیری این زبان نخواهید داشت.


4- دستگاه های زیاد

یکی دیگر از مراحلی که در آن برنامه نویسی اندروید سخت تر میشود، طولانی بودن زمان تست و انتشار اپ ها است. همانطور که میدانید سیستم عامل اندروید روی گجت ها و گوشی هایی که شرکت های مختلف از همه جای دنیا تولید میکنند نصب میشود. همین ویژگی باعث شده است که روند تغییرات سیستم عامل بسیار زیاد باشد و ممکن است کدهایی که برای ورژن امروز اندروید نوشته اید، برای ورژن بعدی آن کاملا از کار بیفتند.

علاوه بر این هر گوشی و هر گجت سخت افزار مخصوص خودش را دارد و اگر اپلیکیشن قرار باشد روی همه این دستگاه ها (یا بیشتر آنها) خیلی خوب کار بکند، باید تست های زیادی را پشت سر بگذارد. باز هم به همین دلیل، احتمال به وجود آمدن ارور یا از کار افتادن اپلیکیشن در دستگاه های مختلف بسیار بالا میرود. پس اپ های اندروید باید روند مدیریت خطای قدرتمند تری داشته باشند.


5- فهم روند های سیستمی اندروید

همه کسانی که میخواهند اپلیکیشن های اندروید بنویسند، باید حتما از روند های سیستم عامل اندروید، کامپیوننت های آن و تکنولوژی هایی که در آن وجود دارد اطلاع داشته باشند. بدون شناختن قسمت های مختلف سیستم عامل و ارتباط آنها با یکدیگر، درک درستی از اپلیکیشن های اندروید نخواهید داشت.

البته یادگرفتن این موارد اصلا سخت نیست و به راحتی میتوانید آنها را یاد بگیرید، اما اشکال کار اینجاست که بسیاری از افراد این مسئله را فراموش میکنند و زمان یادگیری برنامه نویسی با سوال ها و نقطه های مبهم بسیار زیادی روبرو میشوند. پس اگر شما هم برای یادگیری برنامه نویسی اندروید برنامه ریزی کرده اید، حتما شناخت قسمت های مختلف سیستم عامل اندروید را هم در برنامه خودتان جا بدهید.


6- وجود حوزه های مختلف برای یادگیری

یکی از مسئله هایی که میتواند زمان یادگیری برنامه نویسی اندروید را افزایش بدهد و کاری کند که برنامه نویسی اندروید سخت تر بشود، این است که برای ساخت یک اپلیکیشن اندروید باید مباحث مختلفی را یاد بگیرید. مباحثی مانند یادگیری برنامه نویسی به زبان جاوا، کار کردن با اندروید استودیو، علم طراحی رابط کاربری و تجربه کاربری، توسعه سمت سرور نرم افزار، پیاده سازی معماری های مختلف و کار کردن با تکنولوژی های جدید مانند AR، BLE و غیره.


7- ارور، ارور و ارور

تقریبا همه برنامه نویس های اندروید از یک کلمه به شدت تنفر دارند: NullPointerException. در کنار ارور های خیلی زیادی که در برنامه نویسی به آنها برخورد میکنید، ارور Null Pointer یکی از شایع ترین آن هاست. به خاطر پیچیدگی های برنامه نویسی و پیاده سازی وظیفه هایی که قرار است در اپلیکیشن های اندرویدی انجام بشوند، خطاهای خیلی زیادی ممکن است برای شما به وجود بیاید.

این خطاها معمولا به خاطر پیاده سازی نادرست یا فراموش کردن یک سری مراحل در پیاده سازی اتفاق می افتد. اما نگران نباشید، با اینکه این مشکلات باعث میشود برنامه نویسی اندروید سخت شود، اما فروم ها و وبسایت های زیادی مانند StackOverflow وجود دارند که میتوانید تقریبا راه حل همه ارور های نرم افزار خودتان را درون آنها پیدا کنید.


8- یک نکته فرمواش شده ولی مهم: بازاریابی

بیشتر برنامه نویس های اندروید فکر میکنند بعد از ساختن یک اپلیکیشن کار تمام میشود و نرم افزار آنها یا موفق میشود و یا نمیشود، خیلی اتفاقی و شانسی! اتفاقا میشود گفت همه کارهای یک اپلیکیشن، بعد از ساخته شدن آن تازه شروع میشود. برنامه و استراتژی بازاریابی درست تنها چیزی است که میتواند باعث موفقیت پایدار یک اپلیکیشن یا سرویس ارائه شده بشود.

مارکتینگ در برنامه نویسی اندروید

یعنی قبل از ساختن اپلیکیشن همیشه باید استراتژی ها و برنامه مارکتینگ خودتان را بچینید. پس یکی از مهارت های مهمی که باید یاد بگیرید دیجیتال مارکتینگ و مهارت های مربوط به این حوزه میباشد.

شاید فکر کنید این مورد به سوال اصلی این مطلب (آیا برنامه نویسی اندروید سخت است یا نه؟) ربطی نداشته باشد، اما بهتر است بدانید که بیشتر برنامه نویس ها بعد از اینکه اپلیکیشن خودشان را درست میکنند، در این مرحله شکست خورده و از ادامه کار ناامید میشوند.


چه آسانی هایی داریم؟

در کنار همه سختی هایی که برای برنامه نویسی گفتیم، همیشه هم برنامه نویسی اندروید سخت نیست. آسانی های زیادی هم در این راه وجود دارند که وقتی مسیر را شروع میکنید آرام آرام به سراغ شما می آیند. اما برای شروع کار میخواهیم بزرگترین حمایتی که در اختیار شما قرار دارد را بررسی کنیم.


وجود جامعه قدرتمند و قوی

یک جامعه قوی و قدرتمند از برنامه نویس های اندروید که طی این سالها شکل گرفته است، بزرگترین کمک و همراه شما هستند. همچنین وجود پلتفرم هایی که میتوانید با استفاده از آنها با این جامعه بزرگ تعامل داشته باشید، مانند StackOverflow، کار را برای ما خیلی ساده تر کرده اند.

وجود این جامعه باعث تولید محتوای آموزشی زیاد و قدرتمند در زمینه های مختلف ابتدایی و تخصصی برنامه نویسی اندروید شده است. پس همیشه این مورد را به یاد داشته باشید که اگر به مشکلی در برنامه نویسی یا سوالی در هنگام یادگیری برخورد کردید، میتوانید با جستجو درباره آن، از محتوایی که توسط این Community ایجاد شده بهترین استفاده را داشته باشید.

یعنی تقریبا جواب همه سختی هایی که توی این راه وجود داره رو توی این قسمت میتونین پیدا کنین. فقط کافیه درباره همه مشکلاتی که برای شما به وجود اومدن یک سرچ ساده کنین و به وبسایت های معروف در این باره هم سر بزنین. همونطور که گفتم، همیشه هم برنامه نویسی اندروید سخت نیست!


حالا واقعا سخت هست یا نه؟

واقعا برنامه نویسی اندروید سخت است؟

به عنوان یک تجربه شخصی، اوایل کار برای من یک دوره تقریبا سخت و وقت گیر برای یادگیری جاوا و مفاهیم شی گرایی گذشت. اما بعد از اینکه با این مفاهیم آشنا شدم و کار برنامه نویسی اندروید را شروع کردم تسلط بیشتری روی خود سیستم عامل و مراحل ساخت اپلیکیشن پیدا کردم. بعد از همه اینها به مرحله ای میرسید که دیگر برنامه نویسی اندروید سخت نیست و راه درست کردن مشکلات و کارکردن با همه تکنولوژی های جدید را میتوانید یاد بگیرید.

نکته مهمی که اینجا وجود دارد این است که سختی های کار هیچوقت تمام نمیشوند و همیشه موارد جدید و تخصصی تر برای یادگیری وجود خواهند داشت. این شما هستید که قوی تر میشوید و راه های بهتر برای مدیریت مشکلات پیدا میکنید.


راه حل چیه؟

اگر شما هم اوایل کار هستید، شاید با سردرگمی های خیلی زیادی درگیر باشید. شاید هم این احساس در شما به وجود آمده باشد که خیلی چیزها را بلد نیستید و احتمالا هیچوقت نتوانید یک برنامه نویس خوب بشوید. همه این حس ها طبیعی هستند و خیلی ها تجربه این احساس را داشتند.

اما به نظر من تنها راهی که وجود دارد این است که تمرین کنید و سراغ پروژه های جدیدتر و سخت تر بروید. چالش های جدید به شما کمک میکنند که تجربه های خیلی ارزشمندی را برای خودتان جمع کنید. تجربه هم بهترین آموزش دهنده شماست و درس هایی به شما میدهد که هیچوقت آنها را فراموش نخواهید کرد.


نظر شما چیست؟

اگر شما هم برنامه نویسی اندروید را تجربه کرده اید، حتما نظرات مفیدی دارید که میتوانید با ما و دیگران به اشتراک بگذارید. حتما تجربه ها، خاطرات و نظرات خودتان را در قسمت نظرات (همین پایین) بنویسید تا به کامل تر شدن این مقاله آموزشی کمک کرده باشید.


منابع بیشتر برای مطالعه

میتوانید از منابع زیر برای مطالعه بیشتر درباره اینکه آیا برنامه نویسی اندروید سخت است یا نه استفاده کنید:

درباره نویسنده

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

اسکرول به بالا