بعید است از برنامهنویسی اندروید سخن کنیم و کتاب بیگ نرد را فراموش کنیم. کتابی که در فروشگاه آمازون به عنوان یکی از پرفروشترین کتابهای سال برنامهنویسی اندروید شناخته شده است. شهرت این کتاب بیشتر به خاطر کمپهای آموزشی یک هفتهای برای توسعهدهندگان و ارائۀ تجربیات آموزشی در آن است. در واقع مفاهیم آموزشی این کتاب حول اشکالات رایج توسعهدهندگان اندروید است که بارها در کمپها با آن مواجه شدهاند. نویسنده با تأکید برنقاط ضعف توسعهدهندگان، سرفصلها و مطالب کتاب را تنظیم کرده است و تا جای ممکن مفاهیم را به زبان ساده آموزش داده ضمن اینکه در بیان توضیحات بیشتر به جنبههای عملی تکیه کرده است.
خواندن این کتاب نیازمند دانش قبلی برنامهنویسی اندروید نبوده ولی با این حال آشنایی اولیه با زبان جاوا برای درک مثالهای آن ضروری است. شرکت بیگ نرد رانچ راهنمای دیگری هم برای آموزش جاوا عرضه کرده که در صورت نیاز میتوانید از آن استفاده کنید.
نکتۀ مثبت کتاب این است که در محیط اندروید استودیو مثالی را به صورت فصل به فصل بهبود میدهد. یعنی ابتدا با مفاهیم فصل یک برنامه را درست میکند و سپس با آموختههای جدید در فصلهای دیگر برنامه را بهبود میدهد. ویژگی مثبت دیگر، بیان فلسفۀ انتخابهاست. مثلاً چرا اینجا از فلان روش استفاده شده و چرا این روش بهتر است. این موضوع را از همان فصل اول احساس میکنید.
افرادی که تاکنون موفق نشدهاند برنامهای را از صفر بسازند، حتماً این کتاب را بخوانند. در کتاب حاضر هم با محیط اندروید استودیو آشنا میشوید، هم با انواع Layoutها، هم ساخت ویجت سفارشی، هم واسط گرافیکی برنامه و هم اشکالیزدایی یا دیباگ برنامه و کلی مفاهیم دیگر.
در طول کتاب تصاویر و کدهای مناسبی برای فهم بهتر مطلب ارائه شده است. تمرکز کتاب بیگ نرد بیشتر کاربران مبتدی و متوسط است. بنابراین با حداقل دانش زبان جاوا قادر به درک مفاهیم ارائه شده در آن هستید. شیوۀ آموزشی و سبک بیان سری کتابهای بیگ نرد طوری است که میتوانیم چشمبسته آن را در سایر حوزهها مثلاً آموزش سوئیفت بیگ نرد هم پیشنهاد کنیم. مهم نیست چه کتاب دیگری مطالعه میکنید. مهم این است که کتاب برنامهنویسی اندروید بیگ نرد را حتماً مطالعه کنید.
کتابهای سری Head First برخلاف تم کارتونی، مفاهیم برنامهنویسی را به شکل تصویری و جذاب به مخاطب عرضه میکند. رویکرد آموزشی کتابهای Head First تکیه بر نیمکرۀ سمت راست یعنی بخش تصویری مغز است. لحن نوشتار عامیانه و خودمانی است، بنابراین اگر زبان انگلیسیتان قوی نیست به راحتی میتوانید مفاهیم کتاب را درک کنید. در این سری کتابها اعتقاد بر این است که نباید با مطالب خشک و بدون تصویر مفاهیم را به خواننده منتقل کرد. این کار باعث خستگی و بیزاری مخاطب خواهد شد حتی اگر دقیقترین و کاملترین آموزش را ارائه کنیم.
در سراسر کتاب از تصاویر، فلوچارتها، نمودارها و تصاویر کارتونی برای درک مفاهیم برنامهنویسی اندروید استفاده شده است. دقیقاً به همین دلیل کتاب بیش از ۹۰۰ صفحه دارد. شاید ترسناک به نظر برسد ولی اگر این تصاویر را حذف کنیم چیز زیادی از آن باقی نمیماند. پس زیاد جای نگرانی نیست؛ دقیقاً مثل یک کتاب استاندارد در زمان کوتاهی به پایان میرسد.
در کتاب حاضر نیز باید اطلاعات اولیه از زبان جاوا داشته باشید تا بتوانید مثالها را درک کنید اما لازم نیست یک متخصص زبان جاوا باشید. یکی از ویژگیهای خوب این کتاب مثالهای فراوان آن است و مهمتر اینکه تمرینات و پازلهای جذابی دارد که در انتهای هر فصل قرار گرفته است. به خواندن مثالها اکتفا نکنید. حتی اگر ساده هم هستند در محیط اندروید استودیو تمرین کنید و پیشنهاد میکنیم حتماً به تمرینات آخر فصل پاسخ دهید. تمرینات به گونهای هستند که ذهن شما را درگیر میکنند و نکات آموزشی زیادی در دلشان دارند.
یکی دیگر از نکات مثبت کتاب، آوردن پرسش و پاسخهایی است که ممکن است به ذهن شما هم خطور کرده باشد. این سوالات در قالب دو شخصیت خیالی یا در بخش مجزایی تحت عنوان بخش پرسش و پاسخ قرار گرفته است. با خواندن آن درک عمیقتری از مفاهیم برنامهنویسی اندروید به دست میآورید.
کتاب حاضر برای افرادی مناسب است که چیزهای بصری را بهتر میفهمند و با آموزش تصویری راحتتر هستند. شاید اگر ویدیوهای آموزشی زیاد نگاه میکنید و این اولین بار است که وارد مطالعۀ کتاب میشوید کتابی بهتر از Head First پیدا نکنید.
بیش از ۴۰۰۰ هزار صفحه، صدها مثال، تصاویر و نمودارهای مختلف برای بروزنگهداشتن اطلاعات شما فراهم شده است. فصلهای کلیدی کتاب، پیکربندی محیط توسعه، واسط کاربری، مدیریت دادهها و مباحث ابتدایی را پوشش میدهد و در ادامه مباحث پیشرفتهتر آمده است. خریداران این کتاب میتوانند در ساعات اداری سوالات خود را به صورت هفتگی از نویسندۀ بپرسند.
واقیعتش این کتاب اگرچه از پایه شروع کرده و مطالب را خوب آموزش داده ولی به خاطر گستردگی زیاد مناسب مبتدیها نیست. این کتاب بیشتر به درد برنامهنویسهای سطح متوسط میخورد که به فصل خاصی مراجعه کنند و جدیدترین اطلاعات را کسب کنند. ولی اگر قرار باشید کل کتاب یا اصطلاحاً cover to cover مطالعه کنید سنگین و خستهکننده خواهد بود.
کتاب نیلی اسمیث همانطور که از نامش پیداست ملزومات توسعۀ اندروید و هرآنچه در شروع کار نیاز دارید را در ۷۰۰ صفحه به شما آموزش میدهد. از محیط اندروید استودیو گرفته تا معماری و طراحی برنامه، چاپ و مدیریت پایگاه داده تا جنبههای مالتیمدیای اپلیکیشن به طور کامل تحت پوشش قرار گرفته است. مبنای آموزش، اندروید ۸ و اندروید استودیو ۳ است که در هر ویرایش به جدیدترین نسخه آپدیت میشود.
مثالهای زیادی در کتاب وجود دارد که برای فهم آنها حتماً باید تجربه قبلی با زبان جاوا داشته باشید و با محیط اندروید استودیو و روش پیکربندی دیوایس مجازی کم و بیش آشنا باشید. در این کتاب همچنین انتشار برنامه در گوگلپلی که در سایر کتابها کمتر به آن پرداخته شده به صورت مفصلتر آموزش داده شده است. در نهایت کتاب حاضر برای همۀ افراد با هر سلیقهای که هستند
همانطور که میدانید کتابهای آشپزی دستور پختهای متنوعی را به صورت کوتاه و مفید گردآوری کردهاند و معمولاً لازم نیست یک کتاب آشپزی را از اول تا آخر بخوانید. هر غذایی لازم داشته باشید، دستور پخت همان را مطالعه میکنید. همین وضعیت برای کتابهای برنامهنویسی که در عنوانش Cookbook وجود دارد نیز هست مثلاً همین Android Cookbook.
در این کتاب بجای تمرکز روی آموزش برنامهنویسی اندروید به صورت قدم به قدم، روی پاسخ به سوالات و مشکلات رایج کاربران تمرکز شده است. بیش از ۲۳۰ دستور پخت جمع و جور برای چیزهای مختلفی مثل رابط کاربری، مالتیمدیا، سرویس مکان بعلاوۀ موارد مرتبط با سختافزار مثلاً دوربین و سنسورها وجود دارد. این راهنما برای افرادی نوشته شده که از قبل با برنامهنویسی اندروید آشنا بوده و اکنون میخواهند در بخش خاصی حرفهایتر شوند. یا سریعاً با مبحث جدیدی آشنا شوند. مثلاً در کدهای خود نیازمند شناسایی مکان کاربر و نمایش آن روی نقشه هستید ولی تاالان با این قابلیت کار نکردهاید، به فهرست این کتاب مراجعه میکنید و به قسمتی که مربوط به کار با gps و موقعیت جغرافیایی است نگاه میکنید. مثال مربوطه را بررسی و با نحوۀ کار با آن قابلیت آشنا میشوید.
حدود ۴۰ توسعهدهنده در نوشتن این کتاب سهیم بودهاند. بنابراین محتوای Android Cookbook طیف گستردهای از دیدگاهها و تجربیات متخصصین را در دل خود جای داده است. هر دستورالعملی با یک مثال ساده و کدهای آن آمده است تا براحتی بتوانید در پروژههای خود استفاده کنید. کتاب ۷۰۰ صفحه است ولی چون قرار نیست از اول تا آخرش را بخوانید جای نگرانی ندارد. بد نیست برای افزایش تجربه و بررسی مسائل از جنبههای مختلف هر روز بخشی از وقت خود را صرف دستورالعملهای این کتاب کنید.
رویکرد این کتاب آموزش پروژهمحور است طوری که حداقل یک پروژۀ کامل در هر فصل انجام شود. در عنوان کتاب هم ۱۴ پروژۀ مختلف ذکر شده است. نویسندۀ این کتاب از مربیان حرفهای اندروید بوده و محتوای آموزشی کتاب متأثرازمحتوای دورههای برگزار شده است. در هر فصل حول موضوع مشخصی صحبت شده است؛ از مباحث ابتدایی پوش نوتیفیکیشن گرفته تا بهترین روشهای پیادهسازی آن در برنامه.
از آنجایی که رویکرد آموزشی این کتاب پروژه محور است، نویسنده به راحتی توانسته موضوعات پیچیدهای مثل lazy loading یا کار با APIهای صوتی اندروید را به صورت عملی توضیح دهد. هر جایی توضیحات اضافه و کاملتری لازم بوده نویسنده شما را به لینک مناسبی ارجاع میدهد. پیشفرض مطالعۀ کتاب آشنایی خوب با زبان جاوا و داشتن تجربۀ قبلی برنامهنویسی اندروید است. کتاب فوق راهنمایی گام به گام برای مبتدیها نیست و بیشتر مناسب افراد متوسط و حرفهای است.
این کتاب راهنمای سادهای است که اصول اولیۀ جاوا را با تکیه بر Android SDK به شما آموزش میدهد. کتاب بیش از ۷۰۰ صفحه دارد و در هر فصل مفاهیم آموزشی مختلفی جای گرفته است. نویسندۀ کتاب – جان هورتون – آموزشهای خود را با مثالهای دقیقی به شما منتقل میکند تا مفاهیم هر بخش را به صورت واضح و دقیق متوجه شوید. محتوای کتاب طوری تنظیم شده که وادار میشوید در مورد مفاهیم ارائه شده در آن فکر کنید. در طول کتاب با بیش از ۴۰ مینیپروژه، همۀ تکنیکهای لازم برای کدنویسی در اکوسیستم اندروید را فرخواهید گرفت.
در آخرین نسخۀ این کتاب، جدیدترین تغییرات Android SDK به مخاطبان عرضه شده است. در طول کتاب با ابزارها، متدولوژیها و جریانهای کاری مختلفی که در پس زمینه اپهای اندرویدی وجود دارند آشنا خواهید شد که شامل مباحثی همچون تست، دیباگینگ، کارها با کتابخانههای مختلف و نحوۀ انتشار برنامه در مارکت است. بخش واسط کاربری این کتاب نسبت به بقیۀ فصلها جالبتر به نظر میرسد چون تقریباً تمام موارد لازم برای آشنایی با کتابخانۀ متریال دیزاین گوگل در آن آموزش داده شده و قوانینی که باید در ساخت انیمیشنها، عناصر گرافیکی و … لحاظ کنید مطرح کرده است.
علاوه بر اینها با معماری برنامه و سازگاری اپلیکیشن با نسخههای قبلی اندروید نیز اطلاعات خوبی به دست میآورید. هر فصل با یک آزمون جامع به پایان میرسد تا اطمینان یابد که مباحث آموزشی آن فصل را به خوبی فرا گرفتهاید. شاید حل کردن این تمرینات خستهکننده به نظر برسد ولی سعی کنید با آرامش به تمام سوالات آن پاسخ دهید چون ممکن است مواردی را به صورت سرسری خوانده باشید و در این بخش قادر به یافتن پاسخ نباشید. این کتاب را مبتدیها میتوانند بخوانند ولی بیشترین بهره را افرادی خواهند برد که از قبل با زبان جاوا آشنایی داشته باشند.
همین اول بگوییم که این کتاب اصلاً مناسب افراد مبتدی نیست. بعد از فراگیری اصول ابتدایی برنامهنویسی اندروید و کمی غوطهور شدن در فضای کدنویسی میتوانید این کتاب را بخوانید. ۴۳۰ صفحه دارد و با مثالهای فراوانی به شما یاد میدهد چطور حرفهای کدنویسی کنید. مثالهای این کتاب انواع مختلفی از موضوعات از بازیها گرفته تا شبکههای اجتماعی را شامل میشود. با مفاهیمی مثل کشینگ محلی، کنترل همروندی و ویژگیهای جدیدی مثل پشتیبانی از چند لمسی و … در این کتاب آموزش داده شده است. شما همچنین با مقدمات طراحی UX از انتخاب رنگ گرفته تا کاربردپذیری آن را خواهید آموخت.
ذخیرۀ دادهها، اصول تست، تست یکپارچگی همگی در فصلهای دیگر کتاب آمدهاند. این کتاب مفاهیم سطح بالاتری از کتابهای قبلی ارائه میدهد و مناسب افرادی است که در سطح متوسط یا متوسط به بالا قرار دارند و دنبال افزایش مهارتهای خود به سطح حرفهای هستند. کتاب کمی زمخت و خستهکننده است ولی مفاهیم با دقت بالایی بیان شده است. در واقع میزان اشتباهات فنی آن بسیار اندک است. توصیه میکنیم اگر چند سالی مشغول برنامهنویسی اندروید بودهاید، با مباحث ارائه شده در این کتاب، دانش خود را به سطح بالاتری ارتقاء دهید.
این کتاب را به جرأت میتوان یکی از خوشساختارترین کتابهای برنامهنویسی اندروید دانست. راهنمای بسیار تمییز و مرتبی است که توضیحاتش به زبان فنی و دقیق به مخاطب ارائه میشود. این کتاب برای فهماندن چارچوب اصلی Android SDK از کدهای بسیار خوبی استفاده کرده است. پیشفرض کتاب این است که از قبل با یک زبان برنامهنویسی ترجیحاً جاوا آشنا هستید. بنابراین اگر دانش برنامهنویسی ندارید کتاب خوبی برای شما نیست.
با این حال اگر با زبانهای دیگر هم کدنویسی کردهاید درک مفاهیم کتاب برای شما چندان دشوار نخواهد بود. ساختارهای برنامهنویسی مثل حلقه، دستورات شرطی، کلاس و اینترفیس و … در همۀ زبانها وجود دارند. بنابراین با هر زبانی کار کرده باشید با این ساختارها آشنا هستید. فقط سینتکس زبان جدید برای شما ناآشنا است که آن هم با یک جستجوی ساده در اینترنت یا حتی مطالعۀ گذرای مستندات متوجه میشوید.
ساختار کتاب به گونهای است که به راحتی میتوانید در پروژههای آتی خود، به عنوان یک رفرنس از آن استفاده نمایید. البته سبک خواندن کتاب کمی فرق میکند. به خاطر ماهیت تکنیکی مفاهیم ارائه شده حتماً باید پشت سیستم بنشینید و مثالها را در محیطاندروید استودیو اجرا کنید تا به عملکرد آن پی ببرید. یک اصل کلی در مطالعۀ کتابهای برنامهنویسی وجود دارد. آن هم این است که باید پشت سیستم باشید تا هر وقت لازم شد کدها را اجرا کنید. لازم شد با ابزار مورد نظر کار کنید یا حتی برای کسب اطلاعات بیشتر در اینترنت جستجو کنید. هیچ یک از این کارها را نمیتوانید خارج از کامپیوتر انجام داده یا صرفاً با قوۀ خیالتان تجسم کنید. به قول خارجیها get your hands dirty یعنی باید دستهای خود را کثیف کنید.
حتی اگر یک خط کد هم در عمرتان ننوشتهاید میتوانید با این کتاب شروع به کدنویسی کنید و بازی بسازید! این کتاب به طور مفصل هر چیزی برای ساخت بازی در اندروید لازم دارید را آموزش داده است. رویکرد آموزشی کتاب این است که به جای برنامههای خشک، برنامهنویسی اندروید را در قالب ساخت بازیهای موبایلی آموزش دهد. در هر فصل موضوعات مختلفی به طور قدم به قدم شرح داده شده است.
در ابتدا کمی دربارۀ جاوا و جنبههای شیگرایی آن توضیح داده است. سپس در فصلهای بعدی مفاهیم جاوا وارد پروژههای اندرویدی میشود. از این جا به بعد با Android SDK آشنا خواهید شد. در فصلهای بعدی با ساخت بازیهای دو بعدی، کنترل روند اجرای برنامه و چگونگی انتشار بازی درگوگلپلی آشنا میشوید. همه چیز در این کتاب برای مبتدیها و افرادی که هیچ دانش قبلی از برنامهنویسی ندارند نوشته شده است. بنابراین با خیال راحت میتوانید شروع به خواندن آن کنید.
در این کتاب مفاهیم بازیسازی در بستر اندروید با مثالها و سناریوهای مختلفی آموزش داده شده است. شما یاد میگیرید چطور کدهای خود را سازماندهی کنید و چگونه کاراکترهای بازی را انیمیت نمایید. فهم مفاهیم کتاب به مدد مثالها و آموزشهای قدم به قدم بسیار آسان است. برای صرفهجویی در زمان چندان روی اصول و مبانی برنامهنویسی وقت صرف نشده است. بنابراین باید از قبل با زبان جاوا و اندروید آشنایی مناسب داشته باشید. در واقع این کتاب بیشتر مناسب افرادی است که تجربۀ ساخت برنامههای اندرویدی را داشتهاند و اکنون میخواهند وارد دنیای بازیسازی شوند.
این کتاب زبان جاوا را از دریچۀ بازیهای اندرویدی به شما آموزش میدهد. لازمۀ ساخت اپلیکیشنهای اندروید، آشنایی با زبان جاوا است. کتابهایی که با تمرکز بر اکوسیستم اندروید زبان جاوا را آموزش داده باشند بسیار اندک هستند. کتاب جان هورتن نیز جزء این کتابهای کمیاب است. جان هورتن زبان جاوا را در قالب ساخت بازیهای اندرویدی به شما آموزش میدهد.
کتاب ۴۱۰ صفحه است و آموزش در محیط اندروید استودیو است. مطالب به خوبی دستهبندی شدهاند و دربارۀ مباحث مختلفی مثل گرافیک GUI، صدا، تکنیکهای شیگرایی و حتی ساخت APIهای اختصاصی در آن آمده است. پیشفرض کتاب آشنایی اندک با زبان جاوا است ولی اجبار زیادی به آن نیست. بنابراین هم برنامهنویسهای مبتدی، هم آنهایی که برنامهنویس زبان دیگری هستند و میخواهند با زبان جاوا آشنا شوند و هم افرادی که تازه میخواهند وارد دنیای برنامهنویسی شوند میتوانند از محتویات این کتاب استفاده کنند.
این کتاب زبان جاوا را از دریچۀ بازیهای اندرویدی به شما آموزش میدهد. لازمۀ ساخت اپلیکیشنهای اندروید، آشنایی با زبان جاوا است. کتابهایی که با تمرکز بر اکوسیستم اندروید زبان جاوا را آموزش داده باشند بسیار اندک هستند. کتاب جان هورتن نیز جزء این کتابهای کمیاب است. جان هورتن زبان جاوا را در قالب ساخت بازیهای اندرویدی به شما آموزش میدهد.
کتاب ۴۱۰ صفحه است و آموزش در محیط اندروید استودیو است. مطالب به خوبی دستهبندی شدهاند و دربارۀ مباحث مختلفی مثل گرافیک GUI، صدا، تکنیکهای شیگرایی و حتی ساخت APIهای اختصاصی در آن آمده است. پیشفرض کتاب آشنایی اندک با زبان جاوا است ولی اجبار زیادی به آن نیست. بنابراین هم برنامهنویسهای مبتدی، هم آنهایی که برنامهنویس زبان دیگری هستند و میخواهند با زبان جاوا آشنا شوند و هم افرادی که تازه میخواهند وارد دنیای برنامهنویسی شوند میتوانند از محتویات این کتاب استفاده کنند.
«ساخت رابط کاربری پویا با استفاده از فرگمنتهای اندرویدی» عنوان کتابی است که بسیار تکنیکی بوده و فقط به درد برنامهنویسهای با تجربۀ اندروید میخورد. بحث فرگمنتها در اندروید بسیار وسیع و گاهاً پیچیده و بغرنج است. برنامهنویسهای کمی وجود دارند که بتوانند از تمام ظرفیت فرگمنتها در برنامۀ خود استفاده کنند. خیلیها به خاطر پیچیدگی زیادِ آن عطایش را به لقایش بخشیدهاند. ولی هیچ برنامهنویس کاربلدی که به فکر پیشرفت مهارتهای خود باشد در مقابل سختیها کم نمیآورد.
نویسنده کتاب، جیم ویلسون که یک برنامهنویس حرفهای است در طول این کتاب ماهیت فرگمنت، کاربردهای متعدد آن و چگونگی استفاده صحیح و اصولی از آن را به شما آموزش میدهد. این کتاب صرفاً حول محور فرگمنتها در اندروید صحبت میکند و تلاش شده تمام موضوعات مرتبط با آن در کتاب جای گیرد. مفاهیم کتاب به هیچ عنوان برای مبتدیها مناسب نیست چون نویسنده وقت را برای آموزش جاوا و مقدمات اندروید تلف نکرده و مستقیماً سراغ فرگمنتها رفته و مثالهای ارائه شده نیز درهمین رابطه هستند.
با اعلام حمایت رسمی گوگل از زبان کاتلین و با تجه به اینکه کاتلین با زبان جاوا سازگار بوده و ویژگیهای جدیدی ارائه میدهد،بسیاری از برنامهنویسان جاوا به کاتلین سوئیچ کردهاند و کتابها و آموزشهای فراوانی هم دربارۀ آن عرضه شده است که راهنمای کاتلین بیگ نرد رانچ یکی از همین کتابهاست.
این کتاب با همان رویکرد قبلی، مفاهیم زبان کاتلین را آموزش میدهد. مسلماً کتاب برای برنامهنویسان جاوا نوشته شده تا با مطالعۀ آن به کاتلین مهاجرت کند. در طول کتاب تمام موضوعات کلیدی زبان و حتی تنظیم، پیکربندی و استفاده از محیط توسعۀ IDEA هم آموزش داده شده است. روند آموزش به این صورت است که ابتدا مفاهیم کلی بیان میشود و به مرور با عمق بیشتری باز میشوند. همچنین در این کتاب پارادایمهای برنامهنویسی شیگرا و فانکشنال در کاتلین مورد بحث قرار گرفته است.
نظر شما در مورد کتاب های بالا چیه، کدوم یکی از این کتاب هارو مطالعه کردید. و به سایر دوستان هم پیشنهاد میدید؟