مطلب آموزشی 1:
چگونه یک توسعهدهنده اندروید بشویم؟
از زمانی که ارتباط اپلیکیشن های موبایل بیشتر از سیارات شده است، و این دسترسی برای مردم در سراسر جهان ایجاد شد که بتوانند خود را به روشهای خلاقانه و جذابی که فراتر از حد تصورشان بود مشغول کنند؛ شغل توسعهدهندگان اپلیکیشن های موبایل، برای اقتصاد مدرن جهانی، گستردهتر و فراگیرتر و مهمتر شد. اپلیکیشن های موبایلی که ما هرروز از آنها استفاده میکنیم، مسیر کسبوکار مستقیم را تغییر داده به سمت مسیری که ما ارتباط برقرار کنیم و برای سرگرمی استفاده کنیم، راهی که ما چیزهای زیادی درباره جهان یاد بگیریم. شما در اشتباه نبودهاید اگر فکر کرده باشید که توسعه اپلیکیشن های موبایل یکی از جالبترین شغلهای صنعتی است.
پس شما چگونه یک توسعهدهنده موبایل میشوید؟ شما یک بستر (platform) را انتخاب میکنید (مثل اندروید، ios یا ویندوز موبایل) مهارتهای فنی را یاد میگیرید، بر روی مهارتهای نرمافزاری خود تمرکز میکنید و سپس آن را خواهید داشت.
اما بگذارید کمی وارد جزییات بشویم. اینجا، ما بهطور خاص با چشماندازی از شروع کار یک توسعهدهنده اندروید ادامه میدهیم.
چرا اندروید؟
اندروید، پرچمدار بیچونوچرای بازار مشترک جهانی موبایلهای هوشمند است. با تشکر از رشد در بازارهای نوظهور مانند مکزیک، ترکیه و برزیل، این غلبه، به این زودیها تضعیف نمیشود.
این برتری در بازار، به معنی امنیت شغلی بهصورت جدی برای توسعهدهندگان اندروید است.
علاوه بر این، پلتفرم اندروید، منبع باز است(کل منبع کد اندروید در این سایت قابلمشاهده است: http://source.android.com) همچنین، بعضی از نرمافزارهای خاص، مانند گوگل پلی (Google play) یک اکوسیستم توسعه دهندگیِ پویا و مجتمع را غنی میسازد. توسعهدهندگان اندروید، نکات، ترفندها و آموزشهایشان را از طریق انجمنها به اشتراک میگذارند. از زمانی که گوگل به توسعهدهندگان با ساخت گوگل پلی سرویس (Google service) برای وظایف رایج مثل ورود به اکانت، احراز هویت کاربر، موقعیتیابی و حافظه کمک کرد، توسعهدهندگان اندروید توانستند بر روی ساخت و عملکرد هسته اپلیکیشن های خود تمرکز کنند.
مهارتهای سخت: چه چیزی را یاد بگیریم؟
اولازهمه: مهارتهای فنی. توسعه اندروید میتواند روی Mac، ویندوز یا لینوکس انجام شود. همچنین شما به یک دستگاه اندروید نیازمند هستید (میتوانید از یک شبیهساز مثل Genymotion استفاده کنید برای توسعه استفاده کنید، اما درنهایت شما نیاز خواهید داشت که بر روی یک دستگاه واقعی نیز تست کنید). در ادامه فهرستی از ابزاری که باید یک توسعهدهنده اندروید باید بداند، آمده است:
- جاوا (java)
ساختمان بسیار پایهای توسعه اندروید، زبان برنامهنویسی جاوا است. برای اینکه یک توسعهدهنده اندروید موفق باشید، شما باید با مفاهیم جاوا مثل حلقه، لیست، متغیر و ساختارهای کنترلی، راحت باشید. جاوا یکی از مشهورترین زبانهای برنامهنویسی است که امروزه توسط توسعهدهندگان نرمافزار، استفاده میشود، بنابراین یادگیری آن شمارا برای کار، در جایگاه خوبی قرار میدهد، حتی فراتر از پلتفرم اندروید.
- اس کیو ال (SQL)
شما نیاز خواهید داشت که SQL را بهصورت مقدماتی یاد بگیرید تا بتوانید یک پایگاه داده را برای اپلیکیشن خود، سازماندهی بکنید. SQL یکزبان برای توضیح دادن درخواستها، برای بازیابی اطلاعات از پایگاه داده است. شما یکبار میتوانید آن را بنویسید، هیچ سؤالی باقی نمیماند که شما نتوانید از دادههای خود بپرسید.
- بُرد توسعه اندروید و اندروید استودیو (Android Software Development Kit (SDK) and Android Studio)
یکی از بهترین قسمتهای توسعه دادن اندروید این است که ابزار ضروری، رایگان هستند و آسان به دست میآیند. SDK اندروید (https://developer.android.com/tools/help/sdk-manager.html) بهصورت رایگان در دسترس است، همینطور اندروید استودیو (https://developer.android.com/sdk/index.html) برنامه رسمی محیط مجتمع توسعه (integrated development environment (IDE)) برای توسعه اپلیکیشن اندروید است. اندروید استودیو، برنامه اصلی است؛ به همراه کدهایی که توسعهدهندگان برای اپلیکیشن های خودشان از پکیجها و کتابخانههای مختلف، آن را گردآوری کردهاند. SDK اندروید شامل کدهای نمونه، کتابخانههای نرمافزاری، ابزار کد زدن دستی و … است، تا به شما کمک کند که اپلیکیشن های اندروید خود را بسازید، تست کنید و ایراد یابی کنید.
نکته مهم دیگر در توسعه برای اندروید سهولت فرآیند عرضه اپلیکیشن است. یکبار شما آماده میشوید که اپلیکیشن خود را به گوگل پلی عرضه کنید. یک حساب کاربری گوگل پلی انتشاردهنده را ثبت میکنید (به ازای هر عرضه باید 25 دلار بپردازید). از طریق پنل «توسعهدهندگان گوگل پلی» برنامه خود را ثبت میکنید و صبر میکنید تا گوگل آن را تائید کند، سپس تائید را میبینید. آسان و راحت.
- XML
برنامه نویسان از XML برای توصیف و شرح دادهها استفاده میکنند. یادگیری نحو (syntax XML) از مقدماتی تا پیشرفته توسعهدهنده اندروید بودن شما مفید خواهد بود؛ در انجام دادن کارهایی مانند طراحی طرحبندی رابط کاربری (UI) و تجزیه دادههای آمده از اینترنت. بیشتر چیزی که شما از XML میخواهید، از طریق اندروید استودیو انجام میشود؛ اما درهرصورت یادگیری زبانهای ویرایشی (mark up) مفید هستند.
مهارتهای سخت: چگونه یاد بگیرم و به آنها نشان دهم
منابع فراوانی برای توسعهدهندگان اندروید وجود دارد تا مهارتهای خود را افزایش دهند و نکات را به اشتراک بگذارند. نام چند مورد از آنها در زیر ذکرشده است:
- Stack Overflow (http://stackoverflow.com/)
- Android Weekly(http://androidweekly.net)
- the Android Dev subreddit(http://www.reddit.com/r/androiddev)
- vogella tutorials (http://www.vogella.com/tutorials/android.html)
- YouTube lessons (https://www.youtube.com/watch?v=TBWX97e1E9g&list=PLE7E8B7F4856C9B19)
- Google’s official Android Developers site(https://developer.android.com/index.html)
- (http://developer.android.com/training/basics/firstapp/index.html)( (مخصوصاً برای کسانی که برای اولین بار است که اپلیکیشن اندروید مینویسند)
اگر شما با یادگیری مکتوب راحتتر هستید، کتابهای محبوب برای اندروید، کتابهای زیر هستند:
- Head First Java
- Android Programming: Pushing the Limit
- Java: A Beginner’s Guide
آن هنگامی شروع کنید به فکر کردن به فرصتهای شغلی جذاب و به خودتان بگویید که یک نامزد بیرقیب هستید و ویترین کارهای اندرویدی خود را در نظر بگیرید. مثلاً در شبکههای اجتماعی مختلف آن را به نمایش بگذارید.
مهارتهای نرم
در هر شغلی، این کافی نیست که دستاوردهای دست پایین داشته باشید؛ شما باید مهارتهای شخصی خود را به همراه کد زدن بالا ببرید.
پشتکار
بهصورت واقعی تمرین کنید خوب شوید وقتی درحالتوسعه اپلیکیشن هستید. از روی ناچار، شما در فرآیند توسعه، به جدول خیابان اصابت میکنید، مخصوصاً برای اولین بار شروع میکنید. شما نیازمند به یک منبع عمیق پشتکار هستید تا در زمانهای شکست به شما قدرت ببخشد. خوشبختانه، چون اندروید منبع باز است، میتوانید از کتابخانه و فریمورک های از قبل نوشتهشدهی زیادی استفاده کنید.
همکاری
همکاری مهم و حیاتی برای شغلهای توسعهای است. اگر شما روی یک پروژه کار میکنید، شما بهناچار با دیگران در ارتباط هستید (مثل طراح، مدیر ارشد و …) در شرکت یا سازمان. شروع کنید به راحت بودن با بازخوردی قابلقبول در کارتان، سازش با همکاران و بالا بردن کار تیمی با دیگران برای ساخت محصولاتی عالی و استثنایی.
تشنگی برای دانش
همه توسعهدهندههای خوب، موبایل یا بقیه، در طول زمان زندگیشان بر یادگیری پایبند بودهاند. مخصوصاً در توسعه نمایش افقی در اپلیکیشن های موبایل با ظهور گجت های پوشیدنی، نرمافزارهای TV، نرمافزارهای خودکار و … .توسعهدهندگان موبایل باید چشم و گوش خود را رو به فنّاوریهای جدید باز نگهدارند و بهترینها را تمرین کنند.
سخن آخر
تقاضا برای اپلیکیشن های موبایل بیشتر از بقیه دستگاه ها است؛ و این باعث میشود که در حال حاضر درزمانی باورنکردنی، می توان حرفه خود را بهعنوان یک توسعهدهنده اندروید، به کار گرفت. وقتی اندروید، فراتر از فضای مصرفکننده برای کار و یادگیری گسترش مییابد، این خیلی موقعیت هیجانانگیزی است برای شیرجه زدن در توسعه اندروید. پس بفرمایید، اولین گام، آب گرم است.
ترجمه: احمدرضا شریفیان زاده
منبع: http://blog.udacity.com/2015/05/become-android-developer.html
بسیار عالی بود ممنون
من قبلا کارگاه اندرویدتون رو شرکت کردم عالی بود.
خیلی مفید بود.
سایتتون خیلی خوبه