بررسی کتاب Android Programming: The Big Nerd Ranch Guide

سید ایوب کوکبی یکشنبه ۲۵ آذر ۱۳۹۷
بررسی کتاب Android Programming: The Big Nerd Ranch Guide

کتاب اندروید بیگ نرد رانچ یکی از مشهورترین کتاب‌های آموزش برنامه‌نویسی اندروید است که تقریباً از سوی همه خواندن آن سفارش شده است. برای آشنایی بیشتر شما با این کتاب، بخش‌های ابتدایی آن، پیش‌نیازها، روش استفاده از کتاب و نهایتاً نظر تعدادی از خریداران کتاب را ارائه می‌دهیم تا با شناخت بیشتری این کتاب را تهیه کنید. ابتدا از سایت رسمی کتاب شروع کنیم:

توضیحات سایت

در سایت اصلی کتاب روی آموزش کاربردی و عملی تکنیک‌ها تأکید شده است. همچنین این نکته بیان شده که در آخرین نسخۀ کتاب، برنامه‌های ساخته شده با اندروید ۴٫۴ تا ۷٫۰ و حتی بالاتر سازگار خواهد بود. در صفحۀ اصلی سایت مفاهیم آموزشی این کتاب یه شرح ذیل بیان شده است:

  • مبانی اندروید: اکتیویتی‌ها، فرگمنت‌ها، layout و explicti intentها؛
  • نحوۀ استفاده از اندروید استودیو، روش دانلود تصاویر از اینترنت، پخش صدا و … ؛
  • بهترین روش‌های استفاده از DataBinding و معماری MVVM برای یونیت تست؛
  • ابزارهای موجود در support library مثل RecyclerView، ConstraintLayout، سرویس‌های گوگل پلی بعلاوۀ کتابخانه‌های استانداردی شبیه SoundPool، انیمیشن و assetها.

نویسندگان کتاب

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

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

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

مقدمۀ کتاب

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

  • بتواند برنامه‌های اندرویدی بسازد؛
  • و ماهیت کدهایی که می‌نویسد را درک کند.

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

کتاب برنامه نویسی اندروید بیگ نرد رانچ

پیش‌نیازها

برای استفاده از این کتاب لازم است با زبان جاوا آشنا باشید. چیزهایی مثل کلاس، اشیاء، اینترفیس، listener، پکیج، کلاس‌های داخلی، کلاس‌های داخلی ناشناس، کلاس‌های جنریک و … . بهتر است ابتدا با یک کتاب سبک، جاوا را در حد ابتدایی یاد بگیرید و سپس سراغ این کتاب بیایید. در صورتی که با شی‌گرایی آشنا بودید ولی با زبان جاوا کار نکرده باشید مشکلی نیست. چون ما هر جایی لازم بوده توضیحات مختصری دربارۀ جاوا داده‌ایم. البته داشتن یک رفرنس دمِ دستیِ جاوا که هر زمان نیاز بود به آن مراجعه کنید بد نیست.

بخوانید  توصیه‌هایی به توسعه‌دهندگان اندروید

روش استفادۀ از کتاب

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

برای تجربۀ شرایط کلاس نکات زیر را رعایت کنید:

  • با همکاران یا دوستان خود گروه‌های مطالعه تشکیل دهید و به صورت گروهی مطالعه کنید؛
  • زمان خود را برای فهم درست هر فصل مدیریت نمایید؛
  • در فروم بیگ نرد رانچ که حول محور کتاب بوده فعالیت کنید؛
  • کسی را پیدا کنید که در زمینۀ اندروید به شما کمک کند.

ساختار کتاب

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

  • GeoQuiz: در اولین برنامه با مفاهیم اولیۀ پروژه‌های اندرویدی مثل اکتیویتی، layout، intent و Explicitها آشنا خواهید شد؛
  • CriminalIntent: بزرگترین برنامۀ کتاب است که شما را با فرگمنت‌ها، master-detail interface، list-backed interface، منوها، دوربین، implicit intent و … آشنا می‌کند؛
  • HelloMoon: در این برنامه با فرگمنت‌ها، پخش رسانه، ریسورس‌ها و محلی‌سازی آشنا خواهید شد؛
  • NerdLauncher: ساخت این لانچر سفارشی به شما درک خوبی درمورد عملکرد intent و taskها می‌دهد؛
  • RemoteControl: در این برنامه با استایل‌ها، state list drawables و ابزارهایی برای ساخت رابط کاربری آشنا می‌شوید؛
  • PhotoGallery: این برنامه یک کلاینت برای دریافت تصاویر از فلیکر است که با استفاده از آن خواهید فهمید چگونه از سرویس‌ها استفاده کنید، و چندنخی و کار با وب‌سرویس‌ها را یاد می‌گیرید؛
  • DragAndDraw: یک برنامۀ ساده نقاشی است که رویدادهای مربوط به لمس صفحه و چگونگی ساخت ویوهای سفارشی را به شما آموزش می‌دهد؛
  • RunTracker: در این برنامه می‌توانید سفرهای خود را روی نقشه ثبت و نمایش دهید. بنابراین با سرویس‌های موقعیت مکانی (gps)، لودرها و نقشه آشنا خواهید شد.
بخوانید  برنامه‌نویسی پیشرفته اندروید با زبان کاتلین - بخش سوم (RxJava)

چالش‌ها

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

در انتهای هر فصل بخش دیگری هم هست تحت عنوان For the More Curious یعنی برای کنجکاوی بیشتر. این قسمت اطلاعات عمیق‌تر یا بیشتری دربارۀ بحث آن فصل ارائه می‌دهد. خواندن اطلاعات درج شده در این بخش ضروری نیست ولی مطالعه‌اش خالی از  لطف نیست. ممکن است نکات جالب و سرگرم‌کننده‌ای ببینید که نظر شما را جلب کند.

نظرات خوانندگان

در پایان بد نیست نظر تعدادی از خریداران کتاب که در آمازون آمده را نقل‌قول کنیم:

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

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

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

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

من معمولاً از کتاب متنفرم. ولی این یکی رو دوست داشتم. این کتاب قدم به قدم هر چیزی که لازمه بدونید رو آموزش داده، حتی اینکه چطور به تنظیمات developer mode برید تا بتونید برنامه رو روی گوشی اجرا کنید.

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

دیدگاه شما :

بدون دیدگاه

    هنوز دیدگاهی ارسال نشده است.

عضویت در خبرنامه

عضویت در خبرنامه برای عضویت در خبرنامه پیامکی، عدد 1 را به شماره 30005563 پیامک کنید.