آموزش برنامه نویسی موبایل

آنچه در این صفحه می خوانید:

معرفی برنامه نویسی اندروید

توسعه برنامه تلفن همراه عملی یا روندی است که با استفاده از آن برنامه برای دستگاه های تلفن همراه مانند دستیاران دیجیتال شخصی، دستیاران دیجیتال سازمانی یا تلفن های همراه ایجاد می شود. این برنامه ها می توانند از طریق تلفن های همراه در هنگام ساخت سیستم عامل ها از قبل نصب شوند یا به صورت برنامه های وب با استفاده از پردازش سمت یا سرور یا کلاینت (به عنوان مثال JavaScript) تحویل داده شوند تا تجربه ای مشابه برنامه را در مرورگر وب ارائه دهند. توسعه دهندگان نرم افزار کاربردی همچنین به دلیل رقابت شدید در نرم افزار تلفن همراه و تغییر در هر یک از سیستم عامل ها، باید تعداد زیادی صفحه اندازه، مشخصات سخت افزاری و تنظیمات را در نظر بگیرند. توسعه برنامه های تلفن همراه با درآمد و شغل ایجاد شده به طور پیوسته در حال رشد است. براساس گزارش تحلیلگر سال 2013، 529،000 مشاغل مستقیم در اقتصاد برنامه 28 عضو اتحادیه اروپا وجود دارد که 60٪ از آنها توسعه دهندگان برنامه های تلفن همراه هستند.

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

رابط کاربر تلفن همراه یا فرانت اند برای پشتیبانی از دسترسی به سیستم های سازمانی به پشتی های تلفن همراه تکیه می کنند. بک اند موبایل مسیریابی داده ها، امنیت، تأیید اعتبار، مجوز، کار خارج از خط و ارکستراسیون خدمات را تسهیل می کند. این قابلیت با ترکیبی از مؤلفه های میان افزار از جمله سرور برنامه تلفن همراه، بک اند موبایل به عنوان سرویس (MBaaS) و زیرساخت های معماری سرویس محور (SOA) پشتیبانی می شود.

معرفی اپلیکیشن (App)

برنامه تلفن همراه، که به آن به عنوان اپلیکیشن تلفن همراه یا به سادگی، اپلیکیشن نیز گفته می شود، یک برنامه کامپیوتری یا اپلیکیشن نرم افزاری است که برای اجرای آن بر روی دستگاه تلفن همراه مانند تلفن، تبلت یا ساعت هوشمند طراحی شده است. برنامه ها در ابتدا برای کمک به بهره وری از جمله ایمیل، تقویم و بانک اطلاعاتی مخاطب در نظر گرفته شده بودند، اما تقاضای عمومی برای برنامه ها باعث گسترش سریع به مناطق دیگر از جمله بازی های تلفن همراه، اتوماسیون، GPS و خدمات مبتنی بر مکان، ردیابی سفارش و بلیط شد. خریدها، به گونه ای که اکنون میلیون ها برنامه در دسترس هستند. برنامه ها معمولاً از سیستم عامل های توزیع برنامه که توسط مالک سیستم عامل تلفن همراه مانند App Store یا Google Play Store اداره می شوند بارگیری می شوند. برخی از برنامه ها رایگان هستند و برخی دیگر قیمت دارند و سود آن بین خالق برنامه و بستر توزیع تقسیم می شود. برنامه های تلفن همراه معمولاً برخلاف برنامه های دسکتاپ هستند که برای اجرای روی رایانه های رومیزی و برنامه های وب که در مرورگرهای وب موبایل اجرا می شوند و نه مستقیماً روی دستگاه تلفن همراه، ایستاده اند.

در سال 2009، دیوید پوگ، ستون نویس فناوری اظهار داشت كه تلفن های هوشمند را می توان به عنوان تلفن های اپلیکیشن لقب داد تا آنها را از تلفن های هوشمند كمتر پیشرفته متمایز كنند. اصطلاح "App"، کوتاه شده "Software Application"، از آن زمان بسیار محبوب شده است. در سال 2010، توسط انجمن گویش آمریکایی به عنوان "کلمه سال" ذکر شده است.

انواع برنامه نویسی موبایل

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

برنامه های نیتیو (Native)

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

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

Native به معنای ساخت و طراحی اپلیکیشن با استفاده از زبان های اصلی سیستم عامل می باشد. برنامه های Native به دلیل کامپایل شدن سرعت بالایی دارند و امکان دسترسی به تمامی امکانات سیستم عامل را به برنامه نویس می دهد.

برنامه های هیبرید (Hybrid)

مفهوم برنامه هیبرید، ترکیبی از برنامه های نیتیو و مبتنی بر وب است. برنامه های توسعه یافته با استفاده از زامارین، Sencha Touch و سایر فناوری های مشابه در این گروه قرار می گیرند. این ها برای پشتیبانی از فناوری های وب و بومی در چندین سیستم عامل ساخته شده است. علاوه بر این، توسعه این برنامه ها آسانتر و سریعتر است. این شامل استفاده از پایه کد تک است که در چندین سیستم عامل موبایل کار می کند. علیرغم چنین مزایایی، برنامه های هیبرید عملکرد کمتری دارند. غالباً، در سیستم عامل های مختلف تلفن همراه، برنامه ها UI و یو ایکس (UX) یکسانی ندارند.

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

برنامه های مبتنی بر وب (Web-based)

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

پلتفرم های توزیع برنامه های موبایل

سه فروشگاه بزرگ برنامه Google Play for Android ،App Store for iOS و Microsoft Store برای Windows 10 ،Windows 10 Mobile و Xbox One هستند.

گوگل پلی (Google Play)

Google Play (که قبلاً با نام Android Market شناخته می شد) فروشگاه نرم افزار آنلاین بین المللی است که توسط Google برای دستگاه های Android ساخته شده است. در ماه اکتبر سال 2008 افتتاح شد. در ژوئیه 2013، تعداد برنامه های بارگیری شده از طریق فروشگاه Google Play از بیش از 1 میلیون برنامه موجود در 50 میلیارد دلار فراتر رفت. از سپتامبر سال 2016، طبق آمار Statista تعداد برنامه های موجود بیش از 2.4 میلیون نفر است. بیش از 80٪ برنامه های موجود در فروشگاه Google Play برای بارگیری رایگان هستند. این فروشگاه در سال 2015 درآمد 6 میلیارد دلاری برای ایالات متحده ایجاد کرده است.

اپ استور (App Store)

App Store اپل برای iOS اولین سرویس توزیع برنامه نبود، اما انقلاب موبایل را نادیده گرفت و در 10 ژوئیه 2008 افتتاح شد و از سپتامبر 2016، بیش از 140 میلیارد بار بارگیری را گزارش داد. AppStore اصلی برای اولین بار در سال 1993 توسط استیو جابز توسط جسی تایلر در NeXTWorld Expo به نمایش گذاشته شد. از تاریخ 6 ژوئن 2011 ، 425،000 برنامه در دسترس بود که توسط 200 میلیون کاربر iOS دانلود شده بود. در طول کنفرانس توسعه دهندگان جهانی اپل در سال 2012، مدیر عامل شرکت تیم کوک اعلام کرد که App Store دارای 650،000 برنامه در دسترس برای بارگیری و همچنین 30 میلیارد برنامه است که تا آن تاریخ از فروشگاه برنامه بارگیری شده اند. از دیدگاه جایگزین، ارقامی که در ژوئیه 2013 توسط بی بی سی از سرویس ردیابی آدن مشاهده شده است، حاکی از آن است که بیش از دو سوم برنامه های این فروشگاه "زامبی" هستند، که تا کنون توسط مصرف کنندگان نصب نشده اند.

مایکروسافت استور (Microsoft Store)

مایکروسافت استور (که قبلاً با عنوان Windows Store شناخته می شد) توسط مایکروسافت در سال 2012 برای سیستم عامل های Windows 8 و Windows RT معرفی شد. اگرچه می تواند لیست هایی را برای برنامه های دسکتاپ سنتی که دارای گواهی برای سازگاری با ویندوز 8 هستند، داشته باشد، در درجه اول برای توزیع "Windows Store apps" استفاده می شود.

معرفی سیستم عامل اندروید

Android سیستم عامل موبایل است که توسط گوگل ساخته شده است. این نسخه از سیستم عامل بر اساس نسخه اصلاح شده هسته لینوکس و سایر نرم افزارهای اوپن سورس طراحی شده است و در درجه اول برای دستگاه های تلفن همراه روی صفحه نمایش لمسی مانند تلفن های هوشمند و تبلت ها طراحی شده است. علاوه بر این، گوگل Android TV را برای تلویزیون ها، Android Auto برای اتومبیل ها و Wear OS برای گجت های پوشیدنی طراحی کرده است که هرکدام دارای رابط کاربری تخصصی هستند. انواع مختلف اندروید نیز در کنسول های بازی، دوربین های دیجیتال، رایانه های شخصی و سایر لوازم الکترونیکی استفاده می شود.

گوگل در سال 2005 .Android Inc را خریداری کرد، سپس گسترش داد و با اولین دستگاه تجاری اندرویدی در سپتامبر 2008 رونمایی کرد. نسخه پایدار فعلی Android 10 است که در تاریخ 3 سپتامبر 2019 منتشر شد. سورس کد اصلی اندروید به عنوان پروژه اوپن سورس اندروید AOSP شناخته می شود، در درجه اول تحت مجوز Apache قرار می گیرد. اندروید همچنین با مجموعه نرم افزارهای اختصاصی تولید شده توسط Google با نام Google Mobile Services که اغلب در دستگاه ها از پیش نصب شده، همراه است. این شامل برنامه های اصلی مانند Gmail، فروشگاه برنامه یا پلتفرم توزیع دیجیتال Google Play و بستر توسعه سرویس Google Play مرتبط است و معمولاً شامل مرورگر وب Google Chrome و برنامه جستجوی Google است. این برنامه ها توسط سازندگان دستگاه های اندرویدی دارای مجوز تحت استانداردهای وضع شده توسط گواهینامه مجاز هستند، اما از AOSP به عنوان پایه رقابت برای اکوسیستم های اندرویدی مانند Fire OS Amazon.com استفاده شده است که از معادل های خود در سرویس های موبایل گوگل استفاده می کنند. اندروید از سال 2011 و در تبلت ها از سال 2013 پرفروش ترین سیستم عامل در سراسر جهان بوده است. از ماه مه 2017، بیش از دو میلیارد کاربر فعال ماهانه، بزرگترین پایه نصب شده در هر سیستم عامل را دارد. فروشگاه پلی دارای بیش از 2.6 میلیون برنامه است.

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

توسعه نرم افزار اندرویدی روندی است که با استفاده از آن برنامه های جدیدی برای دستگاه های دارای سیستم عامل Android ایجاد می شود. گوگل اظهار داشت كه "برنامه های Android را می توان با استفاده از كاتلین، جاوا و زبان های سی پلاس پلاس با استفاده از كیت توسعه نرم افزار اندروید (SDK) نوشت، در حالی كه استفاده از سایر زبان ها نیز امكان پذیر است. تمام زبان های غیر JVM، مانند Go ، JavaScript ،C++ ،C یا اسمبلی، به کمک کد زبان JVM نیاز دارند، که ممکن است توسط ابزارهایی تهیه شود که احتمالاً دارای پشتیبانی محدود API هستند. برخی از زبان ها و ابزارهای برنامه نویسی امکان پشتیبانی از برنامه cross-platform را دارند. از زمان انتشار SDK اولیه در سال 2008، ابزارهای شخص ثالث، محیط های توسعه و پشتیبانی از زبان همچنان به تکامل و گسترش خود ادامه داده اند. علاوه بر این، اشخاص بزرگ تجاری مانند Walmart ،Amazon و Bank of America چشم به مشارکت و فروش از طریق موبایل دارند. توسعه برنامه های تلفن همراه شاهد یک تحول است.

معرفی سیستم عامل آی او اس (iOS)

iOS سیستم عامل موبایل است که توسط .Apple Inc منحصراً برای سخت افزار آن ایجاد و ساخته شده است. این سیستم عامل است که در حال حاضر بسیاری از دستگاه های تلفن همراه شرکت از جمله آیفون و iPod Touch را قدرت می دهد. همچنین از iPad قبل از معرفی iPadOS در سال 2019 استفاده می کند. این دومین سیستم عامل محبوب تلفن همراه در سطح جهان بعد از Android است. در ابتدا در سال 2007 برای آیفون رونمایی شد، iOS برای پشتیبانی از سایر دستگاه های اپل مانند iPod Touch (سپتامبر 2007) و iPad (ژانویه 2010) گسترش یافته است.

اپل به دلیل ترکیب عملکردهای قابل دستیابی کامل در iOS، مورد توجه کاربران قرار گرفته است که به کاربران دارای معلولیت بینایی و شنوایی امکان استفاده صحیح از محصولات خود را می دهد. نسخه های عمده iOS هر ساله منتشر می شوند. در تمام دستگاه های iOS اخیر، iOS مرتباً بروزرسانی را بررسی می کند و در صورت موجود بودن، کاربر را ترغیب می کند که نصب خودکار خود را مجاز کند. نسخه فعلی، iOS 13 در تاریخ 19 سپتامبر 2019 به بازار عرضه شد و ترفندهای رابط کاربری و حالت تاریک را به همراه ویژگی هایی از جمله برنامه طراحی مجدد Reminders، صفحه کلید و برنامه عکس پیشرفته معرفی کرد. iOS 13 از دستگاه هایی با رم کمتر از 2 گیگابایت، از جمله آیفون s5، iPod Touch و آیفون 6 و آیفون 6 پلاس پشتیبانی نمی کند، که هنوز هم بیش از 10 درصد از کل دستگاه های iOS را تشکیل می دهند. iOS 13 منحصراً برای آیفون و آی پاد لمسی است زیرا نوع iPad اکنون iPadOS نامیده می شود.

برنامه نویسی آی او اس (iOS)

برنامه نویسی iOS در محیط Xcode به زبان Objective-C  انجام می شود. همچنین شما نیز می توانید از زبان Swift برای برنامه نویسی این سیستم عامل محبوب استفاده نمایید. زبان اصلی برنامه نویسی سیستم عامل آی او اس Objective-C می باشد. این سیستم عامل توسط شرکت اپل ایجاد شده است و هزاران برنامه نویس در سراسر دنیا برای آن اپلیکیشن های کاربردی تولید می کنند.

برنامه نویسی اندروید با پایتون

برای توسعه برنامه های کاربردی رابط کاربری گرافیکی کراس پلتفرم، از Kivy، استفاده کنید. این برنامه به شما امکان می دهد برنامه های گرافیکی خالص Python را که روی سیستم عامل های دسکتاپ اصلی (Windows ،Linux و MacOS) و در iOS و Android اجرا می شود، بنویسید. Kivy کتابخانه پایتون آزاد و منبع باز برای توسعه برنامه های تلفن همراه و سایر نرم افزارهای کاربردی چند لمسی با رابط کاربری طبیعی (NUI) است. تحت شرایط مجوز MIT توزیع می شود و می تواند در اندروید، iOS ،GNU / Linux ،OS X و Windows اجرا شود.

تکنولوژی های برنامه نویسی موبایل

کوردوا (Cordova)

Apache Cordova فریمورک توسعه برنامه کاربردی موبایل است که می تواند برای ایجاد برنامه های تلفن همراه چند سکویی با CSS و HTML5 و JavaScript استفاده شود. برنامه های کاربردی به دست آمده هیبرید هستند، زیرا برنامه ها از طریق وب به جای فریمورک UI نیتیو سیستم عامل انجام می شود و نه بدین معنی که آن ها کاملاً تحت وب باشند زیرا آنها فقط برنامه های وب نیستند بلکه به عنوان برنامه هایی برای توزیع و دسترسی به API های دستگاه نیتیو بسته بندی شده اند. مخلوط کردن قطعات کد نیتیو و هیبرید از نسخه 1.9 امکان پذیر است.

آیونیک (Ionic)

آیونیک SDK کامل اوپن سورس برای توسعه نرم افزار های هیبریدی موبایل است که توسط Max Lynch ،Ben Spree و Adam Bradley از شرکت Drifty در سال 2013 ایجاد شده است. نسخه اصلی در سال 2013 منتشر شد و روی انگولار جی اس و کوردوا ساخته شده است. با این حال، آخرین نسخه به عنوان مجموعه ای از قطعات وب بازسازی شد و به کاربر اجازه می دهد که هر فریمروک رابط کاربری مانند انگولار، ری اکت یا Vue.js را انتخاب کند. همچنین امکان استفاده از اجزای آیونیک بدون فریمروک رابط کاربری را فراهم می کند.

jQuery Mobile

jQuery Mobile پلتفرم توسعه موبایل است. jQuery Mobile بر پایه هسته جی کوئری ساخته شده است، به این معنی که اگر شما سینتکس jQuery را درک کنید، پس هیچ مشکلی در استفاده از JM وجود ندارد.

Sencha Touch

Sencha Touch فریمورک محبوب Sencha برای ایجاد رابط کاربری برای برنامه های تلفن همراه است. Sencha Touch به توسعه دهنده کمک می کند تا برنامه تلفن همراه با استفاده آسان از HTML، CSS، Javascript ایجاد کند که از بسیاری از دستگاه های تلفن همراه مانند اندروید، IOS، BlackBerry و ویندوزپشتیبانی می کند. Sencha Touch بر اساس معماری MVC است.

زامارین (Xamarin)

زامارین ابزار برنامه‌نویسی چندسکویی است که با استفاده از سی شارپ می توان برای اندروید، iOS، ویندوزفون و کدنویسی کرد. زبان #C به شما این امکان را می دهد که از Syntax و ویژگی های پیشرفته مانند Generics، LINQ و کتابخانه Parallel Task استفاده کنید. ابزار IDE به ویژوال استودیو در مک و ویندوز اجازه می دهد تا شما بتوانید پروژه های Xamarin را ایجاد کنید.

Kendo UI

رابط کاربری Kendo  فریمورک مبتنی بر جی کوئری و HTML5 است و به شما کمک می کند تا برنامه های وب مدرن را ایجاد کنید.

ری اکت نیتیو (React Native)

توسعه دهندگان برنامه های تلفن همراه برای انطباق با دنیای فزاینده سریع، نیاز به تکنولوژی پیشرفته برای ساخت برنامه های کاربردی تلفن همراه و هماهنگ سازی با تقاضا دارند. React Native به عنوان یک راه حل مناسب برای نوشتن برنامه های درخشان در دنیای تلفن همراه است. ری اکت نیتیو فریمورک کاربردی برای برنامه موبایل است که توسط Facebook ایجاد شده است. این برنامه برای توسعه برنامه های کاربردی برای Android ، iOS و UWP است که به توسعه دهندگان اجازه می دهد تا از React همراه با قابلیت های پلتفرم ری اکت استفاده کنند. به شما این امکان را می دهد تا برنامه های موبایل خود را با استفاده از جاوا اسکریپت بسازید. مانند ری اکت از همان طراحی استفاده می کند و به شما اجازه می دهد رابط کاربری غنی موبایل از اجزای اعلام شده ایجاد کنید.

فون گپ (PhoneGap)

PhoneGap فریمورک رایگان و متن باز است که توسط شرکت Nitobi توسعه و توسط شرکت Adobeدر سال 2011 خریداری شده است. این فریمورک بر مبنای پروژه آپاچی Cordovaمنبع باز است که توسط Adobe ایجاد شده است. PhoneGap به شما این امکان را می دهد تا با استفاده از تکنولوژی های وب استاندارد مانند HTML5 ،CSS3 و جاوا اسکریپت بجای استفاده از زبان های خاص مانند Objective-C برای iOS، جاوابرای Andriodو سی شارپ برای دستگاه های تلفن ویندوز، برنامه های کاربردی دستگاه های تلفن همراه خود را توسعه دهید.

وب سایت آموزشی گیت، دوره های متنوعی را در زمینه برنامه نویسی موبایل هم به روش Native و هم به روش Hybrid آماده کرده است.

در توسعه اپلیکیشن موبایل می توان از تکنولوژی های مختلفی هم برای نیتیو و هم هیبرید مانند  React Native، زامارین، Cordova، jQuery Mobile، Kendo UI Ionic و Native Script و غیره استفاده کرد. برای درک بهتر این موضوع به مقاله  مقایسه اپلیکیشن های Native اندروید و آی او اس با React Native، Ionic و Native Script مراجعه کنید.

نظرتون درباره این نوشته چیه؟ عالیه بد نیست خوب نبود