۲۰ برنامه اوپن سورس اندرویدی برای تقویت مهارت برنامه‌نویسی

بهترین راه برای یادگیری ، خواندن است ، که برای برنامه نویسی هم همینطور است. اگر شما میخواهید برنامه‌نویس بهتری شوید ، باید کدهای بیشتری بخوانید. به همین سادگی!

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

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

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

سطح دشواری هر برنامه هم در کنار آن ذکر کردیم تا بر اساس سطحی که شما دوست دارید آن را برای بررسی قرار دهید.

LeafPic

(گیت هاب | پلی استور | سطح دشواری: ابتدایی)

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

ساده ، قابل درک و مناسب برای هر توسعه دهنده مبتدی از ویژگی های این برنامه است. یکی از بهترین چیزهایی که از این برنامه پیدا کردیم ، قابلیت اجرا کردن تم داینامیک در برنامه است. این یکی از قابلیت هایی است که تعداد زیادی از توسعه دهندگان اندرویدی در اجرای آن دست و پنجه نرم میکنند.

Simple Calendar

(گیت هاب | پلی استور | سطح دشواری: ابتدایی)

screenshots_simpleCalendar-min-nt5iii60mzm8e1fd4gkwacwckmdcla0phpmww3v280

یک برنامه تقویم ساده و راحت قابل استفاده که فقط با زبان Kotlin نوشته شده است. اگر شما به دنبال یادگیری زبان برنامه نویسی Kotlin میگردید ، این شاید یکی از بهترین راه‌ها برای شروع باشد.

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

Amaze File Manager

(گیت هاب | پلی استور | سطح دشواری: متوسط)

screenshots_amazefilemanger-nt5imlqofz8thetait1s6xhq7ym6fn9qzhjz9ib7cw

یکی دیگر از رایج‌ترین برنامه‌های اندرویدی که برروی هر دیوایس اندرویدی میتوانید پیدا کنید ، فایل منیجر است.

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

Easy Sound Recorder

(گیت هاب | پلی استور | سطح دشواری: ابتدایی)

screenshot_easySoundRecorder-nt5j5cn025h1mxs7ukhvri2qqcj9w38bmp1gg1lhqi

یک برنامه ضبط صدا ساده و زیبا برای اندروید. اگر میخواهید درباره ضبط صدا و دستکاری در اندروید یاد بگیرید ، این پروژه یکی از بهترین راه‌‌ها برای یادگیری است.

این پروژه خیلی کوچک است (به طوری که ۱ اکتیویتی بیشتر ندارد) و به طور خیلی ساده قابل فهم است. افراد مبتدی میتوانند درباره پایه‌ و اساس متریال دیزاین هم یاد بگیرند.

ML Manager: APK Extractor

(گیت هاب | پلی استور | سطح دشواری: ابتدایی)

screenshot_mlmanager-nt5kql10vv97yog4une4qr92v84amuwnfjyxspnke8

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

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

PhotoAffix

(گیت هاب | پلی استور | سطح دشواری: ابتدایی)

screenshots_photaffix-min-nt5kx6u6wyark0upa06qrl8p5pk5qa4qo90s7puyo0

یک برنامه ساده برای چسباندن عکس‌ها به یکدیگر به صورت عمودی یا افقی طراحی شده است. به نظر ساده میرسد؟ همینطور است.

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

همینطور شما ساخت Custom view ها را یاد میگیرید که میتواند پایه‌ی شما را تقویت کند که در آینده view های پیچیده تر بسازید

MovieGuide

(گیت هاب | سطح دشواری: متوسط)

screenshot_movieguide-nt5l1pg9rahdckahwgh78y7fxdanpx2aylvs8l5urk

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

این برنامه چیزهای مختلف خوبی برای نمایش گذاشته مثل MVP ، Uncle Bob’s Clean Architecture یا RxJava و injection با Dagger2.

این برنامه ممکن است ساده باشد اما چیده شدن این اجزا کنار هم ترکیب خارق العاده‌ای ایجاد کرده که ارزش دیدن دارد.

AnExplorer

(گیت هاب | پلی استور | سطح دشواری: متوسط)

screenshot_anexplorer-nt5m3vobb2qkuguczyhribfcep5abelvjjnnv4ka2o

یکی دیگر از فایل منیجرهای ساده و سبک و minimal که هم برای تبلت و هم برای گوشی طراحی شده است.

چیزهای زیادی از این فایل منیجر میتوانید یاد بگیرید ، قابلیت root management ، loaders ، کاستوم viewها و … . این برنامه به خوبی ساخته شده است و نباید زمان زیادی را برای درک آنچه در کد اتفاق میوفتد از شما بگیرد.

Minimal ToDo

(گیت هاب | پلی استور | سطح دشواری: ساده)

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

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

Phonograph

(گیت هاب | پلی استور | سطح دشواری: پیشرفته)

Phonograph یکی از زیباترین موزیک پلیرهای طراحی شده با متریال دیزاین میباشد. اگر شما میخواهید یک موزیک پلیر با امکانات خوب برای خودتان بیلد کنید این پروژه گزینه بسیار عالی میباشد.

این پروژه ممکن است بزرگ و پیشرفته‌ای به نظر برسد. برای افراد مبتدی ممکن است ابتدا همه چیز پیچیده و سخت به نظر برسد اما برای افراد پیشرفته و حرفه‌ای پروژه‌ای جالب و جذاب است.

Another Monitor

(گیت هاب | پلی استور | سطح دشواری: پیشرفته)

اگر به دنبال زیر نظر گرفتن پروسس‌های اندروید هستید به طور مثال مقدار مصرفی رم، یا مقدار مصرفی CPU یا مواردی شبیه به این چیزها پس این پروژه گزینه خوبی برای شروع است.

این پروژه بسیار کوچک و ساده نوشته شده و به راحتی قابل درک است اما استاندارد کد نویسی آن به درستی رعایت نشده است.

Insta Material

(گیت هاب | سطح دشواری: ساده)

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

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

این پروژه بسیار ساده و قابل درک برای هر برنامه نویس اندروید میباشد که میخواهد توانایی خود را در طراحی برنامه بالا ببرد.

CoCoin

(گیت هاب | سطح دشواری: ساده)

CoCoin یک اپلیکیشن جامع مالی و حسابداری شخصی همراه با رابط کاربری زیبا و ساده است.

اگر میخواهید مدیریت دیتای کاربر ، کشیدن چارت ها و نمودارهای زیبا ، ساخت custom viewها را یاد بگیرید ، این پروژه اوپن سورس مخصوص شماست.

OmniNotes

(گیت هاب | پلی استور | سطح دشواری: پیشرفته)

اگر به دنبال ساخت یک اپلیکیشن Note که تمام امکانات را داشته باشد مانند Evernote ، این برنامه گزینه خوبی برای شماست.

این پروژه بزرگ ، ویژگی های بسیار زیادی از جمله sharing  ، سرچ کردن در بین noteها ، attach کردن عکس و فیلم و audio  ، کشیدن نقاشی برروی noteها ، اضافه کردن یادآوری (Reminder) و خیلی چیزهای دیگر میباشد.

Clip Stack

(گیت هاب | پلی استور | سطح دشواری: ابتدایی)

یک برنامه ساده و زیبا و کاربردی برای مدیریت clipboard در اندروید

این پروژه بسیار ساده و کوچک و قابل فهم است. اما ساختار اصلی پروژه و معماری آن و کد آن خارج از استاندارد است.

Super Clean Master

(گیت هاب | سطح دشواری: پیشرفته)

اگر شما از یک دیوایس اندرویدی تا به حال استفاده کرده باشید ، مطمئناً نیاز به تمیز کردن دیوایس خود از فایل های اضافه پیدا کرده‌اید و Clean master یکی از پرطرفدارترین گزینه‌ها نسبت به بقیه است.

این اپلیکیشن همانطور که از نامش پیداست ، سعی کرده که بیشتر امکانات Clean Master را در تمیزترین حالت پیاده کند. اگر چه این پروژه مقداری پیچیده است و نیاز است که زمانی را برای درک آن صرف کنید.

Travel Mate

(گیت هاب | سطح دشواری: متوسط)

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

دیزاین و کیفیت کد نوشته شده در این اپ استاندارد نیست اما با این حال چیزهای خوبی افراد مبتدی میتوانند از این پروژه یاد بگیرند ، افراد پیشرفته و حرفه‌ای هم همینطور.

KISS

(گیت هاب | پلی استور | سطح دشواری: پیشرفته)

یک لانچر ساده و سریع برای اندروید.

در این پروژه چیزهای بسیار خوب و ویژگیهای عالی میتوان یاد گرفت. اگر شما به دنبال ساخت یک لانچر برای اندروید هستید ، این پروژه مخصوص شماست. این پروژه بسیار کوچک و بسیار ساده برای شروع میباشد.

Turbo Editor

(گیت هاب | پلی استور | سطح دشواری: پیشرفته)

یک تکست ادیتور پیشرفته و قدرتمند برای اندروید میباشد.

حتی از این ادیتور میتوان برای کدزنی هم استفاده کرد ، همچنین دارای syntax highlight برای زبان‌های مختلف برنامه نویسی میباشد.

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

Wally

(گیت هاب | سطح دشواری: ساده)

یک برنامه ساده و سریع برای تصاویر پس زمینه اندروید.

ویژگیهای بسیار زیادی در این پروژه وجود دارد که شما میتوانید از آن یاد بگیرید ، مخصوصا برای افراد مبتدی.

معماری نوشته شده در این برنامه بسیار عالی هستش که باعث شده توسعه و نگهداری آن راحت باشد. هدف از این برنامه کاملا ساده است اما رویکردی که برای رسیدن به هدف به کار گرفته شده است واقعا قابل توجه است.

Pedometer

(گیت هاب | سطح دشواری: ساده)

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

این پروژه استارت خوبی است برای یادگیری قدم شماری ، اما کدنویسی آن به صورت استاندارد رعایت نشده و توصیه نمیشود که از آن پیروی کنید.

 

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

امیدواریم که این پروژه های اوپن سورس برای شما مفید بوده باشند. این مقاله در ابتدا برروی TechBeacon منتشر شده بود.

دیگر مقاله‌های مرتبط
چگونه به کمک qmake بدون ایجاد فایل qrc یک resource بسازیم؟

Qt Resource System چیست؟ فایل qrc چیست؟ از قابلیت‌های کیوت که بسیار پر استفاده‌ست، قابلیتی به نام Qt Resource System Read more

خبر خوب: نسخه بتای Qt Design Studio 1.2 منتشر شد + آموزش

Qt Design Studio ابزار طراحی و توسعه UI است که به طراحان و توسعه‌دهندگان در پروتوتایپ کردن و توسعه UI Read more

چگونه در اندروید TextView با قابلیت Justify شده بسازیم؟

یکی از معضلات برنامه نویسی در اندروید مرتب ساختن متن‌های بلند میباشد که به صورت معمول این قابلیت امکان پذیر Read more

نوت‌برداری در CherryTree جایگزین اپن سورس برای OneNote

CherryTree یک جایگزین اپن سورس برای OneNote به منظور یادداشت‌برداری و ردگیری چیزهایی‌ست که نیاز دارید بدانید. در این مقاله Read more