What-2-Years-of-Android-Development-Have-Taught-Me-the-Hard-Way

آنچه بعد از دو سال برنامه‌نویسی اندروید آموختم-قسمت سوم

در قسمت اول و دوم این مطلب ۱۰ تا از توصیه‌های Aritra Roy را با هم مرور کردیم. در این مطلب بخش دیگری از توصیه‌های وی را با هم می‌خوانیم.

۱۱- با تنظیم بیلد گریدل پنج ساعت در هفته در وقت صرفه‌جویی کن

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

ساعت‌های بی شماری را به باد می‌آورم که بیکار می‌نشسم تا بیلد گریدل تمام شود. در زمان‌های شلوغی کار به راحتی یک ساعت از وقت من صرف بیلدهای گریدل می‌شود و این یعنی ۵ ساعت در هفته و ۲۰ ساعت در ماه.

اما راه‌هایی هست تا گریدل را سریع‌تر کنی.

برای این کار اینجا و اینجا را ببین. با استفاده از این رهنمودها و بهینه‌سازی مناسب، زمان بیلد من از چهار دقیقه به حدود ۳۰ ثانیه رسید.

ادامه مطلب

What-2-Years-of-Android-Development-Have-Taught-Me-the-Hard-Way

آنچه بعد از دو سال برنامه‌نویسی اندروید آموختم-قسمت دوم

در قسمت قبل پنج توصیه Aritra Roy را خواندید. در این مطلب ادامه مطلب را می‌خوانیم:

۶- از معماری مناسب استفاده کن

همیشه از خودت به خاطر انتخاب یک معماری مناسب در اول کار، سپاسگزار خواهی بود. می‌توانی از MVP یا همان Model-View-Presenter استفاده کنی که برنامه را به لایه‌های متفاوتی تجزیه می‌کند تا مدیریت آن ساده‌تر باشد. این باعث می‌شود تا انعطاف کد بالاتر برود و زمان نگهداری آن کاهش یابد.

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

جایزه: حتما این و این را ببینید. اینها کمک بزرگی به پیاده‌سازی MVP در پروژه به شما می‌کنند.

ادامه مطلب

انتخاب کلید تعریف شده

چطوری با کلید اختصاصی، برنامه اندروید را در اندروید استودیو دیباگ کنیم؟

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

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

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

این فرآیند دردآور کلی طول می‌کشید و تازه چندین بار هم باید تکرار می‌شد تا جواب مد نظر رو به دست بیارم.

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

وضعیت رو دردناک‌تر هم بکنم! زمانی که اکلیپس خطای رم و مموری میداد و کرش می‌کرد و ……

ادامه مطلب

What-2-Years-of-Android-Development-Have-Taught-Me-the-Hard-Way

آنچه بعد از دو سال برنامه‌نویسی اندروید آموختم-قسمت اول

این مطلب ترجمه آزادی است از مطلب  Aritra Roy که در وبسایت وی منتشر شده است.

هنوز آن روزها در سال ۲۰۱۴ را به خاطر می‌آورم. روزهایی که تصمیم گرفتم برنامه‌نویسی اندروید را شروع کنم که یکی از بهترین تصمیم‌های زندگی‌ام بود. از آن موقع حدود دو سال و نیم گذشته و من بخت این را داشتم که خیلی چیزها را یاد بگیرم. وقتی شروع به یادگیری کردم مربی یا کسی را نداشتم که به من یاد بدهد چطور کارها را به شیوه درست انجام بدهم. خیلی اشتباه مرتکب شدم که بعدها با صرف وقت زیاد آن‌ها را تصحیح کردم.

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

در این مطلب می‌خواهم الماس‌هایی را که در این دوره جمع‌آوردم با شما به اشتراک بگذارم. این کار می‌تواند به دیگران کمک کند تا سریعتر بتوانند شروع کنند و اشتباهاتی که من مرتکب شدم را تکرار نکنند.

ادامه مطلب

0to100-part-002-cover

صفر تا صد: ۲- ویژگی‌های برنامه برای نسخه جدید

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

ادامه مطلب

programming_fun

زندگی روزانه برنامه‌نویس‌ها، گیف‌هایی که فقط برنامه‌نویس‌ها درک می‌کنند!

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

ادامه مطلب

0ta100-part-001-cover

صفر تا صد: ۱- نوشتن ویژگی‌ها و طراحی برنامه

مقدمه

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

ادامه مطلب

android-hive-iranian-mirror-for-android-sdk-update

معرفی میرور ایرانی سایت توسعه دهندگان اندروید گوگل

با توجه به محدودیت‌های زیادی که از طرف گوگل برای توسعه‌دهندگان ایرانی ایجاد شده است، توسعه‌دهندگان ایرانی اندروید نمی‌توانند اندروید SDK خود را مستقیماً از developer.android.com بروزرسانی کنند.

برای حل این مشکل یکی از توسعه‌دهندگان خوب کشورمان زحمت کشیدند و یک سایت میرور برای دانلود اندروید SDK ساخته‌اند که راه‌گشای بسیار خوبی است. در زمان نوشتن این مطلب توسعه‌دهندگان ایرانی حدود ۵۲۰ گیگابایت فایل از این سرور میرور دانلود کرده‌اند که رقم قابل اعتنایی است.

اگر می‌خواهید  آخرین نسخه اندروید استودیو  را دانلود کنید  یا اندروید SDK خود را بروز کنید حتماً سری به سایت «هایو» بزنید!

farayad-cover

صفر تا صد: بازنویسی کدباز اپ فرایاد

اپ «فرایاد» را حدود ۳ سال قبل برای کارهای شخصی خودم نوشتم و بعد تصمیم گرفتم آن را در کافه بازار هم منتشر کنم. ابتدا کافه بازار به دلیل (احمقانه) این که برنامه مشابهی در کافه بازار وجود دارد از انتشار آن سر باز زد و من هم از انتشار آن منصرف شدم. بعد از چند وقت تصمیم گرفتم یک بازنگری کلی در برنامه انجام بدهم. این بار با این که چندین و چند برنامه یادآور یا Reminder در کافه‌بازار وجود داشت، کافه بازار برنامه را پذیرفت! برنامه توانست نظر مخاطبان اندک خودش را تأمین کند و امتیازش در کافه بازار بالاتر از ۴ شد و حدود ۴۰۰ نظر اغلب مثبت از کاربران دریافت کرد.

حالا تصمیم دارم این برنامه را بازنویسی کنم و با اعمال نظر کاربران، بخش‌هایی را به برنامه اضافه کنم. اما چرا این موضوع را در اسمارت‌لب و با شما خوانندگان اسمارت‌لب مطرح کردم؟ چون می‌خواهم کل این فرایند بازنویسی را با هم قدم به قدم طی کنیم! از صفر تا صد این بازنویسی را با هم خواهیم بود و در تمام مراحل کار کد برنامه را در گیت‌هاب (یا جایی مشابه) منتشر خواهم کرد!

تغییرات برنامه بنیادین خواهد بود! چند هفته‌ای درگیر کار خواهیم شد و امیدوارم در انتهای کار هم برنامه خوبی نوشته بشود و هم همگی با هم چیزهای جدیدی یاد بگیریم!

اما اپ فرایاد چه تغییراتی خواهد کرد؟ مهم‌ترین تغییر برنامه این خواهد بود که برنامه به صورت client/server خواهد شد و اطلاعات کاربران را سایت اختصاصی‌اش ذخیره خواهد کرد. رابط کاربری برنامه هم دو زبانه (یا شاید چند زبانه) خواهد شد. در انتها هم برنامه را علاوه بر کافه‌بازار در گوگل پلی هم منتشر خواهم کرد!

اگر نمی‌دانید فرایاد چیست، فرایاد را از کافه بازار دانلود کنید و توضیحات آن را بخوانید.

سغر هیجان انگیزی خواهد بود! خودم که برای شروع آن لحظه‌شماری می‌کنم!

xamarin-joins-microsoft-visual-studio-2015

نوشتن برنامه‌های اندروید با زامارین در ویژوال استودیو

حدود دو سال پیش مدیر عامل مایکروسافت عوض شد و با این تعویض، سیاست‌های مایکروسافت هم تغییر کرد! مدیر عامل جدید، ساتیا نادلا (Satya Nadella) افکار نویی دارد و تلاش می‌کند تا به جای تأکید بر ویندوز و ویندوز فون، تمرکزش را بگذارد بر مایکروسافت! بر اساس این سیاست جدید، مایکروسافت دست دوستی به چیزهایی داد که قبل از این آن‌ها را دشمن می‌دانست! با کدباز (open source) آشتی کرد و کل دات‌نت فریم‌ورک را کدباز کرد. با لینوکس آشتی کرد و قرارداد همکاری با ردهت (RedHat) و اوبونتو (Ubuntu) امضا کرد و چندی پیش هم زامارین (Xamarin) را خریداری کرد و آن را به عنوان بخشی از ویژوال استودیو ۲۰۱۵ به صورت رایگان عرضه کرد.

ادامه مطلب