برنامه یک بسته نرم افزاری مستقل است که به کاربران امکان می دهد وظایف خاصی را بر روی یک دستگاه تلفن همراه یا دسکتاپ انجام دهند. برنامه ها از قبل بر روی دستگاه شما نصب شده یا از طریق یک فروشگاه برنامه اختصاصی مانند Apple App Store توزیع می شوند.
برنامه ها معمولاً به زبان های برنامه نویسی مختلف نوشته می شوند. به عنوان مثال، برنامههای اندروید به زبانهای Kotlin، Java و C++ نوشته میشوند، در حالی که برنامههای iOS با Swift و Objective-C تحت XCode IDE نوشته میشوند. بسته نرمافزاری کد، داده و فایلهای منبع را جمعآوری میکند تا یک بسته نرمافزاری جامع که برای اجرای برنامه ضروری است، مانند فایل APK Android یا فایل IPA برای iOS ایجاد کند.
بسته برنامه حاوی فایلهای برنامه حیاتی و ابرداده اضافی مورد نیاز برای چارچوب برنامه در زمان اجرا است. بیایید برخی از مؤلفههای حیاتی برنامه را که به عنوان بلوکهای اساسی سازنده برنامه عمل میکنند، درک کنیم.
یک فعالیت در یک برنامه نشان دهنده یک نقطه ورود برای کاربر است. این از طریق یک رابط کاربری (UI) آشکار می شود که به کاربران اجازه می دهد با برنامه تعامل داشته باشند. به عنوان مثال، یک برنامه رسانه اجتماعی مانند اینستاگرام (IG) ممکن است فعالیتی داشته باشد که مجموعهای از حلقههای ضبطشده توسط کاربران را نشان میدهد، فعالیت دیگری ممکن است گزینهای برای ایجاد پست، داستان یا ویدیوی زنده نشان دهد و فعالیت دیگری ممکن است فقط نشان دهد. پست های IG در حالی که همه این فعالیتها به صورت همگام عمل میکنند تا به کاربران برنامه IG تجربه کاربری منسجمی بدهند، هر فعالیت به طور مستقل عمل میکند.
یک سرویس ویژگی هایی را که در پس زمینه اجرا می شوند تعریف می کند. مؤلفه خدمات از طریق رابط کاربری آشکار نمی شود. با این حال، انجام فرآیندهای از راه دور بسیار مهم است. به عنوان مثال، این سرویس ممکن است آهنگ های مورد علاقه کاربر را در پس زمینه پخش کند، در حالی که کاربر از برنامه دیگری استفاده می کند. این اجازه می دهد تا کاربر با یک فعالیت تعامل داشته باشد در حالی که مؤلفه سرویس به کار خود ادامه می دهد.
یک مؤلفه گیرنده پخش به برنامه اجازه می دهد تا به اطلاعیه های عمومی سیستم پاسخ دهد. سیستم در اینجا میتواند دستورات را برای برنامههایی که در حال حاضر اجرا نمیشوند پخش کند. به عنوان مثال، می توانید یک یادآوری را روی یک برنامه تنظیم کنید که به شما در مورد یک رویداد یا جلسه آینده هشدار دهد. با این کار، گیرنده پخش را در یک برنامه خاص فعال میکنید، که نیازی به فعال ماندن یا ادامه کار تا زمانی که زنگ هشدار به صدا در نمیآید.
یک مؤلفه ارائهدهنده محتوا، دادههای برنامه به اشتراکگذاشتهشده را هنگامی که آنها را در مکانی قابل دسترسی برای برنامههای مختلف ذخیره میکند، مدیریت میکند. با این کار، هر برنامه ای قادر است بر اساس اجازه ارائه دهنده محتوا، داده ها را پرس و جو کند یا تغییر دهد. برای مثال، مؤلفه ارائهدهنده محتوا، APIهای چند برنامه را به یک لایه ذخیرهسازی داده استاندارد پیوند میدهد و در نتیجه دسترسی به دادههای برنامه را با سایر برنامهها به اشتراک میگذارد.
یک برنامه معمولی چیزی فراتر از کد منبع است. به منابعی مانند محتوای صوتی، تصاویر، GIF یا سایر واحدهای ارائه بصری برای برنامه نیاز دارد. با استفاده از چنین منابعی، کاربران می توانند بدون تغییر کد واقعی برنامه، برنامه را سفارشی و بهینه کنند. به عنوان مثال، میتوانید طرحبندی فعالیت خود را از طریق رابط کاربری، طراحی سبک منوی برنامه، یا تعریف انیمیشنها با استفاده از فایلهای XML تعریف کنید. این منابع برنامه تنظیم دقیق برنامه ها را امکان پذیر می کند و آنها را با پیکربندی های مختلف دستگاه، مانند دستگاه هایی با اندازه های صفحه نمایش یا زبان های مختلف، سازگار می کند.
اجزای برنامه فوق حیاتی هستند زیرا برنامه ها را همه کاره می کنند.
کاربران از طریق رابط کاربری که بخشی از قسمت جلویی برنامه است، با برنامه ها تعامل دارند. فرانت اند به درخواست کاربر پاسخ می دهد و آن را به باطن هدایت می کند. قسمت جلویی و بکاند یک برنامه به همان اندازه حیاتی هستند، زیرا بدون یک بکاند کاربردی، ممکن است جلوی صفحه بیفایده تلقی شود و بالعکس.
فرانت اند و باطن از طریق API ها با هم ارتباط برقرار می کنند. برای درک بهتر این موضوع مثالی را در نظر می گیریم. برنامه تجارت الکترونیک “eBay” را در نظر بگیرید که از پلتفرم ابری Google برای ارائه خدمات تجارت الکترونیک استفاده می کند. فرض کنید کاربر قصد خرید یک ژاکت زمستانی را دارد. بنابراین کاربر روی دکمه «اکنون خرید» ضربه میزند و به صفحه پرداخت هدایت میشود، جایی که کاربر میتواند گزینه پرداخت را انتخاب کند. در اینجا، frontend eBay درخواست کاربر را به سرورهای باطن که به دروازه پرداخت هدف متصل می شوند ارسال می کند.
در مورد بالا، API در این مورد ارتباط دو طرفه بین front و backend ارائه می دهد. همچنین به ارائه دهنده پرداخت خارجی متصل می شود که صفحه پرداخت را برای کاربر نمایش می دهد تا پرداخت را انجام دهد. API تضمین می کند که برنامه تا پایان کل تراکنش فعال می ماند. در نتیجه کاربر نهایی می تواند خرید انجام دهد.
شایان ذکر است که پشتیبان برنامه نقش مهمی دارد زیرا به عنوان “مغز” هر برنامه تلفن همراه عمل می کند. این به وظایف حیاتی پردازش داده، ذخیره سازی و امنیت کمک می کند. در مثال بالا، بازیابی ژاکت انتخاب شده توسط کاربر از سرور پایگاه داده وظیفه پشتیبان برنامه است. Backend بر روی سرورهای راه دور قرار دارد و ویژگی های برنامه را از طریق API به کاربر نهایی ارائه می دهد.
پشتیبان برای برنامه ها ضروری است زیرا با گسترش عملکرد برنامه فراتر از ظرفیت های یک دستگاه هوشمند معمولی، بر قابلیت های محدود تلفن های هوشمند غلبه می کند. باطن فاقد رابط کاربری است. این به طور خاص برای برقراری ارتباط بین دستگاه ها و سرورها طراحی شده است. این به کاربران یک تجربه اپلیکیشن جلویی یکپارچه می دهد.
لینکهای مفید:
پیاده سازی هوش مصنوعی در اپلیکیشن موبایل
چطور یک اپلیکیشن دسکتاپ بسازیم؟
10 روندی که آینده اپلیکیشن موبایل را شکل می دهد