جاوا چیست؟
جاوا یک زبان برنامه نویسی شیءگرا است. ابتدا بهتر است بگوییم شیءگرا بودن یعنی چه؟ در دنیای واقعی اشیاءهای مختلفی وجود دارند. این اشیاء یکسری ویژگی ها و خصوصیات نیز دارند. اگر بخواهیم یک زبان برنامه نویسی را به این مورد تشبیه کنیم درواقع همان شیء برابر است با اصلاحی به نام کلاس (class) و خصوصیات آن برابر است با شیء (object). به طور کلی class را به object نسبت میدهند. اگر بخواهیم به طور کلی بگوییم، شیءگرایی برابر است با اینکه یکسری ویژگی ها را تعریف کنیم و به چیزهای مختلف نسبت بدیم.
تاریخچه جاوا
حال که با مفهوم شیءگرایی آشنا شدیم، بهتر است بدانیم زبان جاوا از چه زمانی وجود داشته است. جاوا در سال ۱۹۹۱ پیش از آن که جاوا نامگذاری شود با نام های مختلفی از جمله سبز و بلوط فعالیت میکرد. اما در طی چند سال بعد یعنی ۱۹۹۵ این زبان با نام رسمی جاوا شروع به کار کرد.
همانطور که میدانید طرح لوگوی جاوا به شکل یک فنجان قهوه است و در واقع جاوا یا Jawa نام یک قهوه است که کارکنان شرکت هنگام کار آن را به مقدار زیاد مینوشیدند و جیمز گاسلینگ، مؤسس جاوا به دلیل علاقه زیاد کارکنان به این قهوه نام این زبان را جاوا نامید.
بعد از یک سال زبان جاوا مدتی به شرکت مایکروسافت واگذار شد و دقیقاً آن زمان بود که مایکروسافت با الهام از جاوا، زبان برنامه نویسی سی شارپ #C را پدید آورد. اما نه دقیقاً همانند جاوا. زمانی که زبان جاوا ایجاد شد مهم ترین هدف از ایجاد آن، قابلیت انتقال از یک سیستم به سیستم دیگر بود. به طوری که دیگر به معماری سیستم وابسته نباشد و به راحتی با یک بار نوشتن در همه جا اجرا شود.
جاوا پس از زبان های C و ++C توسعه یافته است. به همین دلیل شما میتوانید چندین ویژگی قدرتمند که در این دو زبان وجود دارد در جاوا بیابید. جاوا در عین حال که یک زبان قدرتمند است یک زبان سطح بالا نیز میباشد به این معنا که راحتتر قابل استفاده و یادگیری است. برای آگاهی و اطلاعات بیشتر می توانید مقاله کامل از صفر تا صد زبان برنامه نویسی جاوا مجله فرادرس را مطالعه کنید.
شروع به کار با جاوا
در ادامه پست آموزش جاوا برای اندروید با ما همراه باشید. جاوا یک زبان برنامه نویسی برای توسعه اپلیکیشن های اندرویدی است. برای اینکه بتوانید با جاوا کار کنید ابتدا لازم است چند مورد را انجام دهید. البته که این موارد برای هر کسی که بخواهد برنامه نویسی را یاد بگیرد لازم است! یکی از این موارد Android SDK است. شاید این سوال برایتان پی آمده باشد که SDK چیست؟ این کلمه مخفف Software development kit به معنی کیت توسعه نرم افزار است.
SDK برای زبان های برنامه نویسی خاص مانند جاوا طراحی میشود که به توسعه یک برنامه کمک بسزایی میکند. SDK شامل یکسری کتابخانهها نظیر کتابخانههای ریاضی، کتابخانههای ساختار دادهها، کتابخانههای گرافیکی، کتابخانههای شبکه و دیگر کتابخانههای مورد نیاز است که یک برنامه نویس برای توسعه برنامه های اندرویدی خود نیاز دارد. شما باید برای کار کردن با جاوا این کیت توسعه نرم افزار را دانلود و در سیستمتان نصب کنید.
مورد دوم و مهم دیگر که وجود دارد JDK است. این کلمه مخفف Java Development Kit به معنی کیت توسعه جاوا است، که همانند SDK باید روی سیستم نصب شود.
مورد بعدی انتخاب محیط توسعه یا همان IDE است. به زبان ساده تر همان نرم افزاری که قرار است در آن با زبان جاوا کار کنید. همچنین این محیط توسعه برای یادگیری زبان جاوا نیز لازم است. IDE هایAndroid Studio، Eclipse ، IDEA، NetBeans جزو محبوب ترین و پراستفاده ترین محیط های برنامه نویسی به زبان جاوا می باشد.
یادگیری آسان جاوا
افراد زیادی میگویند که یادگیری جاوا سخت است! ما در پست آموزش جاوا برای اندروید میخواهیم به صورت شفاف این مسئله را باز کنیم و به شما بگوییم که اصلاً اینطور نیست! هر زبان برنامه نویسی مشکلات و سختی های خود را دارد و طبیعتاً یادگیری یک زبان برنامه نویسی مانند آب خوردن نخواهد بود! پروسهی یادگیری یک زبان برنامهنویسی ممکن است چندین سال طول بکشد.
اما به طور کلی یادگیری زبان جاوا آسان است. چرا؟ چون زبان جاوا یکی از زبان های قابل خواندن برای انسان است. منظور ما این است کسی که هیچ دانشی درمورد برنامه نویسی نداشته باشد میتواند با نگاه کردن به بعضی از کدها حداقل کمی درک کنید که قضیه از چه قرار است. برای مثال به کد زیر توجه کنید:
char character = 'a'; if(character=='a') { doSomething(); } else { doSomethingElse(); }
کسی که درک اندکی از زبان انگلیسی داشته باشد؛ با خواندن این تکه کد میتواند بفهمد که یک متغیر به نام character تعریف شده که مقدار آن یک کاراکتر برابر با حرف a است. حال در ادامه گفته شده که اگر متغیر برابر با a باشد تابع ()doSomething فراخوانی شود و در غیر این صورت تابع ()doSomethingElse اجرا شود.
به همین سادگی! به طور قطع با چند سرچ در بستر اینترنت به راحتی میتوانید فیلم های آموزشی برنامه نویسی به زبان جاوا را پیدا کنید؛ و یا میتوانید از منابع آموزشی دیگر نظیر کتاب، سی های آموزشی و یا حتی آموزش های متنی موجود در اینترنت استفاده کنید. جاوا یکی از زبان های برنامه نویسی است که در سطح اینترنت آموزش های فوق العاده ای برای آن وجود دارد. پس بابت آموزش خیالتان راحت باشد.
همچنین با استفاده از زبان جاوا علاوه بر نوشتن برنامه برای اندروید میتوانید برای دسکتاپ و حتی برنامه های کاربردی وب برنامه بنویسید.
کسانی که قبلا با زبان های C یا ++C کار کرده باشند به راحتی میتوانند نحوه کار کردن با جاوا را یاد بگیرند. زیرا جاوا از بسیاری ویژگی های قدرتمند این دو زبان استفاده میکند. اگر هم برای اولین بار است که میخواهید یک زبان برنامه نویسی را یاد بگیرید جای نگرانی نیست.
برای شروع برنامه نویسی جاوا از کجا شروع کنیم؟
برای شروع برنامه نویسی جاوا قبل از هرچیزی ابتدا باید اصول و مفاهیم برنامه نویسی را یاد بگیرید که در ادامه به توضیح هرکدام از آنها خواهیم پرداخت. داشتن علاقه و استمرار و صبور بودن از ویژگی ها ی بارز یک برنامه نویس است پس با صبر و حوصله و تمرکز کار خود را برای پیشرفت در برنامه نویسی آغاز کنید.
اصول برنامه نویسی شیء گرا
ابتدا باید اصول برنامه نویسی شیء گرا را یاد بگیرید. اشیاء، کلاس ها، وراثت و مواردی دیگر.
اشیاء: در دنیای واقعی اشیاء ها را میتوانیم ببینیم، لمس کنیم اما آیا در برنامه نویسی هم این مورد صدق میکند؟ در برنامه نویسی اشیاء میتوانند حضور واقعی نداشته باشند چیزهایی مانند تاریخ یا تایمر. اما اینها نیز شیء محسوب میشوند، با وجود اینکه دیده نمیشوند و یا قابل لمس نیستند.
بیایید شیءگرایی را با یک مثال توضیح دهیم. وقتی میگوییم هر شیء مشخصات خود را دارد منظور این است که واقعاً متفاوت از هم هستند. برای مثال هیچوقت یک لیوان سفید با یک لیوان شیشه ای یکی نیست! هرچند هر دو یک کار مشترک را انجام میدهند.
یک شیء مانند لیوان تنها خصوصیتی که دارد رنگ آن نیست! یک لیوان میتواند خصوصیاتی مانند اندازه، جنس و یا حتی پر بودن یا خالی بودن داشته باشد. حال تعدادی از این خصوصیت ها میتوانند ثابت و یا متغیر باشند. ممکن است ویژگی رنگ ثابت باشد اما لیوان پر یا خالی در آینده میتواند تغییر کند.
هویت (Identity)، ویژگی ها (Attributes) و رفتارها (Behaviors) در زبان برنامه نویسی آن سه چیزی هستند که اشیاء را در برنامه نویسی شیء گرا تعریف میکنند.
کلاسها: خب سوالی که وجود دارد این است که آیا اشیاء به خودی خود ایجاد میشوند؟ خیر اینطور نیست، ما اشیاء را میسازیم و بدیهی است که این کار به کمک کلاس ها انجام میشود. یک کلاس شامل چند مورد است ازجمله توضیحات، تعریف و قالب یک شیء. اما در نظر بگیرید که کلاس خودش یک شیء نیست!
برای ایجاد اشیاء مختلف کلاس های مختلف آماده وجود دارند. این مسئله را به ذهن بسپارید که برای ایجاد یک شیء ابتدا باید کلاس داشته باشیم. یک کلاس سه آرگومان دارد: نام (Name)، ویژگیها (Attributes) و رفتار (Behavior). ممکن است در جاهایی دیگر این سه مورد را با نام های Type و Properties و Operation نیز ببینید.
وقتی شما این رفتارها را به صورت کد بنویسید در واقع یک متد (Method) ایجاد کرده اید. متد یک قطعه کد است که به کمک آن میتوانید کارهایی را انجام دهید یا مقادیری را برگردانید.
وراثت: وقتی شما یک کلاس ایجاد میکنید باید به این توجه کنید که ساخت آن کلاس ممکن است نیاز نباشد! این به معنی است که تعدادی از کلاس ها میتوانند به ارث برده شوند و بر پایه آن کلاس قبلی یک کلاس جدید ایجاد کنیم. در این صورت ویژگیها و متدهای آن کلاس را به ارث میبرد و درواقع از دوباره نویسی کدها جلوگیری میشود.
اصول یادگیری جاوا
نه تنها جاوا، این اصول برای یادگیری هر زبان برنامه نویسی ای نیاز است. یادگیری مواردی مانند انواع داده، انواع متغیر، حلقه ها و مواردی دیگر برای هر برنامه نویسی واجب است. توضیح دادن هرکدام از این مفاهیم در چند خط مقدور نیست و به تنهایی یک پست جدید لازم است تا بتوان دربارهشان توضیح داد.
یادگیری درمورد توسعه اندروید
پس از آن که اصول جاوا را یاد گرفتید حال وقت آن است که به یادگیری اندروید و توسعه آن بپردازید. درمورد توسعه اندروید ابتدا شما نیاز دارید تا زبان نشانهگذاری XML را برای طراحی برنامه خود یاد بگیرید. این زبان بسیار ساده است و به راحتی میتوانید آن را فرا بگیرید. یادگیری این زبان صرفا به منظور اضافه کردن آیتم های جدید و دستکاری محل آنها در صفحه است.
یادگیری مفاهیم اندروید
ما در اندروید با یکسری مفاهیم نظیر Activity و Package name و Gradle و مواردی دیگر سروکار داریم. پس بنابراین باید این مفاهیم را یاد بگیریم و بدانیم چه هستند و به چه کاری میآیند.:
Activity: هر صفحه ای که در اپلیکیشن های اندرویدی میبینید در واقع یک اکتیویتی میباشد. این صفحات مختلف پس از ساخته شدن به روش های مختلفی مانند استفاده از دکمه یا لینک به یکدیگر پیوند داده میشوند. مثلا وقتی یک برنامه اندرویدی را باز میکنید و بخش تنظیمات یا درباره ما دارد، در واقع چندین صفحه مختلف هستند که از یک صفحه به صفحه دیگر منتقل میشوند و ما محتویات صفحات جدید را میبینیم.
هر اکتیویتی از دو بخش تشکیل میشود: Class و XML. بخش XML یا همان Layout که دارای کدهای XML بوده، ظاهر برنامه را تشکیل میدهد. بخش Class دارای کدهای جاوا و دستوراتی است که با آیتم های موجود در Layout ارتباط برقرار کرده و درواقع موتور یک برنامه میباشد.
Package name: نام پکیج یا همان نام بسته در برنامه نویسی باید یکتا باشد! در تمامی دنیا هر اپلیکیشن یک نام بسته مجزا دارد، زیرا برای اندروید نام اپلیکشن مهم نیست زیرا ممکن است چندین اپلیکیشن نام یکسانی داشته باشند. اما برای پیدا کردن هرکدام از این اپلیکیشن ها نیازمند یک نام یکتا یا آیدی هستیم که در اپلیکیشن های اندرویدی این نام یکتا Package name نامیده میشود.
Gradle: گرادل از مهم ترین مفاهیم موجود در بین برنامه نویسان اندرویدی میباشد. گرادل به معنای گرفتن خروجی از برنامه ای است که طراحی کرده اید. در اندروید استودیو یک افزونه با نام گرادل وجود دارد که برنامه نویسان با استفاده از آن میتوانند پس از نوشتن برنامه خود خروجی بگیرند و در شبیه ساز مشاهده کنند.
API: این کلمه مخفف Application Programming Interface به معنای وب سرویس میباشد. هر ورژنی از اندروید یک API دارد و زمانی که شما یک اپلیکیشن با یک API طراحی میکنید بدین معناست که آن اپلیکیشن تنها در یک ورژن خاصی از اندروید یا بالاتر اجرا خواهد شد. شایان ذکر است که API در اندروید به SDK وابسته است. مثلاً ممکن است شما SDK مربوطه به یک API را دانلود نکرده باشید، درآن صورت نمیتوانید برای آن API برنامه بنویسید.
در نظر بگیرید که هیچ وقت نباید یادگیری را متوقف کنید. حتی اگر همه مفاهیم را یاد بگیرید و در کدنویسی خبره باشید باز هم نیازمند یادگیری هستید. بر روی هر کدی که مینویسید وقت بگذارید و در مورد آن مطالعه کنید. مفاهیم مربوطه را پیدا کنید و درمورد آن ها هم تحقیق کنید. این روش یادگیری باعث خواهد شد دایره مفاهیم بیشتری یاد بگیرید.
برای یادگیری جاوا از آموزش های موجود در سطح اینترنت و همچنین از سایت های آموزشی معتبر استفاده کنید. انتخاب منبع آموزشی مناسب مهم ترین چیزی است که میتواند کمک ساز باشد. با شناختی که از مجموعه فرادرس و مدرسان این مجموعه داریم پیشنهاد می کنیم حتماً از آموزش های این مجموعه استفاده کنید.
سخن آخر در رابطه با آموزش جاوا برای اندروید
به پایان پست آموزش جاوا برای اندروید رسیدیم. توصیه ما به شما این است که خودتان را دست کم نگیرید. هر برنامه نویسی از صفر شروع کرده است و قطعاً اینگونه نخواهد بود که پروسه یادگیری جاوا کاری غیر ممکن باشد! در برنامه نویسی شما نیازمند تعیین هدف و زمانبندی خواهید بود، چرا که ممکن است یادگیری برنامه نویسی طولانی شود و ممکن است زمان که با ارزش ترین چیز است هدر برود! پس اولین قدم در مبحث آموزش جاوا برای اندروید برنامهریزی جهت یادگیری و دومین قدم انتخاب آموزش های مناسب و سوم قدم تمرین و تکرار و تداوم است.
برای شروع کار می توانید با آموزش اندروید از صفر – راهنمای شروع برنامه نویسی اندروید بصورت گام به گام کار خودتان را آغاز کنید. منتظر نظرات و پیشنهادات شما عزیزان هستیم. موفق و پیروز باشید.