اصول توسعه اپلیکیشن اندروید
بهطور خلاصه این پنج اصل به شرح زیر هستند:
- روی زبان برنامهنویسی هدف مسلط شوید.
- با ابزارها و محیط مناسب توسعه اپلیکیشن کار کنید.
- دانش خود در ارتباط با مولفههای ساختاری سیستمعامل و زبان برنامهنویسی را افزایش هید.
- دانش خود در ارتباط با مباحث فنی مثل ریسمانها، لودرها، تسکها، برنامههای اندرویدی و موارد مشابه را افزایش دهید.
- از ابزار مناسبی برای کدنویسی استفاده کنید.
1. بر زبان برنامهنویسی هدف مسلط شوید
جاوا و XML دو زبان برنامهنویسی اصلی هستند که در توسعه اپلیکیشنهای اندروید استفاده میشوند. بنابراین، تسلط بر این زبانهای برنامهنویسی، پیشنیاز توسعه یک برنامه اندروید است. برخی از اصول زبان برنامهنویسی جاوا عبارتند از:
- بستهها
- اشیاء و کلاسها
- وراثت و رابطها
- رشتهها و اعداد، ژنریکها
- مجموعهها
- همزمانی
درک صحیح عملکرد جاوا و XML به شما کمک میکند تا یک برنامه اندرویدی قویتر و زیباتر بسازید.
2. آشنایی با ابزارهای توسعه اپلیکیشن و محیط مناسب
اگر به سمت توسعه اپلیکیشن اندروید قدم بر میدارید، بسیار مهم است که قبل از شروع توسعه اپلیکیشن خود، با ابزارهای اتوماسیون ساخت و همچنین محیط توسعه یکپارچه آشنا شوید. میتوانید از محیط توسعه یکپارچه اندروید استودیو یا اکلیپس برای این منظور استفاده کنید. ابزارها فوق به شما کمک میکنند تا اصول اولیه و نکات زیادی را یاد بگیرید و به این شکل به بهبود کدهای شما کمک میکنند. پیشنهاد من این است که به سراغ یادگیری Apache Maven، Apache Ant و Gradle بروید، زیرا مجموعهای قدرتمند از ابزارها را برای کمک به مدیریت بیلدها در اختیارتان قرار میدهند.
همچنین، مهم است که با ابزارها و مفاهیم کنترل منبع آشنا شوید. git را یاد بگیرید و سپس یک مخزن git-source ایجاد کنید (با ایجاد یک حساب کاربری در Bitbucket یا GitHub). با توجه به اینکه گیت، یک مخزن میزبان کدهای بزرگی است، از اینرو توصیه میکنم، به سراغ یادگیری مفاهیم اساسی و نحوه کار با ابزار فوق باشید.
3. مولفههای Application
مولفههای Application، بلوکهای سازنده اساسی توسعه برنامه اندروید هستند. هر یک از این مؤلفهها کاربرد خاصی دارند که سیستم عامل اندروید میتواند به وسیله آنها با برنامه شما ارتباط برقرار کند. اگرچه هر یک از آنها به عنوان موجودیت خاصی شناخته میشوند و نقش خاصی دارند، اما برخی از آنها به یکدیگر وابسته هستند و همگی نقطه ورود واقعی نیستند.
پنج نوع مختلف از مولفه app وجود دارد که هر کدام برای کاربرد خاصی استفاده میشوند و چرخه عمر خود را دارند. این مولفهها به شرح زیر هستند:
- Activities: مؤلفهای است که نمایشگر یک صفحه با یک رابط کاربری است (به عنوان مثال، یک برنامه ایمیل ممکن است یک فعالیت داشته باشد که لیستی از ایمیلهای جدید را نشان میدهد، فعالیت دیگری برای نوشتن ایمیلها و دیگری در حال خواندن ایمیلها). فعالیتها با هم کار میکنند تا یک تجربه کاربری منسجم در برنامه به وجود آید. با این حال، مستقل از یکدیگر کار میکنند.
- Services: مولفهای است که در پسزمینه اجرا میشود و روی فرآیندهای راه دور یا عملیاتی که باید برای مدت زمان طولانی اجرا شوند نظارت میکند. دقت کنید مولفه فوق رابط کاربری ارائه نمیدهد (مثلاً ممکن است در پس زمینه موسیقی پخش کند، در حالی که کاربر در برنامه دیگری است).
- Content providers: مؤلفهای است که مجموعهای مشترک از دادههای برنامه را مدیریت میکند. از طریق این مولفه، دادههایی که در سیستم فایلی، وب، پایگاه داده SQLite و غیره ذخیرهسازی میکنید قابل واکشی یا اصلاح هستند (البته تا زمانی که ارائهدهنده محتوا اجازه دهد). این مؤلفه همچنین برای نوشتن و خواندن دادههایی که به اشتراک گذاشته نشدهاند و برای برنامه خصوصی هستند مورد استفاده قرار میگیرد.
- Broadcast receivers: مؤلفهای است که به اعلانهای همهپخشی system-wide پاسخ میدهد. اکثر گیرندههای همهپخشی مشتق شده از system هستند و اگرچه رابط کاربری نمایش نمیدهند، اما میتوانند یک اعلان نوار وضعیت ایجاد کنند که در صورت وقوع یک رویداد همهپخشی به کاربر هشدار دهند. به طور کلی، مولفه مذکور، دروازهای به مولفههای دیگر است و کمترین کار را انجام میدهد.
- مولفههای فعال (Activating components): یک پیام همزمان که به آن intent گفته میشود، 3 مولفه از 4 مؤلفه (یعنی خدمات، فعالیتها و گیرندههای همهپخش) را فعال میکند. Intentها مولفههای جداگانه را در زمان اجرا به یکدیگر متصل میکنند، خواه مولفه متعلق به برنامه شما باشد یا نباشد.
4. Fragmentations، Android Application، Threads، Loaders و Tasks
اندروید، اکوسیستمی متشکل از دستگاهها و نسخههایی مختلف از این سیستم عامل است که روی دستگاهها نصب شده است. توجه داشته باشید که اگر برنامه شما از دستگاهها و/یا نسخههای بیشتری از سیستم عامل اندروید پشتیبانی میکند، قطعاً به تعمیر، نگهداری و آزمایش بیشتر و صرف هزینههای زمانی و مالی مربوطه نیاز خواهد داشت. برعکس آن نیز صادق است و اگر محدود به یک نسخه خاص از اندروید باشید، دردسر کمتری دارید، اما به همان نسبت کاربران کمتری قادر به استفاده از برنامه شما هستند. شما همچنین به فونتها، داراییها و طرحبندیهای مناسب نیاز دارید که مطمئن شوید بهترین تجربه کاربری ممکن را به همراه ویژگیهای مختلف مختلف در اختیار کاربران قرار میدهید. برنامه شما باید توانایی پشتیبانی از طیف گستردهای از سنسورها یا قابلیتهای رابط کاربری که اندروید ارائه میکند را داشته باشد. همه برنامههای اندرویدی دارای یک کلاس برنامه، یک یا چند فعالیت و یک یا چند قطعه (fragments) هستند.
گاهی اوقات، ممکن است سرویسهایی برای کارهای پسزمینه داشته باشید که باید به طور مداوم اجرا شوند، اما گاهی اوقات ممکن است این کار را نکنید. اگر میخواهید یک رابط کاربری عالی و روان ارائه دهید، همیشه اطمینان حاصل کنید که این موضوع عملکرد برنامه را کاهش ندهد. بنابراین، عملیات طولانی (محاسبات، I/O، شبکه و غیره) همگی باید به صورت غیر همزمان در پسزمینه اجرا شوند (عمدتاً در یک ریسمان اجرا متفاوت). به همین دلیل است که روی آشنایی با مبحث همزمانی و غیرهمزمانی زبان جاوا وقت کافی اختصاص دهید.
5. انتخاب درست ابزارها متناسب با نیازها
ابزارهای سادهای که برای توسعه برنامههای اندروید به آنها نیاز دارید، فقط یک کامپیوتر مک یا ویندوز، توزیعهای لینوکس، Eclipse، پلاگین ADT و Android SDK یا اندروید استودیو هستند که همگی رایگان هستند. برای یادگیری نحوه تنظیم محیط توسعه خود، میتوانید راهنمای نصب در Google را مرور کنید که اطلاعات کاملی در این زمینه ارائه میدهد. اندروید دارای پارامترهای منحصر به فردی است که باید هنگام نوشتن برنامه اندروید در نظر بگیرید. برخی از آنها عبارتند از:
- عملکرد و پاسخگویی (Performance and responsiveness): همیشه باید در عرض پنج ثانیه به ورودی کاربر پاسخ دهید، در غیر این صورت سیستم عامل شما را ANR میکند. (در این حالت تنها گزینهای که برای خاتمه دادن به اجرای برنامه وجود دارد بستن اجباری آن است.)
- تأخیر بیش از 100 میلیثانیه توسط کاربران مشاهده میشود: همانطور که در بالا ذکر شد، ریسمان رابط کاربری هرگز نباید مسدود شود، زیرا تنها یکی است.
- منابع محدود: Wake-locks (مکانیسمی که دستگاه را وادار به انجام کار خاصی علیرغم توصیه مدیر باتری به خواباندن دستگاه میکند) باید به شکل درستی استفاده شود. از سختافزار (مانند GPS یا شتابسنج) بیجهت نظرسنجی نکنید، زیرا باعث تخلیه زودهنگام باتری میشوند.
کلام آخر
آمارها نشان میدهند میزان استفاده از گوشیهای همراه روند صعودی به خود گرفته است. به طور مثال، 77 درصد از آمریکاییها امروز صاحب گوشی هوشمند هستند و برنامهها جایی هستند که بیشتر وقتشان را در آنها سپری میکنند. در واقع، در سال 2017، 197 میلیارد برنامه دانلود شد، که تضمین میکند که شغلی بهعنوان یک توسعهدهنده اپلیکیشن اندروید، شغلی پایدار با فرصتهای زیادی برای رشد است. وقتی صحبت از توسعه برنامه Android به میان میآید، چیزهای زیادی برای یادگیری وجود دارد، بنابراین در نظر داشته باشید که با اتکا بر دورههای آموزشی کارآمد قادر به یادگیری مفاهیم مختلف برنامهنویسی اندروید هستند. به بیان دقیقتر، اگر بر اصول سیستم عامل اندروید و مهارتهای دیگر مرتبط با برنامهنویسی اندروید کار کنید، در مدت زمان کوتاهی قادر به ساخت برنامههای پولساز خواهید بود.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟