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

اغلب ما با کتابخانه‌ها و ابزارهای مشهور و معروف که برای توسعه اندروید مورد نیاز هستند، آشنا هستیم، اما تعداد زیادی از این کتابخانه‌ها وجود دارند که افراد زیادی آن‌ها را نمی‌شناسند. بنابراین در این مقاله با 20 ابزار توسعه اندروید آشنا خواهیم شد که احتمالاً نام آن‌ها را تاکنون نشنیده‌اید و با این حال می‌توانند به تسریع و تسهیل کارهای شما کمک زیادی بکنند.

AinD: اندروید در داکر

AinD (+) اپلیکیشن‌های اندروید را به وسیله کانتینرهای AnBox درون داکر و در محیط داکر اجرا می‌کند.

20 ابزار توسعه اندروید

برخلاف پروژه‌های مشابه مبتنی بر ماشین مجازی، AinD می‌تواند روی وهله‌های IaaS بدون پشتیبانی برای مجازی‌سازی تودرتو اجرا شود. هدف از این پروژه جلوگیری از سرقت و سازگاری با اندروید از طریق کلود برای تبلت‌های iOS و ویندوزی است.

Booster

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

20 ابزار توسعه اندروید

بوستر یک مجموعه از کلکسیون‌ها برای تشخیص عملکرد، بهینه‌سازی چندنخی، اندیس‌گذاری درون خطی منابع، کاهش استفاده تکراری از منابع، فشرده‌سازی منابع، اصلاح باگ سیستم و غیره است. استفاده از بوستر موجب افزایش ثبات اپلیکیشن به میزان 15 تا 25 درصد می‌شود و اندازه پکیج نیز می‌تواند به میزان 1 تا 10 مگابایت کاهش یابد.

این ابزار بهینه‌سازی تحت لایسنس آپاچی 2.0 نوشته شده است و مستندات بسیار خوبی دارد.

Shake

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

20 ابزار توسعه اندروید

چنان که در تصویر فوق می‌بینید، می‌توان دستگاه را تکان داد تا یک قالب برای ارسال باگ ایجاد شود. کاربران می‌توانند باگ را علامت‌گذاری کنند و حتی داده‌های محرمانه را تار می‌کند و مشکل را توصیف کرده و در نهایت برای شما ارسال کنند.

نصب این ابزار بسیار آسان است و مستندات (+) ‌بسیار خوبی دارد. همچنین یک دموی زنده وجود دارد که شیوه کارکرد درونی این ابزار را توصیف می‌کند.

Scabbard

Scabbard (+) ابزاری است که گراف وابستگی Dagger 2 شما را بصری‌سازی کرده و درک می‌کند.

20 ابزار توسعه اندروید

Scabbard همه نقاط، گراف‌های وابستگی، روابط کامپوننت‌ها و دامنه‌ها را بصری‌سازی می‌کند. برای قرار دادن آن در پروژه به تلاش بسیار کمی نیاز دارید. این ابزار به خوبی با Gradle و همچنین اندروید استودیو یا IntelliJ ادغام می‌شود. به این ترتیب می‌توانید یک گراف Component@ یا یک Subcomponent@ را به صورت مستقیم از سورس کد از طریق آیکون‌های حاشیه کد ببینید.

مستندات (+) این ابزار عالی است و پر از مثال‌ها و نکات مختلف است. همه موارد مرتبط با این ابزار تحت لایسنس آپاچی 2.0 انتشار یافته است.

Can I Drop Jetifier

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

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

20 ابزار توسعه اندروید

مستندات این ابزار (+) کاملاً گویا است و پروژه تحت لایسنس آپاچی 2.0 انتشار یافته است.

ADB Event Mirror

ADB Event Mirror (+) امکان بازتاب رویدادهای لمس/ کلید/دکمه یک دستگاه را روی دستگاه‌های دیگر به صورت آنی فراهم می‌سازد.

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

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

Android Emulator Container Scripts

Android Emulator Container Scripts (+) یک مجموعه از اسکریپت‌های مینیمال برای اجرای شبیه‌ساز در یک کانتینر برای سیستم‌های مختلف مانند داکر برای مصرف خارجی است. این اسکریپت‌ها با هر دو نسخه 2 و 3 پایتون سازگار هستند. ریپوی مربوطه کاملاً محبوب است و در صورتی که بخواهید شبیه‌سازی‌ها زیادی را روی ماشین‌های ریموت اجرا کنید، مفید واقع خواهند شد.

این پروژه تحت لایسنس آپاچی 2.0 انتشار یافته و به خوبی مستندسازی شده است.

Autoplay

Autoplay (+) یک پلاگین Gradle برای انتشار محصول‌های اندروید روی گوگل پلی است.

20 ابزار توسعه اندروید

شما می‌توانید با آن مانند یک جایگزین ساده برای Gradle Play Publisher یا Fastlane برخورد کنید. امکان انتشار اپلیکیشن‌های شما به صورت apk روی App Bundle وجود دارد.

Autoplay دارای خصوصیات زیر است:

  • برای کاربرد CI/CD بهینه‌سازی شده است.
  • محبوب توسعه‌دهنده است.
  • پایدار و تست شده است.

این پروژه مستندات خوبی دارد. نسخه 1.3.0 تخت لایسنس آپاچی 2.0 انتشار یافته است.

پلاگین Gradle Static Analysis

این ابزار (+) یک جایگزین خوب برای همه ابزارهای تحلیل استاتیک کد مانند موارد فهرست زیر محسوب می‌شود:

  • Checkstyle
  • PMD
  • FindBugs
  • SpotBugs
  • Detekt
  • Android Lint
  • KtLint

به جای این که آن را خودتان راه‌اندازی کنید، یک روش آسان برای گنجاندن این ابزار به روشی کارآمد در کدبیس ارائه شده است. این پلاگین تحت لایسنس آپاچی 2.0 عرضه شده است، مستندات خوبی دارد و حتی یک پروژه نمونه نیز به همراه آن عرضه شده است.

AndroidUtilCode

AndroidUtilCode (+) یک کتابخانه قدرتمند و با استفاده آسان برای اندروید است. این کتابخانه تابع‌هایی را که در توسعه اندروید استفاده می‌شوند کپسوله‌سازی می‌کند و دمو و تست‌های یونیت کاملی دارد. با بهره‌گیری از API-های کپسوله‌سازی‌شده می‌توانید عملکرد را به میزان زیادی بهبود ببخشید.

این پروژه به طور عمده شامل دو ماژول است که یکی به نام utilcode در محیط توسعه و دیگری به نام subutil به ندرت در محیط توسعه استفاده می‌شود و نسخه ساده‌شده‌ای از ماژول اصلی به حساب می‌آید.

20 ابزار توسعه اندروید

این کد در نسخه 1.29.0 است و تحت لایسنس آپاچی 2.0 انتشار یافته است.

Hijckr

Hijckr (+) در مرحله ایجاد لی‌آوت اندروید دخالت کرده و عناصر نامدار را به کلاس‌های دیگر هدایت می‌کند.

20 ابزار توسعه اندروید

این یک ابزار کاملاً جالب است. برای نمونه یک فایل لی‌آوت که شامل TextView است در اندروید به طور معمول android.widget.TextView بارگذاری می‌شود، اما با استفاده از این کتابخانه می‌توانیم تگ‌های xml را دزدیده و com.myapp.TextView را بارگذاری کنیم. فایل README کامل است و این امکان را به ما می‌دهد که سریعاً آغاز به کار با این ابزار کنیم که 100% با جاوا نوشته شده است.

Roomigrant

Roomigrant (+) یک کتابخانه کمکی است که میگریشن‌های کتابخانه Room اندروید را به صورت خودکار با استفاده از تولید کد زمان کامپایل ایجاد می‌کند این کتابخانه از فایل‌های اسکیما که از سوی کتابخانه Room تولید شده استفاده کرده و میگریشن را بر مبنای تفاوت بین آن‌ها تولید می‌کند. این بدان معنی است که تولید میگریشن اسکیمای Room باید در فایل build.gradle فعال‌سازی شود که به خوبی در README توضیح داده شده است. این پروژه تحت لایسنس MIT نسخه 0.1.7 انتشار یافته است.

RoomExplorer

زمانی که کدبیس خود را به Room انتقال می‌دهیم، می‌توانیم این پایگاه داده را در یک ابزار Viewer بررسی کنیم. RoomExplorer (+) امکان مشاهده همه داده‌های جدول را در فرمت جدولی فراهم می‌سازد. همچنین امکان درج ردیف در جدول، به‌روزرسانی، حذف ردیف‌ها، حذف و پاکسازی ردیف‌ها و غیره وجود دارد.

20 ابزار توسعه اندروید

این ابزار مستندات خوبی دارد و تحت لایسنس آپاچی 2.0 انتشار یافته است.

android-framer

ابزار android-framer (+) امکان افزودن فریم و عنوان را به اسکرین‌شات‌های گوگل پلی فراهم می‌سازد.

20 ابزار توسعه اندروید

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

Dependency Tree Diff

کتابخانه Dependency Tree Diff (+) یک ابزار diff هوشمندانه برای خروجی وظیفه Gradle است که همواره مسیر وابستگی ریشه را نمایش می‌دهد.

20 ابزار توسعه اندروید

امکان نصب این ابزار با brew یا صرفاً با استفاده از فایل jar وجود دارد. این کتابخانه تحت لایسنس آپاچی 2.0 انتشار یافته است.

Gradle Doctor

کتابخانه Gradle Doctor (+) یک پلاگین بیلد گریدل است که شامل هشدارهای قابل پیکربندی برای مشکلات سریع بیلد است و زمان صرف شده در فرایندهای حاشیه‌نویسی داگر را اندازه‌گیری می‌کند. این ابزار مطمئن می‌شود که JAVA_HOME تعیین شده با مقدار JAVA_HOME در IDE تطبیق پیدا می‌کند. همچنین امکان کش کردن تست را به سادگی غیر فعال می‌کند تا زمانی که دایرکتوری src خالی است بیلد ناموفق باشد، زیرا دایرکتوری‌های src خالی موجب از دست رفتن کش‌ها و مشکلات بسیار دیگر می‌شوند.

این ابزار مستندات عالی دارد و تحت لایسنس آپاچی 2.0 انتشار یافته است.

GloballyDynamic

GloballyDynamic (+) یک مجموعه از ابزارها است که امکان عرضه سراسری Dynamic Delivery را صرف نظر از این که پلتفرم زیرین فروشگاه/ توزیع اپلیکیشن چیست ارائه کرده است. همچنین یک API کلاینت اندروید متحد و منفرد و یک تجربه توسعه‌دهنده سرراست عرضه می‌کند.

20 ابزار توسعه اندروید

این کتابخانه در حال حاضر از موارد زیر پشتیبانی می‌کند:

  • پلی استور گوگل
  • گالری اپلیکیشن هواوی
  • اغلب پلتفرم‌های دیگر در ترکیب با GloballyDynamic Server مانند اپ‌استور آمازون، فروشگاه گلکسی سامسونگ، توزیع اپلیکیشن فایربیس یا در طی توسعه لوکال.

با استفاده از README این ابزار می‌توانید با آن بیشتر آشنا شوید. این کتابخانه تحت لایسنس آپاچی 2.0 عرضه شده است.

Dagger Browser

Dagger Browser (+) یک ابزار دیگر است که امکان ناوبری آسان در گراف داگر پروژه را فراهم می‌سازد.

20 ابزار توسعه اندروید

داده‌های گراف از پلاگین SPI داگر تأمین می‌شوند و مرورگر با استفاده از اسکریپت و با تایپ اسکریپت ساخته شده است.

همچنین یک اپلیکیشن نمونه وجود دارد که طرز کار این اپلیکیشن را نمایش می‌دهد. همه این موارد تحت لایسنس BSD-3-Clause عرضه شده‌اند.

Wormhole

Wormhole (+) یک ابزار بازنویسی بایت‌کد سفر در زمان است که API-های آینده را به android.jar اضافه می‌کند که می‌توانند بر مبنای همه سطوح API از سوی D8 و R8 تطبیق داده شوند.

Wormhole ما را مطمئن می‌سازد که می‌توانیم سازگاری رو به عقب با جدیدترین API-ها داشته باشیم. برای نمونه در اندروید R متدهای جدیدی از جاوا 9 مانند List.of وجود دارند، اما به لطف D8 و R8 این موارد منحصر به API 30 نیست، بلکه به طرز آنی تا API 1 نیز می‌توانند از آن استفاده کنند. یک مجموعه از تطبیق‌ها در D8 و R8 برای API-ها وجود دارند که هنوز در android.jar عرضه نشده‌اند. به جای آن که مجبور باشیم منتظر بمانیم تا بتوانیم از آن‌ها استفاده کنیم، این پروژه به ما امکان می‌دهد که بی‌درنگ از آن‌ها بهره بگیریم.

MNML

MNML (+) که به صورت مینیمال تلفظ می‌شود یک اسکرین‌رکوردر رایگان ساده برای اندروید است.

20 ابزار توسعه اندروید

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

سخن پایانی

در این مقاله با 20 کتابخانه مفید اندروید که کمتر شناخته شده هستند آشنا شدیم. امیدواریم از مطالعه این فهرست کاربردی بهره لازم را برده باشید و ابزارهایی که در این مطلب معرفی شدند، بتوانند شما را در اجرای بهتر پروژه‌هایتان کمک کنند.

اگر این مطلب برای شما مفید بوده است، آموزش‌ها و مطالب زیر نیز به شما پیشنهاد می‌شوند:

بر اساس رای 2 نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.

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

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *