ساخت اپلیکیشن های اندروید نیازمند درک عمیق برنامه نویسی و طراحی است. هنگامی که برای اولین بار به یک فناوری جدید نزدیک می شوید، اغلب به تجزیه آن کمک می کند. اگر یک توسعهدهنده وب با تجربه هستید، بسیاری از مفاهیم و فناوریهای درگیر در توسعه برنامه اندروید مشابه چیزهایی هستند که قبلاً میدانید – اگرچه ساخت برنامهها برای دستگاههای تلفن همراه اغلب مستلزم تسلط بر تعدادی مفاهیم ظریفتر است. دستگاههای تلفن همراه دارای صفحهنمایشهای کوچکتر، پردازندههای سادهتر و – در مورد اندروید – تولیدکنندگان مختلف هستند، به این معنی که توسعهدهندگان باید کد را انعطافپذیر نگه دارند و سناریوهای مختلف رابط کاربری را در نظر بگیرند.
پس برای تبدیل شدن به یک توسعه دهنده اندروید چه چیزی لازم است؟ ما از برخی از باهوش ترین توسعه دهندگان در جامعه خود پرسیدیم – در اینجا چیزی است که باید بدانید.
جاوا زبان برنامه نویسی است که زیربنای تمام توسعه اندروید است. برای کسانی که بیشتر تجربه برنامه نویسی خود را در زبان هایی مانند جاوا اسکریپت و روبی به دست آورده اند، هنگام انتخاب زبان برنامه نویسی جاوا اندروید برای اولین بار می توانند منحنی یادگیری داشته باشند.
جاوا مانند جاوا اسکریپت و روبی شی گرا است، اما در مورد مدیریت انواع داده نیز سختگیرانه تر است. توسعهدهندگان باید در مورد کد خود بسیار متفکرتر باشند، انواع دادههایی را که برنامههای تلفن همراهشان قصد کار با آنها را دارند تعریف کنند و منابع حافظه کمیاب را با دقت بیشتری تخصیص دهند.
جیمز تراور، یک توسعهدهنده باتجربه اندرویدی که نرمافزار Immersive را آموزش داده است، میگوید: «شما نمیتوانید در یک محیط تلفن همراه ابهام داشته باشید، و جاوا مطمئن میشود که هیچ سردرگمی در مورد آنچه هر جزء از برنامه شما در تلاش است انجام دهد وجود ندارد. GA. “در نهایت کد کمتری می نویسید، اما کد شما ظریف تر و دقیق تر است.”
2. درک XML
XML به عنوان یک روش استاندارد برای رمزگذاری داده ها برای برنامه های کاربردی تلفن همراه مبتنی بر اینترنت ایجاد شده است. این یک زبان نشانهگذاری ساختاریافته است که بسیاری از ویژگیهای مشترک با HTML را دارد – ممکن است براکتهای زاویهدار، انواع تگ <opening> و </closing> و تودرتو عمیق عناصر را تشخیص دهید.
به طور خلاصه، اجازه می دهد تا اطلاعات بین دستگاه ها به گونه ای منتقل شود که بتوان به طور مداوم درک کرد. در دنیای اندروید، توسعهدهندگان از XML برای ایجاد طرحبندی استفاده میکنند که به عنوان تعریف پایه رابط کاربری برای برنامههای اندرویدی عمل میکند.
توسعهدهندگان همچنین میتوانند کد جاوا را بنویسند که عناصر طرحبندی را هنگامی که برنامه اندروید از قبل اجرا میشود، تغییر میدهد، به همان روشی که توسعهدهندگان وب از جاوا اسکریپت برای تغییر عناصر در وبسایت خود در زمان اجرا استفاده میکنند. اما تسلط بر اصول XML یک مهارت مهم برای توسعه دهندگان اندروید است.
3. ANDROID SDK
SDK مخفف Software Development Kit است که اگرچه ممکن است تصاویری از یک کیف مملو از ابزارهای جاسوسی را تداعی کند، اما در واقع فقط یک نام تجملی برای مجموعه ای از کدهای از پیش بسته بندی شده است. SDK های اندروید ماژول هایی از کد جاوا هستند که به توسعه دهندگان امکان دسترسی به عملکردهای دستگاه تلفن همراه مانند دوربین و شتاب سنج را می دهند.
یکی از اجزای کلیدی Android SDK کتابخانه ای به نام Gradle است. فرض کنید که می خواهید یک پلتفرم رسانه اجتماعی مانند فیس بوک را با برنامه خود ادغام کنید. شما میتوانید یک کتابخانه کد (یا SDK) را از فیسبوک دانلود کنید، و سپس به Gradle بگویید که از آن استفاده میکنید تا زمانی که برنامه شما کامپایل میشود، کد شما به خوبی سازماندهی شود. توسعه دهندگان جدید اندروید بیشتر وقت خود را صرف کشف این موضوع می کنند که چگونه SDK های مختلف اندروید را می توان به روش های مختلف در کنار هم قرار داد تا یک برنامه اندروید را کنار هم قرار دهد.
اگرچه این کار زمان بر است، اما هر SDK Android با نمونههای زیادی همراه است که میتوان آنها را در اسناد رسمی یافت، و درک اینکه هر بسته چه کاری انجام میدهد و چگونه آن را به برنامه خود وصل کنید آسان میکند.
4. ANDROID STUDIO
محیط توسعه یکپارچه (IDE) انتخابی برای توسعه دهندگان اندروید، Android Studio نامیده می شود. Android Studio بر روی IntelliJ IDE بسیار معتبر ساخته شده است و از بسیاری از رایج ترین SDK های اندروید پشتیبانی می کند.
Android Studio همچنین دارای بسیاری از قابلیت هایی است که توسعه دهندگان از یک IDE با امکانات کامل انتظار دارند. تکمیل کد به ارائه پیشنهادات تکمیل خودکار هنگام تایپ کمک می کند. دیباگرهای کد به شما اجازه می دهند تا از کد خود عبور کنید تا منبع خطاها را شناسایی کنید.
حتی ابزارهای پیشرفته تری مانند مانیتورهای حافظه و CPU وجود دارد که به توسعه دهندگان کمک می کند تا مطمئن شوند کد آنها عملکرد بالایی را در دستگاه تلفن همراه حفظ می کند. اندروید استودیو برای توسعه دهندگان مبتدی و با تجربه اندروید ضروری است.
5. APIS
به عنوان یک توسعهدهنده برنامه اندروید، احتمالاً میخواهید با بسیاری از سرویسهای دیگر تعامل داشته باشید. به عنوان مثال، ممکن است بخواهید به کاربران خود اجازه دهید از یک سرویس شخص ثالث به تقویم دسترسی داشته باشند یا بازار سهام را بررسی کنند.
یک شرکت توسعه برنامه اندروید معمولاً API ها را ارائه می دهد و دقیقاً به شما می گوید که چگونه آنها را برای داده ها به روشی ثابت و ایمن جستجو کنید. در حالی که میتوانید با هر API موجود تعامل داشته باشید، Google همچنین اتصال به APIهای خود را از برنامه Android خود بسیار آسان میکند.
به عنوان مثال، میتوانید به راحتی از Google API برای نظارت بر موقعیت مکانی کاربران خود استفاده کنید، به آنها اجازه دهید مکانهای محلی را جستجو کنند و به نقشهای از داخل برنامه خود ارجاع دهند. شما می خواهید با کاوش در تفاوت های ظریف API های مختلف راحت باشید و بدانید که هیچ دو API دقیقاً شبیه هم نیستند.
6. پایگاه های داده
اگر برنامه شما حجم زیادی از داده را مدیریت می کند، احتمالاً بیشتر آن در هر زمان معینی روی دستگاه شما فعال نخواهد بود. در عوض، برنامه شما احتمالاً با پایگاه داده ای که خارج از تلفن شما زندگی می کند تعامل خواهد داشت. سرویسهای ابری مانند Firebase یا Parse APIهای سادهای را برای ذخیره دادهها در فضای ابری و در دسترس قرار دادن آنها در سراسر دستگاهها ارائه میکنند.
این پلتفرمها همچنین اغلب کتابخانههای جاوا را ارائه میکنند که میتوانید آنها را به برنامه خود وصل کنید و ذخیره برخی از دادهها را در دستگاه کاربر آسان میکند. این همگامسازی دادهها بین فضای ذخیرهسازی محلی و پایگاه داده راه دور مهم است اگر بخواهید به کاربران اجازه دهید از برنامه زمانی که آفلاین هستند استفاده کنند.
راه دیگر برای ذخیره داده ها به صورت محلی از طریق پشتیبانی داخلی اندروید برای استفاده از SQL برای تعامل با پایگاه داده SQLite است. با وجود این که مدیریت داده ها را در برنامه خود انتخاب می کنید، باید نحوه عملکرد پایگاه داده ها و راه های پرس و جو از آن داده ها را برای استفاده از آن در برنامه خود بررسی و درک کنید.
7. طراحی مواد
برخلاف رقبایی مانند اپل، گوگل از لحاظ تاریخی زیبایی طراحی ثابتی را در محصولات خود حفظ نکرده است. در سال های اخیر، این تغییر کرده است. گوگل مجموعهای از دستورالعملها و استانداردهای رابط آیندهنگر به نام طراحی متریال را منتشر کرده است که در تمامی محصولات آنها ارائه شده است.
این استانداردها شامل نکاتی برای نحوه لایه بندی عناصر مختلف بر روی صفحه و استفاده از سبک های خاص مانند سایه های در حال پخش است. اگر از برنامه جدید Google Drive یا برنامه جدید Inbox by Gmail در تلفن همراه استفاده کرده باشید، احتمالاً متریال دیزاین را در زندگی واقعی دیده اید.
اگرچه اجباری نیست، اما گوگل توصیه می کند که توسعه دهندگان اندروید از این دستورالعمل ها به عنوان پایه ای برای رابط کاربری خود استفاده کنند. مستندات آنلاین یک درک اساسی عالی از اصول طراحی متریال ارائه می دهد.
جایزه! یک ایده خوب
مانند هر محصول دیگری که میسازید، اجرای خوب تنها زمانی مؤثر است که روی پروژهای کار کنید که واقعاً برای کاربران مفید باشد. قبل از شروع ساختن هر برنامه موبایلی، زمان بگذارید و فرضیه خود را بنویسید – چه کسی از برنامه شما استفاده خواهد کرد و چه مشکلی را حل می کند؟
سپس برنامه خود را با استفاده از ابزاری مانند Balsamiq یا Sketch قالب بندی کنید و آن را به افراد در جمعیت هدف خود نشان دهید. بازخورد آنها را در مورد این ایده دریافت کنید و مایل به تکرار در هنگام جمع آوری مشاوره با استفاده از پلت فرم باشید. یاد بگیرید که ترس خود را از بازخورد به عنوان یک توسعه دهنده برنامه تلفن همراه کنار بگذارید و انتظار داشته باشید که ایده خود را در حین ساخت اولین برنامه های اندروید خود تکرار کنید.
واقعیت جالب: اولین طرح های ربات اندروید واقعاً ترسناک بود. این لوگو بارها و بارها از تکرارها و بازخوردهای بیشتری گذشت تا سرانجام بر روی ربات معروف اندرویدی فرود آمد.