جاوا (Java) چیست و چه کاربردی دارد؟
در دنیای برنامه نویسی، حوزه های مختلفی همچون برنامه نویسی طراحی سایت، برنامه نویسی اپلیکیشن های اندروید و … وجود دارد. بیشتر برنامه نویسانی که حوزه طراحی برنامه های اندروید را برای فعالیت و حرفه خود انتخاب می کنند، زبان Java را انتخاب و از آن استفاده می کنند. در صورتی که جزء برنامه نویسان برنامه های اندروید هستید و تا به حال از جاوا (Java) استفاده نکرده اید، با ما همراه باشید و زبان جاوا را همراه با ما بشناسید.
آنچه در این مقاله می آموزید:
Toggleجاوا چیست؟
Java یکی از زبان های برنامه نویسی سطح بالا می باشد که به صورت رایگان در اختیار برنامه نویسان قرار می گیرد. جاوا به عنوان کارآمد ترین و محبوب ترین زبان در بین زبان های برنامه نویسی سطح بالا به حساب می اید. زبان برنامه نویسی Java بیشتر در برنامه نویسی اپلیکشین های اندروید مورد استفاده قرار می گیرد و کاربرد دارد. Java در سال ۱۹۹۵ به وسیله شرکت Sun Microsystems معرفی شد و در نهایت به وسیله اواکل خریداری شد.
تاریخچه انتشار Java
- نسخه اولیه جاوا، ۱.۰ و ۱.۱ در سال ۱۹۹۶ برای سیستم عامل های ویندوز، سولاریس، مک و ویندوز منتشر شد
- نسخه ۱.۲ جاوا، در سال ۱۹۹۸ منتشر شد
- نسخه ۱.۳ به kerstel معروف است و در سال ۲۰۰۰ منتشر شد
- نسخه ۱.۴ با نام مرلین، در سال ۲۰۰۲ منتشر شد
- نسخه ۱.۵ از پلت فرم استاندارد جاوا، که با نام Tiger یا ببر شناخته شده است، در سال ۲۰۰۴ منتشر شد
- نسخه ۱.۶ از پلت فرم استاندارد جاوا با نام Mustang در سال ۲۰۰۶ منتشر شد
- نسخه ۱.۷ از پلت فرم استاندارد این زبان در سال ۲۰۱۱ و با نام دلفین منتشر شد
- نسخه ۱.۸ از پلت فرم استاندارد جاوا در سال ۲۰۱۵ منتشر شده است
- نسخه ۱.۹، جدیدترین نسخه این زبان، در سال ۲۰۱۸ منتشر شده است
کاربرد زبان جاوا در برنامه نویسی اندروید
اصلی ترین زبان برنامه نویسی برنامه های اندروید، زبان Java می باشد و آن را به عنوان زبان مادری یا Native سیستم عامل اندروید می شناسند. برای برنامه اندروید با این زبان باید زبان Java، Android Studio و SDK را بر روی سیستم خود نصب نمایید تا بتوانید این کار را انجام دهید.
نمونه کد Hello World در زبان Java
}public class helloworld } (public static void main(String[] args ; (“!!!System.out.println(“Hello world { { |
پلتفرم های جاوا
پلتفرم های Java به 2 دسته رابط های برنامه نویسی کاربردی (API) برای جاوا و ماشین مجازی جاوا (Java Virtual Machine یا به اختصار JVM) تقسیم می شود که در زیر به طور کامل توضیح داده می شود.
رابط های برنامه نویسی کاربردی
در جاوا کتابخانه هایی با کد های کامپایل شده وجود دارد که می توانید آن ها را در تمام برنامه های خود استفاده نمایید. به طور کلی با این پلتفرم دیگر نیازی به کد نویسی موارد مورد نیاز خود ندارید و تنها از توابع آماده شده در رابط برنامه نویسی کاربردی جاوا استفاده می کنید.
ماشین مجازی جاوا (JVM) چیست؟
JVM ماشین مجازی جاوا و شعار معروف این زبان می باشد که به صورت یک با بنویس و همه جا اجرا کن بیان می شود. این ماشین مجازی جاوا 2 هدف اصلی همچون فراهم کردن محیطی برای اجرای برنامه در سیستم های مختلف و وظیفه مدیریت، بهینه سازی منابع حافظه سیستم را پیگیری و اجرا می کند. زمانی که یک برنامه را به وسیله زبان Java طراحی می کنید، آن برنامه را کامپایل می کنید و کد های آن را به بایت کد تبدیل می نمایید. فراموش نکنید که ماشین مجازی Java تنها این بایت کد ها می فهمد و آن ها را به یک سیستم عامل اختصاص می دهد.
انواع پلتفرم های Java
پلتفرم Java SE
نسخه java se مخفف عبارت Standard Edition می باشد که نسخه اصلی java به حساب می آید. این نسخه از کتابخانه های اصلی زبان جاوا تشکیل شده است که می توانید به کمک آن دسکتاپ و سرور ها برنامه نویسی کنید. شما می توانید با نام J2SE نیز از آن استفاده نمایید.
پلتفرم Java EE
این نسخه از عبارت Enterprise Edition گرفته شده است که به عنوان نسخه تجاری جاوا شناخته شده است. نام دیگر این نسخه J2EE می باشد که برای ساخت برنامه های تحت وب و اپلیکیشن های تجاری و سازمانی کاربرد دارد.
پلتفرم Java ME
نسخه java me که مخفف عبارت Micro Edition به حساب می آید، نسخه کوچک و سبک جاوا می باشد که در برنامه نویسی ریز پردازنده ها و تلفن های قدیمی تر مورد استفاده قرار می گیرد. این نسخه همانند دیگر نسخه های java دارای نام دیگری نیز می باشد که نام مستعار آن J2ME نام دارد.
پلتفرم Java FX
JavaFX یکی از پلتفرم های پیشرفته جاوا در زمینه واسط گرافیکی کاربر می باشد که می توانید به صورت بصری و بدون کد زدن، واسط های گرافیکی مورد نظر خود را ایجاد نمایید. برنامه نویسان مؤلفه های واسط کاربری را از منو مؤلفه ها انتخاب می کنند و در فضای کاری نمایش می دهند. در نهایت برنامه نویس ویژگی های این مؤلفه ها را تغییر می دهد و فایل های css را برای تنظیم شمایل و استایل را بر روی این مؤلفه ها اعمال می کند.
اهداف اولیه Java
هدف ایجاد زبان برنامه نویسی Java، جایگزین شدن این زبان به جای زبان ++C می باشد که طراحان جاوا برای این زبان اهداف اولیه ای را مشخص کرده اند که می توانید آن ها را مشاهده نمایید.
- ساده و مشهور بودن
- قابلیت شئ گرایی قدرتمند
- کارایی و عملکرد بالا و بهینه
- قابلیت انتقال و پرتابل بودن
- ضریب اطمینان بالا و خطای کم
- زبانی پویا با قابلیت نخ کشی (Treading)
چه برنامه هایی را می توان با زبان Java نوشت؟
شاید برای شما هم این سوال پیش بیاد که چه برنامه هایی را می توانید به وسیله زبان جاوا طراحی نمایید. Java به دلیل چند سکویی بودن، این امکان را به شما می دهد تا بتوانید برنامه های مختلفی را برای سیستم عامل های مختلف طراحی نمایید. این سیستم عامل ها شامل ویندوز، لینوکس، او اس ایکس، اندروید، وب و… می باشند که با نوشتن یک برنامه می توانید در برنامه های دیگر از آن استفاده کنید. نرم افزارهای دولتی در ایران به وسیله جاوا طراحی می شوند و در کشورهای توسعه یافته ای مانند استرالیا، کانادا، انگلستان و آمریکا به زبان Java بسیار بها می دهند.
محیط های توسعه Java
زمانی که می خواهید برنامه ای را بنویسید، باید یک محیط توسعه یکپارچه (IDE) داشته باشید تا بتوانید فرایند کد نویسی، دیباگ و کامپایل کدها را ساده نمایید. زبان Java دارای IDE های مختلفی می باشد که می توانیم محبوب ترین آن ها را به صورت زیر معرفی کنیم.
- IntelliJ IDEA
- NetBeans
- Eclipse
فراموش نکنید که برای برنامه نویسی برنامه علاوه بر IDE مناسب جاوا به JRE و JDK نیز احتیاج دارید. برای دسترسی به آخرین نسخه این ابزار ها، به سایت شرکت اوراکل مراجعه نمایید و آن ها را دریافت کنید.
اپلت جاوا (Java Applet) چیست؟
اپلت جاوا برنامه های کاربردی کوچکی هستند که در سال ۱۹۹۳ ساخته و استفاده شدند. این برنامه های کوچک برای ایجاد برنامه های بزرگ اجرا می شوند. اپلت جاوا معمولا در سمت کاربر و توسط مرورگر و به کمک جاوا نصب می شوند و در نهایت بر روی سیستم کاربر اجرا می گردند. اپلت ها معمولا تک منظوره هستند که وظیفه یا فعالیت خاصی را دنبال می کنند. می توانیم معروف ترین اپلت های جاوا را فلش پلیر و مدیاپلیر داخلی ویندوز که در مرورگر اینترنت اکسپلورر استفاده می کنند معرفی کنیم.
ویژگی های Java
جاوا دارای ویژگی های مختلفی می باشد که باعث جذابیت و محبوبیت آن شده اند. می توانید این ویژگی ها را به صورت زیر مشاهده کنید.
- برنامه های نوشته شده توسط جاوا قابلیت اتصال به یک شبکه را فراهم می کند
- جاوا امنیت خوبی دارد
- جاوا قدرتمند و شی گراست
- اپلت انعطاف پذیری ارائه می دهد
- جاوا قابل اطمینان است
- ساده
- قابل حمل
- بستر مستقل
- معماری خنثی
- پویا
- تفسیر شده
- عملکرد بالا
- چندگانه
- توزیع شده
- و…..
زبان جاوا چه کاربردی دارد؟
کاربرد های Java به صورت دسته های زیر تقسیم بندی می شوند.
- برنامه نویسی بازی های کامپیوتری و ویدیویی
- توسعه اپلیکیشن های موبایل و نرم افزارهای دسکتاپی
- برنامه نویسی تحت وب
- برنامه نویسی برای ربات ها
- برنامه های کاربردی رومیزی از قبیل acrobat reader, media player, antivirus و…
- برنامه های کاربردی تحت وب نظیر irctc.co.in و…
- برنامه های کاربردی سازمانی نظیر برنامه های کاربردی بانکها
- موبایل
- سیستم های تعبیه شده
- کارت های هوشمند
- رباتیک
- و….
چه کسانی با Java کار می کنند؟
شاید برای شما هم سوال باشد که چه کاربرانی از زبان برنامه نویسی Java استفاده می کنند؟ در جواب این سوال می توانیم کاربران را طبق استفاده از جاوا به دسته های زیر تقسیم کنیم.
- کاربرانی که در زمینه توسعه اپلیکیشن موبایل و یا دسکتاپی فعالیت می کنند
- برنامه نویسانی که در حوزه برنامه نویسی بازی سازی فعالیت دارند
- افرادی که در خوزه ساخت ربات ها فعالیت دارند و می خواهن برای آن ها برنامه نویسی کنند
- برنامه نویسانی که در زمینه برنامه نویسی تحت وب فعالیت دارند
جاوا امنیت سیستم شما را به خطر می اندازد؟
یکی از سوال هایی که ممکن است برای کاربران جاوا پیش بیاید، به خطر افتادن امنیت سیستم به دلیل استفاده از java می باشد. در جواب این سوال باید بگوییم که بله امکان به خطر افتادن امنیت سیستم شما در زمان استفاده از جاوا وجود دارد. به دلیل وجود حفره های امنیتی در افزونه مرورگر جاوا، صدای خیلی از کاربران و کارشناسان امنیت را درآورده است. طبق تحقیقات کارشناسان شرکت کسپراسکای، اپلت های مرورگر جاوا مسئول نیمی از حملات هکرها در سال 90 می باشند. فراموش نکنید که حفره های امنیتی که در جاوا وجود دارند، اجازه نفوذ بدافزار ها و سرقت کلمات عبور یا اطلاعات شخصی را به کلاهبرداران اینترنتی می دهند. با غیر فعال کردن افزونه جاوا در مرورگر خود می توانید تا حدودی از این مشکل را مدیریت نمایید.
java داینامیک است یا استاتیک
جاوا جز زبان های استاتیک می باشد، اما زبان های برنامه نویسی روبی (Ruby)، پایتون (Python) و جاوا اسکریپت به صورت داینامیک به حساب می آیند. در ادامه به طور کامل به این 2 موضوع می پردازیم.
نوع داینامیک
زمانی که در زبان های داینامیک، متغیری را تعریف نمایید، نیاز نیست که نوع داده ذخیره شده در آن را مشخص نمایید. زمانی که نوع داده را مشخص نکنید باعث می شود که هر متغیری از نوع عدد، جمله و … را در آن ذخیره کنید. در زبان های دینامیکی امکان تشخیص خطاهای به وجود آمده وجود ندارد و در زمان اجرای برنامه و با از کار افتادن برنامه برنامه نویس متوجه خطا می شود.
نوع استاتیک
زبان های استاتیک بر عکس زبان های داینامیک، در زمان تعریف متغیر باید نوع داده ذخیره شده در آن را مشخص کنید. مثلا اگر بخواهید که در متغیر خود داده ای را از نوع عدد ذخیره نمایید، باید آن را تعیین نمایید. یک زبان از نوع استاتیک شامل ساختار بیشتری است و به راحتی می تواند خطا هایی که برنامه نویس ها مرتکب می شوند را شناسایی کنند.
فریمورک های java
فریمورک BLADE
فریمورک blade یک فریمورک ساده اپلیکیشن، سبک و با عملکرد بالا زبان جاوا می باشد که به وسیله آن می توانید اپلیکیشن های وب را با آن طراحی نمایید. سازندگان این فریمورک java، به صورتی آن را طراحی کرده اند که بتواند بر روی سادگی و ظرافت تمرکز نماید. ویژگی های این فریمورک به صورت زیر می باشد.
- استفاده از الگوی طراحی نرم افزار MVC
- درک آسان
- نداشتن لایه های زیاد
- طراحی شده بر اساس جاوا 8
- داشتن یک وب سرور Netty و موتور templete
- حجم کمتر از 500 کیلو بایت
- اثرات جانبی کمی
فریمورک Dropwizard
فریمورک Dropwizard یکی از فریمورک های با عملکرد بالا جاوا به حساب می آید که رای توسعه سریع سرویس های وب RESTful کاربرد دارد. فریمورک Dropwizard تنها برای برای ایجاد میکرو سرویس های جاوا مناسب می باشد. این فریمورک دارای چند کتابخانه جاوا به صورت مستقل برای ارائه پلتفرم های سریع و بدون مزاحمت است. می توانید دیگر ویژگی های فریمورک Dropwizard را به صورت نام ببریم.
- ارائه شدن به وسیله سرور های jetty توکار، Google Guava، Logback، Hibernate Validator، Joda Time و کتابخانه های محبوب دیگر جاوا
- داشتن jersey
- ساختن وب سرویس های RESTful
- استفاده از Jackson برای پردازش JSON
- زمان کم برای استفاده
- تمرکز بر روی منطق تجاری اولیه اپلیکیشن
- یادگیری آسان
فریمورک Grails
فریمورک Grails یک فریمورک مربوط به طراحی وب اپلیکیشن می باشد که از زبان برنامه نویسی Groovy پشتیبانی می کند. این فریمورک یک یک زبان شیگرا برای زبان جاوا به حساب می آید و برای بهبود بهره وری توسعه دهندگان طراحی شده مورد استفاده قرار می گیرد. فراموش نکنید که دستور زبان آن با جاوا یکسان می باشد و به راحتی به بایت کد JVM (ماشین مجازی جاوا) دسترسی دارد و در آن کامپایل می شود. به دیگر ویژگی های آن توجه نمایید.
- پیروی از مفاهیم مدرن توسعه نرم افزار
- داشتن محیط مناسب برای توسعه دهندگان
- ارائه شده توسط مستندات، راهنمای گام به گام و کتابخانه گسترده افزونه
- ساختن افزونه های دلخواه خود
- بهرهمند شدن برنامه نویس از پشتیبانی IDE برای ایکلیپس (Eclipse)، سابلایم (Sublime)، تکستمیت (TextMate)، انتلیج (IntelliJ IDEA) و ..
سوالات مربوط به زبان java
چه زبان هایی از جاوا ساخته شده اند؟
زبان هایی همچون اسکالا (Scala) و گرووی (Groovy) که برای اجرا روی JVM ساخته شده اند، از جاوا ساخته شده اند. البته زبان هایی نیز وجود دارند که برای اجرا بر روی محیط java، به وسیله جاوا توسعه یافته اند که یکی از این زبان ها زبان C# نام دارد.
جاوا چه تفاوتی با جاوا اسکریپت دارد؟
بیشتر برنامه نویسان مبتدی تصور می کنند که 2 زبان برنامه نویسی جاوا و جاوااسکریپت با هم یکی هستند. لازم است بگوییم که این 2 زبان از نظر اسمی با هم تشابه دارند، اما در کارکرد هایشان هیچ شباهتی با هم ندارند.
تفاوت Java و Java Script
جاوا | جاوااسکریپت |
برنامه های آن قبل از اجرا باید کامپایل شود | استفاده در نوشتن برنامه های کوچک و ساده در صفحات وب |
قدرت زیاد در ایجاد ارتباط متقابل بین server و client | نیازی به کامپایل برای اجرا ندارند |
ارسال یک پرسشنامه یا فرم را به server | |
قدرت کم در ایجاد ارتباط متقابل بین server و client |
زبان جاوا در کجا استفاده می شود؟
زبان java در فعالیت های مختلفی مورد استفاده قرار می گیرد که در این قسمت به معرفی آن ها می پردازیم.
- اپلیکیشن های اندرویدی
- محصولات نرم افزاری
- برنامه های مالی
- سیستم های نقطه فروش
- اپلیکیشن های تجاری
- برنامه های کلان داده
مزایا و معایب java
می توانیم مزایا و معایب جاوا را به صورت جدول زیر بیان کنیم.
مزایا | معایب |
برنامه نویسی شی گرا | پولی بودن لایسنس تجاری |
زبان سطح بالا با دستور زبان ساده و یادگیری نسبتاً آسان | عملکرد پایین |
استاندارد برای محاسبات سازمانی | جاوا روی دسکتاپ ظاهر و شمایل یکسانی ندارد |
کاهش ریسک های امنیتی | کلمات زیاد در کد ها که باعث طولانی و پیچیده شدن کد ها می شود |
عدم وابستگی به پلتفرم (یک بار بنویس، همه جا اجرا کن) | |
زبان توزیع یافته برای همکاری ریموت آسان | |
مدیریت خودکار حافظه | |
چند نخی (Multithreading) | |
ثبات و جامعه عظیم |
انتقاد های وارده بر زبان java
انتقاد های مختلفی بر زبان جاوا وارد می باشد که در لیست زیر می توانید آن ها را مشاهده نمایید.
- قدیمی بودن جاوا
- وجود زبان های JVM بهتری همچون Scala ،Clojure و Kotlin
- بهتر بودن NodeJS برای برنامه نویسان فرانتاند
- راحت نبودن کار با جاوا
- کند بودن جاوا و مصرف کردن حافظه زیاد
سخن پایانیهمانطور که می دانید جاوا یکی از زبان های سطح بالا می باشد که بیشتر برای طراحی برنامه های اندروید مورد استفاده قرار می گیرد. java نیز همانند دیگر زبان های برنامه نویسی دارای فریمورک های بسیار جذاب، مزایا، کاربرد ها، پلتفرم ها و … می باشد. در این مقاله به هر آنچه که برای شناخت java نیاز دارید، پرداخته ایم. برای دریافت پاسخ سوالات خود و بهره مند شدن از تجربه اساتید خبره و دیگر دوستانتان در کمپین آموزشی بی لرن می توانید سوالات خود را در کافه گپ و گفت مطرح نمایید و در سریعترین زمان، پاسخ سوال خود را دریافت نمایید. همچنین می توانید با عضویت در کمپین آموزشی بی لرن، از دوره های آموزشی رایگان و کاربردی در زمینه های مختلف به صورت تخصصی و حرفه ای بهره مند شوید. با توجه به مسیر یادگیری در زمینه های مختلف می توانید برای شروع طراحی نرم افزار های اندروید از آموزش جاوا بهرهمند شوید. |
2 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
ملطلب خوب و جذابی بود . ممنون
خواهش میکنم سلامت باشید.