چیزی که برای برنامه های کوچک خوب کار کرده است
در این فصل، میخواهم به درسهایی که از تحقیق در مورد برنامههای کوچک از دیدگاه یک توسعهدهنده وب آموختهام نگاهی بیندازم یا به این سؤال پاسخ دهم که منظور از توسعه روش برنامه کوچک چیست.
اجزاء
به جای اینکه چرخ را دوباره اختراع کنند و توسعه دهندگان را وادار کنند که پیادهسازی دیگری از پارادایمهای رابط کاربری مشترک مانند زبانهها، آکاردئونها، چرخ فلکها و غیره بسازند، برنامههای کوچک فقط با مجموعهای از اجزای پیشفرض عرضه میشوند که در صورت نیاز به موارد بیشتر، قابل توسعه هستند. در وب نیز گزینههای زیادی وجود دارد که برخی از آنها را در بخش اجزای برنامه کوچک فهرست کردهام. در دنیای ایدهآل، کتابخانههای مؤلفه در وب به گونهای ساخته شدهاند که میتوانید آزادانه آنها را با هم ترکیب کنید. در عمل، در بسیاری از مواقع، قفل خاصی در مورد یک سیستم طراحی وجود دارد که باید هنگام استفاده از یک مؤلفه، در آن خرید کنید، یا کتابخانه مؤلفه به گونه ای توزیع شده است که همه یا هیچ باشد، اما هیچ مؤلفه جداگانه ای وجود ندارد. را می توان به راحتی به یک پروژه اضافه کرد. با این حال، اجزای اتمی وجود دارد که میتوانید بهصورت مجزا از آنها استفاده کنید، یا کتابخانههایی مانند اجزای عمومی که عمداً سبک نشدهاند. پیدا کردن با استفاده از آن ایده خوبی به نظر می رسد.
Model-view-viewmodel
الگوی معماری Model–view–viewmodel (MVVM) – که جداسازی توسعه رابط کاربری گرافیکی (نما) را از طریق زبان نشانهگذاری از توسعه منطق بکاند (مدل) تسهیل میکند – به این معنی است که نمای به هیچ پلت فرم مدل خاصی وابسته نیست. در حالی که برخی از معایب مستند این الگو وجود دارد، به طور کلی برای کاربردهایی با پیچیدگی برنامه های کوچک بسیار خوب کار می کند. این می تواند به خصوص با کتابخانه های قالب غنی بدرخشد (به فصل بعدی مراجعه کنید).
تفکر صفحه ای
اشکال زدایی برنامه های کوچک نشان می دهد که آنها اساساً برنامه های چند صفحه ای (MPA) هستند. این مزیتهای زیادی دارد، مانند، برای مثال، امکان مسیریابی بیاهمیت و سبکسازی بدون درگیری در هر صفحه را فراهم میکند. مردم معماری های MPA را با موفقیت در برنامه های وب پیشرفته اعمال کرده اند. تفکر در صفحات همچنین به مدیریت منابعی مانند فایلهای CSS و جاوا اسکریپت هر صفحه و سایر داراییها مانند تصاویر و ویدیوها کمک میکند. مهمتر از همه، ساختن به این روش به این معنی است که اگر چیز دیگری را بارگیری نکنید، تقسیم کد مبتنی بر مسیر را به صورت رایگان دریافت می کنید. در آن صورت، هر صفحه بنا به تعریف صرفاً آنچه را که برای عملکرد نیاز دارد بارگیری می کند.
فرآیند ساخت
برنامه های کوچک هیچ فرآیند ساخت قابل مشاهده ای ندارند. در وب، ابزارهای ساخت مدرن مانند Snowpack از سیستم ماژول داخلی جاوا اسکریپت (معروف به ESM) استفاده می کنند تا از کارهای غیرضروری جلوگیری کنند و بدون توجه به اینکه یک پروژه چقدر بزرگ می شود، سریع می مانند. در حالی که برای فناوریهایی مانند Web Bundles ، روزهای اولیه است، اما میتوان آن را به راحتی به فرآیند ساخت اضافه کرد.
قابلیت های قدرتمند
این پلتفرم وب اخیراً قابلیتهای جدیدی را به دست آورده است. اکنون دسترسی به دستگاه ها از طریق بلوتوث ، USB ، HID ، سریال و NFC امکان پذیر است. در جایی که برنامههای کوچک در WebViews اجرا میشوند و به پل جاوا اسکریپت وابسته هستند، در وب، این قابلیتهای قدرتمند مستقیماً در دسترس هستند، بنابراین شما در برابر یک API ارائهشده توسط پل جاوا اسکریپت برنامهنویسی نمیکنید، بلکه در برابر API مرورگر بدون یک عامل میانی برنامهنویسی میکنید.
سپاسگزاریها
این مقاله توسط Joe Medley ، Kayce Basques ، Milica Mihajlija ، Alan Kent و Keith Gu بررسی شده است.