برنامه کوچک DevTools

تجربه توسعه دهنده

اکنون که برنامه‌های کوچک را به خودی خود پوشش داده‌ام، می‌خواهم روی تجربه توسعه‌دهندگان برای پلتفرم‌های مختلف برنامه‌های فوق‌العاده تمرکز کنم. توسعه اپلیکیشن مینی در تمامی پلتفرم ها در IDE هایی انجام می شود که به صورت رایگان توسط پلتفرم های اپلیکیشن فوق العاده ارائه می شوند. در حالی که موارد بیشتری وجود دارد، می‌خواهم روی چهار مورد از محبوب‌ترین و پنجمین برنامه Quick App برای مقایسه تمرکز کنم.

IDE برنامه های کوچک

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

پروژه های شروع برنامه های کوچک

برای شروع سریع با توسعه برنامه های کوچک، همه ارائه دهندگان برنامه های فوق العاده برنامه های آزمایشی را ارائه می دهند که می توانند بلافاصله دانلود و آزمایش شوند، و گاهی اوقات نیز در جادوگران "پروژه جدید" IDE های مختلف ادغام می شوند.

جریان توسعه

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

پنجره برنامه WeChat DevTools که شبیه ساز، ویرایشگر کد و دیباگر را نشان می دهد.
WeChat DevTools با شبیه ساز، ویرایشگر کد و دیباگر.
پنجره برنامه Alipay DevTools که ویرایشگر کد، شبیه ساز و دیباگر را نشان می دهد.
Alipay DevTools با ویرایشگر کد، شبیه ساز و دیباگر.
پنجره برنامه Baidu DevTools که شبیه ساز، ویرایشگر کد و دیباگر را نشان می دهد.
Baidu DevTools با شبیه ساز، ویرایشگر کد و دیباگر.
پنجره برنامه ByteDance DevTools که شبیه ساز، ویرایشگر کد و دیباگر را نشان می دهد.
ByteDance DevTools با شبیه ساز، ویرایشگر کد و دیباگر.
پنجره برنامه Quick App DevTools که ویرایشگر کد، شبیه ساز و دیباگر را نشان می دهد.
Quick App DevTools با ویرایشگر کد، شبیه ساز و اشکال زدا.

همانطور که می بینید، اجزای اساسی همه IDE ها بسیار شبیه هستند. شما همیشه یک ویرایشگر کد بر اساس ویرایشگر موناکو دارید، همان پروژه ای که VS Code را نیز تقویت می کند. در همه IDEها، یک اشکال‌زدایی مبتنی بر ابزارهای توسعه‌دهنده کروم با برخی اصلاحات وجود دارد، که در آینده بیشتر به آن‌ها می‌پردازیم (به Debugger مراجعه کنید). IDE ها به خودی خود یا به عنوان NW.js یا به عنوان برنامه های Electron پیاده سازی می شوند، شبیه سازها در IDE ها به عنوان یک برچسب <webview> NW.js یا تگ <webview> Electron ، که به نوبه خود بر اساس <webview> Chromium هستند، اجرا می شوند. برچسب زدن . اگر به داخلی‌های IDE علاقه‌مند هستید، اغلب می‌توانید آن‌ها را با ابزارهای توسعه‌دهنده Chrome با میانبر صفحه کلید Control + Alt + I (یا Command + Option + I در Mac) به سادگی بررسی کنید.

Chrome DevTools برای بازرسی DevTools Baidu استفاده می‌شود که برچسب نمای وب شبیه‌ساز را در پانل عناصر Chrome DevTools نشان می‌دهد.
بررسی Baidu DevTools با Chrome DevTools نشان می‌دهد که شبیه‌ساز به عنوان یک تگ Electron <webview> شناخته می‌شود.

شبیه ساز و دستگاه واقعی تست و اشکال زدایی

شبیه ساز با آنچه ممکن است از حالت دستگاه Chrome DevTools بدانید قابل مقایسه است. می‌توانید دستگاه‌های مختلف Android و iOS را شبیه‌سازی کنید، مقیاس و جهت دستگاه را تغییر دهید، اما همچنین حالت‌های مختلف شبکه، فشار حافظه، رویداد خواندن بارکد، خاتمه غیرمنتظره و حالت تاریک را شبیه‌سازی کنید.

در حالی که شبیه ساز داخلی برای دریافت یک احساس خشن از نحوه عملکرد برنامه کافی است، آزمایش روی دستگاه، مانند برنامه های وب معمولی، غیر قابل تعویض است. آزمایش یک برنامه کوچک در حال توسعه فقط یک اسکن کد QR است. به عنوان مثال، در ByteDance DevTools، اسکن یک کد QR که به صورت پویا توسط IDE تولید می‌شود با یک دستگاه واقعی منجر به یک نسخه میزبانی ابری از برنامه کوچک می‌شود که می‌تواند بلافاصله روی دستگاه آزمایش شود. روشی که این کار برای ByteDance کار می‌کند به این صورت است که URL پشت کد QR ( مثال ) به یک صفحه میزبانی شده ( مثال ) هدایت می‌شود، که حاوی پیوندهایی با طرح‌های URI خاص مانند، برای مثال، snssdk1128:// ، برای پیش‌نمایش برنامه کوچک در برنامه های مختلف سوپر ByteDance مانند Douyin یا Toutiao (در اینجا یک مثال است). سایر ارائه دهندگان برنامه های فوق العاده از یک صفحه میانی عبور نمی کنند، اما پیش نمایش را مستقیماً باز می کنند.

ByteDance DevTools یک کد QR را نشان می دهد که کاربر می تواند با برنامه Douyin آن را اسکن کند تا برنامه مینی فعلی را در دستگاه خود ببیند.
ByteDance DevTools یک کد QR را نشان می دهد که کاربر می تواند با برنامه Douyin آن را برای آزمایش فوری روی دستگاه اسکن کند.
صفحه فرود میانی برای پیش نمایش یک برنامه ByteDance mini در برنامه های مختلف فوق العاده این شرکت که در یک مرورگر دسکتاپ معمولی برای مهندسی معکوس فرآیند باز می شود.
صفحه فرود متوسط ​​ByteDance برای پیش نمایش یک برنامه کوچک (بر روی یک مرورگر دسکتاپ برای نمایش جریان باز می شود).

یک ویژگی حتی متقاعد کننده تر، اشکال زدایی از راه دور پیش نمایش مبتنی بر ابر است. پس از اسکن کردن یک کد QR ویژه که به همین ترتیب IDE تولید شده است، برنامه کوچک روی دستگاه فیزیکی باز می‌شود و یک پنجره Chrome DevTools برای اشکال‌زدایی از راه دور روی رایانه اجرا می‌شود.

تلفن همراهی که یک برنامه کوچک را اجرا می‌کند که بخش‌هایی از رابط کاربری آن توسط دیباگر ByteDance DevTools برجسته شده است که روی لپ‌تاپ در حال بررسی است.
اشکال زدایی بی سیم یک برنامه کوچک در یک دستگاه واقعی با ByteDance DevTools.

اشکال زدا

اشکال زدایی عناصر

تجربه اشکال‌زدایی برنامه‌های کوچک برای هر کسی که تا به حال با Chrome DevTools کار کرده است بسیار آشنا است. با این حال، تفاوت های مهمی وجود دارد که باعث می شود گردش کار متناسب با برنامه های کوچک باشد. به‌جای پانل عناصر Chrome DevTools، IDE‌های برنامه‌های کوچک دارای پانل سفارشی‌سازی شده‌ای هستند که بر اساس گویش خاص HTML آن‌ها طراحی شده است. به عنوان مثال، در مورد WeChat، پانل Wxml نامیده می شود که مخفف WeiXin Markup Language است. در Baidu DevTools، عنصر Swan نامیده می شود. ByteDance DevTools آن را Bxml می نامد. Alipay نام آن را AXML گذاشته و Quick App به پنل به سادگی UX اشاره می کند. من بعداً به این زبانهای نشانه گذاری خواهم پرداخت.

بررسی یک تصویر با پنل "Wxml" WeChat DevTools. نشان می دهد که تگ مورد استفاده یک تگ "تصویر" است.
بررسی یک عنصر <image> با ابزار توسعه دهنده WeChat.

عناصر سفارشی زیر کاپوت

بررسی WebView در یک دستگاه واقعی از طریق about://inspect/#devices نشان می‌دهد که WeChat DevTools عمداً حقیقت را پنهان کرده است. در جایی که WeChat DevTools یک <image> را نشان داد، چیزی که من به آن نگاه می کنم یک عنصر سفارشی به نام <wx-image> است که یک <div> به عنوان تنها فرزند آن است. جالب است بدانید که این عنصر سفارشی از Shadow DOM استفاده نمی کند. در ادامه بیشتر در مورد این اجزاء.

بررسی یک برنامه کوچک WeChat که روی یک دستگاه واقعی با ابزار توسعه کروم اجرا می شود. در جایی که WeChat DevTools گزارش داد که من به یک برچسب «تصویر» نگاه می کنم، Chrome DevTools نشان می دهد که در واقع با یک عنصر سفارشی «wx-image» سروکار دارم.
بررسی یک عنصر <image> با WeChat DevTools نشان می دهد که در واقع یک عنصر سفارشی <wx-image> است.

اشکال زدایی CSS

تفاوت دیگر واحد طول جدید rpx برای پیکسل پاسخگو در لهجه های مختلف CSS است ( در ادامه در مورد این واحد بیشتر توضیح خواهیم داد). WeChat DevTools از واحدهای طول CSS مستقل از دستگاه استفاده می کند تا توسعه برای اندازه های مختلف دستگاه را بصری تر کند.

بررسی یک نمای با لایه بالا و پایین مشخص شده «200rpx» در WeChat DevTools.
بررسی بالشتک مشخص شده در پیکسل های پاسخگو ( 200rpx 0 ) یک نمای با WeChat DevTools.

حسابرسی عملکرد

عملکرد برای برنامه های کوچک جلو و مرکز است، بنابراین جای تعجب نیست که WeChat DevTools و برخی دیگر از DevTools یک ابزار حسابرسی یکپارچه الهام گرفته از Lighthouse داشته باشند. حوزه های تمرکز ممیزی ها عبارتند از کل، عملکرد، تجربه و بهترین عملکرد. نمای IDE را می توان سفارشی کرد. در تصویر زیر، ویرایشگر کد را به طور موقت مخفی کرده ام تا املاک بیشتری روی صفحه نمایش برای ابزار حسابرسی داشته باشم.

اجرای ممیزی عملکرد با ابزار ممیزی داخلی. امتیازها مجموع، عملکرد، تجربه و بهترین عملکرد را نشان می‌دهند که هر کدام 100 امتیاز از 100 امتیاز را نشان می‌دهند.
ابزار حسابرسی داخلی در WeChat DevTools مجموع، عملکرد، تجربه و بهترین عملکرد را نشان می‌دهد.

تمسخر API

به‌جای اینکه توسعه‌دهنده نیاز به راه‌اندازی یک سرویس جداگانه داشته باشد، پاسخ‌های تمسخر آمیز API مستقیماً بخشی از WeChat DevTools است. از طریق یک رابط کاربری آسان، توسعه‌دهنده می‌تواند نقاط پایانی API و پاسخ‌های ساختگی مورد نظر را تنظیم کند.

راه‌اندازی یک پاسخ ساختگی برای یک نقطه پایانی API در WeChat DevTools.
ویژگی تمسخر پاسخ API یکپارچه WeChat DevTools.

سپاسگزاریها

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