مدتی بود که میخواستم یک برنامه اندروید بنویسم که خیلی از جوانب و نیازمندیهای توسعه اندروید رو پوشش بده و به صورت متنباز منتشرش کنم. پاییز امسال فرصتی شد که این کار رو انجام بدم. هدف اصلی برنامه آموزش برنامهنویسی اندروید بود اما اینکه برنامه بتونه یه کار رو هم انجام بده و یک ایده واقعی رو اجرا کنه خیلی بهتر بود.
چندتا توییت باعث شد که این ایده به ذهنم برسه. دوستانی بودن که در عوض مثلا یاد گرفتن سنتور و سهتار میخواستن به شخص یاددهنده برنامهنویسی یاد بدن. گفتم برنامهای بنویسم که هر کس چیزی که بلده و چیزی که میخواد یاد بگیره رو ثبت کنه و موقع جستجو برنامه بگرده براش اون شخص رو پیدا کنه. ارتباط بعدی دو کاربر در جیمیلشون و از طریق ایمیل خواهد بود و کار برنامه تبادل مهارت تا اینجاست.
کمی لاراول بلد بودم و نشستم یک بکاند برای برنامه نوشتم. میخواستم سورس بکاند رو هم منتشر کنم برای همین به مهدی علیپور گفتم که اگه دوست داره برای Review کدها در اون مشارکت کنه که قبول کرد. چون من تخصصی در لاراول نداشتم حتما نیاز به یک بازبینی از شخصی کار بلد چون مهدی وجود داشت. سورس اون در گیتهاب در دسترس است:
برای Web UI هم دوستم بارسین علیمحمدی قبول کرد که یک Landing page برای اپلیکیشن آماده کنه. تمامی کارهای مربوط به آمادهسازی صفحه برای زبان فارسی، ایجاد لوگو، اسکرینشات و ... رو انجام داد. سایت ارائه دهنده این قالب استفاده از این قالب برای اهداف غیرتجاری و بدون حذف لایسنس رو مجاز میدونه. بارسین هم به همین صورت سورس اون رو در گیتهاب منتشر کرد:
برای برنامه نیاز به سرور داشتم که مازیار دانیالی اون رو برام فراهم کرد. برای اسم برنامه از نیما اکبرپور سوال کردم که اسم خاصی به ذهنش میرسه یا نه که از روی دو کلمه «تبادل مهارت» اسم مهادل رو پیشنهاد داد. با همون دامنه رو ثبت کردم.
و اما اپ اندروید.
مواردی که در برنامهنویسی اپ بهش پرداخته شده شامل ورود با حسابکاربری گوگل، دو زبانه بودن اپ، داشتن تم تاریک و روشن، استفاده از دیتابیس داخلی، ارتباط با سرور و... است. همچنین در طراحی برنامه سعی شده از المانهای Material Design 2 که اخیرا توسط گوگل ارائه شده استفاده بشه:
در روزهای آتی و هر چند روز یه بار با جزئیات بیشتر در مورد این موارد در ویرگول خواهم نوشت. اینکه برای هر بخش چه کاری انجام شده و چه چالشهایی وجود داره. هدف اصلی برنامه هم همین آموزشهای اندروید در قالب پُست وبلاگ در ویرگول و شاید مدیوم است.
در هر پروژه منتشر شده اشکال وجود داشت یا نیاز است که تغییری ایجاد بشه میتونید در پروژهها issue ثبت کنید. اینکه بتونید در توسعه اونها کمک کنید که چه بهتر. از مشارکت شما به گرمی استقبال میشه. برنامه حتما کاستیهایی داره در بهبودش کمک کنید.
از بارسین، مهدی و دکتر دانیالی هم خیلی ممنونم :-)