برنامه های کوچک چیست؟

برنامه های کوچک برنامه های کوچک (معمولاً 2 تا 4 مگابایت ) هستند که برای اجرا به یک برنامه فوق العاده نیاز دارند. وجه مشترک آنها، مستقل از برنامه فوق العاده، این است که با ("گویش") فناوری های وب HTML، CSS و جاوا اسکریپت ساخته شده اند. زمان اجرا یک برنامه کوچک، یک WebView در برنامه فوق العاده است، نه سیستم عامل زیرین، که باعث می شود برنامه های کوچک از پلتفرم عبور کنند. همان برنامه کوچک می‌تواند در همان برنامه فوق‌العاده اجرا شود، فرقی نمی‌کند که برنامه فوق روی اندروید، iOS یا سیستم‌عامل دیگری اجرا شود. با این حال، همه برنامه‌های کوچک نمی‌توانند در همه برنامه‌های فوق‌العاده اجرا شوند، بعداً در این مورد بیشتر توضیح خواهیم داد.

کشف

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

بارکد 2 بعدی با مارک وی چت.
اسکن این بارکد 2 بعدی با برنامه WeChat یک برنامه کوچک آزمایشی را راه اندازی می کند.

برنامه‌های کوچک را می‌توان از طریق جستجوی منظم درون برنامه‌ای در برنامه فوق‌العاده کشف کرد، در پیام‌های چت به اشتراک گذاشت یا بخشی از یک آیتم خبری در فید خبری باشد. برخی از برنامه های فوق العاده دارای حساب های تأیید شده هستند که می توانند برنامه های کوچک را در نمایه های خود داشته باشند. برنامه‌های کوچک می‌توانند زمانی که از نظر جغرافیایی فیزیکی نزدیک هستند، مانند برنامه کوچک کسب‌وکاری که کاربر در مقابل آن ایستاده‌اند، یا تقریباً بسته شوند، مانند زمانی که کاربر مسیرها را روی نقشه نشان‌داده‌شده در برنامه فوق‌العاده دریافت می‌کند. برنامه‌های کوچکی که اغلب استفاده می‌شوند در کشوی برنامه موجود هستند که در بسیاری از برنامه‌های فوق‌العاده می‌توان از طریق حرکت تند کشیدن به پایین یا از طریق بخش خاصی در منوی برنامه فوق‌العاده به آن‌ها دسترسی داشت.

تجربه کاربری

همه برنامه های فوق العاده کم و بیش یک رابط کاربری برای برنامه های کوچک دارند. یک نوار بالای موضوعی با نام برنامه کوچک، و در گوشه بالای صفحه، یک دکمه بستن در سمت راست منتهی به منوی عملکردی که دسترسی به ویژگی‌های رایج مانند اشتراک‌گذاری برنامه، افزودن آن به فهرست علاقه مندی‌ها یا صفحه اصلی، گزارش برنامه های توهین آمیز، ارائه بازخورد و تنظیمات. اسکرین شات زیر یک برنامه کوچک خرید را نشان می دهد که در زمینه برنامه فوق العاده Alipay با منوی اکشن باز شده اجرا می شود.

برنامه فوق العاده Alipay یک برنامه کوچک خرید را با نوار بالای برجسته، دکمه منوی عملکرد و دکمه بستن اجرا می کند. منوی عمل باز می شود.
منوی اکشن یک برنامه کوچک خرید در حال اجرا در برنامه فوق العاده Alipay باز شد.

پارادایم های رابط کاربری

معمولاً یک نوار زبانه پایین برای پیمایش اصلی برنامه کوچک وجود دارد. اکثر ارائه دهندگان برنامه های فوق العاده اجزایی را ارائه می دهند که به توسعه دهندگان کمک می کند تا به سرعت پارادایم های رابط کاربری مشترک را پیاده سازی کنند، مانند چرخ فلک ها، آکاردئون ها، نوارهای پیشرفت، اسپینرها، سوئیچ ها، نقشه ها و غیره. این همچنین به سازگاری تجربه کاربر بین برنامه‌های کوچک مختلف کمک می‌کند، که توسط دستورالعمل‌های طراحی برنامه کوتاه WeChat تشویق می‌شود. این مشابه چیزی است که اپل با دستورالعمل‌های رابط انسانی اپل و Google با توصیه‌های طراحی برای اندروید خود تشویق می‌کنند.

برنامه مینی نسخه ی نمایشی Douyin که مؤلفه لغزنده (چرخ فلک) Douyin را با کلیدهایی برای پیشروی خودکار، نشانگرهای نقطه و غیره به نمایش می گذارد.
جزء لغزنده (چرخ فلک) Douyin با گزینه های مختلف.

در حال خدمت کردن

برنامه های کوچک به جای اینکه تکه تکه به عنوان منابع جداگانه ارائه شوند، به عنوان برنامه های بسته بندی شده رمزگذاری شده ارائه می شوند، یعنی به عنوان آرشیوهایی که تمام منابع را فقط در یک فایل در بر می گیرند. برخلاف برنامه‌های وب معمولی، آنها همچنین از مبدأ خاص سازنده برنامه‌های کوچک ارائه نمی‌شوند، بلکه مستقیماً از ارائه‌دهنده برنامه فوق‌العاده ارائه می‌شوند. آن‌ها همچنان می‌توانند از سرورهای سازنده برنامه‌های کوچک به API دسترسی داشته باشند، اما منابع اصلی (که معمولاً به آن پوسته برنامه گفته می‌شود) باید از ارائه‌دهنده برنامه فوق‌العاده ارائه شوند. برنامه‌های کوچک باید مبداهایی را که از آن اطلاعات اضافی درخواست می‌کنند، اعلام کنند.

ذخیره سازی، به روز رسانی، و پیوند عمیق

برنامه‌های کوچک در حافظه پنهان برنامه فوق‌العاده نگهداری می‌شوند، بنابراین دفعه بعد که کاربر یک برنامه کوچک ذخیره‌شده را راه‌اندازی می‌کند، تقریباً بلافاصله بارگیری می‌شود. اگر به‌روزرسانی وجود داشته باشد، یک بسته برنامه جدید بارگیری می‌شود. شماره نسخه می‌تواند بخشی از URI راه‌اندازی باشد (به Discovery مراجعه کنید)، بنابراین برنامه فوق‌العاده زودتر متوجه می‌شود که آیا نسخه ذخیره‌شده محلی هنوز جاری است یا خیر. URI راه اندازی همچنین به صورت اختیاری حاوی صفحه مورد نظر برنامه کوچک است، بنابراین پیوند عمیق به صفحات خاصی از برنامه های کوچک امکان پذیر است. از طریق نقشه سایت، برنامه های کوچک می توانند اعلام کنند که کدام یک از صفحات آنها باید توسط خزنده برنامه کوچک ارائه دهنده برنامه فوق العاده قابل فهرست بندی باشد.

macOS Finder پوشه‌ای حاوی فایل‌های «wxapkg» برنامه کوچک WeChat را نشان می‌دهد.
برنامه های کوچک به عنوان برنامه های بسته بندی شده رمزگذاری شده ذخیره می شوند.

امنیت و مجوزها

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

هر زمان که یک برنامه کوچک عملیاتی را انجام می‌دهد که نیاز به مجوز خاصی دارد، پیامی به کاربر نشان داده می‌شود که اگر توسط پلتفرم اجرا شود، همانطور که توسط توسعه‌دهنده بیان شده است، توجیه استفاده را نیز شامل می‌شود. اسکرین شات زیر اپلیکیشن دمو مینی Douyin را نشان می دهد که از کاربر اجازه می خواهد تا موقعیت مکانی خود را به اشتراک بگذارد. در برخی از برنامه‌های فوق‌العاده، یک API ضروری نیز وجود دارد که برنامه‌های کوچک می‌توانند از آن برای درخواست مجوزها بدون استفاده فوری استفاده کنند، یا فقط وضعیت مجوز را بررسی کنند. این حتی ممکن است شامل یک API برای باز کردن تنظیمات مجوز مرکزی فوق العاده برنامه باشد که با تنظیمات سایت Chrome مطابقت دارد. برنامه های کوچک همچنین باید از قبل منشاء همه سرورهایی را که به طور بالقوه از آنها درخواست داده می کنند، اعلام کنند.

برنامه کوچک نسخه ی نمایشی Douyin که یک اعلان موقعیت جغرافیایی را با دو گزینه نشان می دهد: «مجاز نیست» و «مجاز».
برنامه مینی نسخه ی نمایشی Douyin که مجوز مکان جغرافیایی را می خواهد.

دسترسی به ویژگی های قدرتمند

برنامه فوق العاده میزبانی دسترسی به API های قدرتمند را از طریق یک پل جاوا اسکریپت ارائه می دهد که به WebView ارائه شده توسط برنامه فوق العاده تزریق می شود (به بلوک های ساختمان و سازگاری مراجعه کنید). این پل جاوا اسکریپت قلاب هایی را به API های سیستم عامل ارائه می دهد. به عنوان مثال، یک تابع جاوا اسکریپت یک برنامه کوچک مانند getConnectedWifi() -قابلیت یک برنامه کوچک برای به دست آوردن نام شبکه Wi-Fi فعال فعلی- در زیر سرپوش از طریق getConnectionInfo() API Android یا CNCopyCurrentNetworkInfo() iOS تسهیل می شود. . نمونه‌های دیگر از APIهای دستگاه قدرتمندی که در برنامه‌های فوق‌العاده رایج قرار می‌گیرند عبارتند از بلوتوث، NFC، iBeacon، GPS، کلیپ‌بورد سیستم، حسگرهای جهت‌یابی، اطلاعات باتری، دسترسی به تقویم، دسترسی به دفترچه تلفن، کنترل روشنایی صفحه، دسترسی به سیستم فایل، سخت‌افزار لرزشی برای بازخورد فیزیکی، دوربین. و دسترسی به میکروفون، ضبط صفحه و ایجاد اسکرین شات، وضعیت شبکه، سوکت های UDP، اسکن بارکد، اطلاعات حافظه دستگاه و موارد دیگر.

برنامه کوتاه آزمایشی WeChat که نوار لغزنده‌ای را نشان می‌دهد که روشنایی صفحه نمایش دستگاه را کنترل می‌کند و به حداکثر رسیده است.
برنامه کوتاه آزمایشی WeChat روشنایی صفحه نمایش دستگاه را به حداکثر تنظیم می کند.

دسترسی به خدمات ابری

بسیاری از برنامه‌های فوق‌العاده دسترسی «بدون سرور» به خدمات ابر ارائه‌دهنده برنامه فوق‌العاده را نیز فراهم می‌کنند که به غیر از محاسبات ابری خام و ذخیره‌سازی ابری، اغلب شامل وظایف سطح بالاتری مانند ترجمه متن، تشخیص اشیا یا طبقه‌بندی محتوا در تصاویر، تشخیص گفتار، یا سایر وظایف یادگیری ماشینی برنامه های کوچک را می توان با تبلیغاتی که معمولاً توسط ارائه دهندگان برنامه های فوق العاده در دسترس قرار می گیرد، کسب درآمد کرد. پلتفرم‌های برنامه‌های فوق‌العاده معمولاً داده‌های تجزیه و تحلیل ابری را نیز ارائه می‌دهند، بنابراین توسعه‌دهندگان برنامه‌های کوچک بهتر می‌توانند نحوه تعامل کاربران با برنامه‌هایشان را درک کنند.

هویت، پرداخت، نمودار اجتماعی

یکی از ویژگی های بسیار مهم برنامه های کوچک، اطلاعات هویت و نمودار اجتماعی است که از برنامه فوق العاده به اشتراک گذاشته می شود. برنامه‌های فوق‌العاده‌ای مانند Douyin یا WeChat به‌عنوان سایت‌های شبکه‌های اجتماعی به معنای وسیع شروع شدند، جایی که کاربران دارای هویت (گاهی اوقات حتی تأیید شده توسط دولت)، شبکه دوست یا دنبال‌کننده و اغلب داده‌های پرداخت هستند. به عنوان مثال، یک برنامه کوچک خرید می‌تواند (یا گاهی اوقات حتی باید) هرگونه پرداخت را مستقیماً از طریق APIهای پرداخت سوپر برنامه پردازش کند و با رضایت کاربر، می‌تواند داده‌های کاربر مانند آدرس حمل و نقل، شماره تلفن و نام کامل آنها را بدون دریافت کند. همیشه مجبور به وادار کردن کاربر به پر کردن فرم ها به شکل دردناکی هستید. در زیر می‌توانید اپلیکیشن Walmart mini را ببینید که در وی چت اجرا می‌شود و برای اولین بار باز شده و با چهره‌ای آشنا به من سلام می‌کند.

برنامه Walmart mini که چهره و نام نویسنده را در برگه "Me" نشان می دهد.
برنامه کوچک Walmart با نمای شخصی شده "من" در اولین بازدید.

برنامه‌های کوچک می‌توانند با به اشتراک گذاشتن دستاوردهای خود مانند امتیازات بالاتر در یک بازی و به چالش کشیدن مخاطبین خود از طریق به‌روزرسانی وضعیت، بسیار محبوب شوند. پس از آن مینی برنامه تنها با یک ضربه فاصله دارد، بنابراین کاربران می توانند بدون هیچ گونه اصطکاک وارد رقابت شوند و برنامه مینی از این طریق دسترسی خود را افزایش دهد.

سپاسگزاریها

این مقاله توسط Joe Medley ، Kayce Basques ، Milica Mihajlija ، Alan Kent و Keith Gu بررسی شده است.