تا بحال شاید بار ها اسم جاوا بگوشتون ورده باشه و از محاسنش شنیده باشید و لی به واقع به علت کم بود منابع آموزشی راجع به خود جاوا و پیچیدگی جاوا در موضوعات مختلف (که از ویژگی های ذاتی جاوا می باشد) حتما بی خیال این تکنولوژی عظیم و عجیب الخلقه شدید !!!
اما من در طول این تایپیک خیال دارم شما را با این تکنولوژی آشنا کنم .
(هر چیزی که قبلا راجع به جاوا میدونستید فراموش کنید این طوری با خوندن این مقاله گیج نمیشید).
جاوا چیست ؟
حتما تا بحال از سایت ها و مقالات آموزشی متعدد تاریخچه ی جاوا رو میدنید برای همین به تاریخچه و دیگر موضوعات نمی پردازم و فقط به این موضوع اشاره میکنم که خالق زبان برنامه نویسی جاوا جیمز گوسلینگ بوده و این پروژه به صورت مجانی و آپن سورس تحت لیسانس شرکت سان در میاد توسط افراد مختلف در سراسر دنیا توسعه پیدا میکنه و به شکل امروزی میرسه .
اما خود جاوا فقط زبان برنامه نویسی و سینتکس نیست (بر خلاف مفهوم زبان های برنامه نویسی مایکروسافتی که در آن ها زبان بهانه بود ولی اصل چیزی که ارائه میشد 32 بیت بود) بلکه یک پلتفورمه که اوین کاری که میکنه اینه که بستری بر روی سستم عامل اجرا میکنه که شما را دیگه وابسته به یک سیستم عامل خاص نمیکنه. شما فکر کنید یک برنامه در محیط ویندوز مینویسید و میتونید حتنی در محیط یونیکس و سولاریس هم اجراش کنید. این اولین لذت کار با جاوا میباسد . (که شاید اکثر افراد بدونن)
اما ویژگی بعدی جاوا پیاده سازی شی گرایی خالص بدون پیچیدگی و د گی شدن با مفاهیم خاص میباشد. زبان برنامه نویسی جاوا به شکلی ساخته شده که در صورتی که شما ذهنیت شی گر نداشته باشید نمیتوانید حتی یک برنامه کوچک ماشین حساب هم بنویسید .
اما مفاهیم جاوا و کد نویسی در زمره این عظیم تکنولوژی به سه بخش عمده تقسیم میشه که عبارتند از :
1-برنامه نویسی Desktop Application : در این بخش که ممکنه بیشتر از هر بخش دیگه ای با هاش آشنا باشید شما میتوانید برنامه های ویندوزی و گرافیکی بنویسید . در این بخش شما به یک کتابخانه وسیع با بیش از هزاران ای پی آی دسترسی خواهید داشت و توانایی نوشتن هر گونه نرم افزار برای اجرا بر روی پی سی خانگی را خواهید داشت و از نوشتن بازی های گرافیکی دو بعدی گرفته تا برنامه های دیتا بیسی همگی در ویژگ این برنامه ها نهفته می باشد. این بخش از برنامه نویسی برای جاوا رو J2SE یا Java 2 Platform Standard Edition مینامند . که شامل کتا بخانه هایی چون Swing,AWT,J2D,JNI,.... میباشد.
2-برنامه نویسی تحت سرور : در این بخش که پر کراربرد ترین و گران ترین و جالب ترین بخش های برنامه نویسی جاوا ست شما توانایی نوشتن برنامه برای یک شبکه و کلا یک سرور را خواهید داشت. این بخش جاوا صرفا شامل برنامه نویسی تحت وب و HTTP نمیباشد بلکه مخصوص برنامه نویسی برای شبکه های بزرگ نیز میباشد. اکثر پروژه های بزرگ مثل اتوماسیون ها وزرات خانه های دولتی ، ارتش ، وزارت اطلاعات و یا کتابخانه ملی و ... را با این بخش از جاوا مینویسند. مفاهیم بخش های مختلف این قسم برنامه نویسی جاوا به قدری زیاد و گسترده است که شاید شما را به قدری گیج کنه که از کلا هر چی برنامه نویسی سیر بشید ولی اگه وقت بذارید و از چند نفر کار بلد هم کمک بگیرید متوجه خواهید شد که گنج واقعه ای همین کنار دستتون بوده و شما تو ماکروسافت دنبالش میگشتید.
همین قدر بگم که این بخش از جاوا تنها میان افزاری هست که بطور کامل استاندارد ها برنامه نویسی تحت شبکه و سرور رو در خودش جای داده و اصولا برای پروژه هاییی ک توسط اون انجام میشه بودجه های میلیاردی در نظر گرفته میشه. و فقط همین ق در بدونید بزرگترین تولد کننده نرم افزار جهان و پول دار ترین آن ها (یعنی اوراکل) داره از روی کار بر همین بخش جاوا پول در میاره و بهتره بدونید که سرمایه ای که برای یکی از پروژه های کوچک گرفته بودند چیزی حدود به نصف بودجه جمهوری اسلامی ایران بوده.
(منظورم از اورکل دیتا بیس اون نیست بلکه منظورم Application Server اون و بخش توسعه اپلیکیشن سرورشه).
این بخش از برنامه نویسی جاوا رو J2EE یا Java 2 Enterprise Edition مینامند که در این بخش بیشتر راجع بهش حرف میزنیم.
3- برنامه نویسی موبایل : در این بخش شما میتونید برای موبایل و دیگر سخت افزار های مشابه اون برنامه بنویسید (هادی جان در باره این بخش جاوا اطلاعات زیادی دارند.) . این بخش از برنامه نویسی جاوا دارای کتابخانه های مختلف برای گرافیک در جاوا ابزار و کنترل های جاوا و ابزار جانبی چون بلوتوس و یا انفرارد و ..... را داراست .
این قسم از برنامه نویسی جاوا رو به اختصار J2ME یا Java 2 Mobility Edition نام داره .
در مقاله بعد به مفاهیم چون JDK, JRE, Continer , ... بیشتر خواهیم پرداخت.
یه نکته : شاید امروزه خیلی مد شده که میگن فلان سایت رو با jsp نوشتن بهمان سایت رو با جاوا نوشتن ...
برای اینکه فرهنگ جاوایی هم رعایت بشه لپ کلام یه دفعه بگین فلان سایت رو با J2EE یا همون نگارش برنامه نویسی سرور جاوا نوشتن.
چون اگه شما وارد این مقوله بشید میفهمید JSP یا Servlet فقط موتور های پوروتوکل http هستند.(مثل asp) ولی اصل کاری ها درر دیگر قسمت های این فناوری گنجونده شده مثلا برای دیتا بیس مخلوط جدیدی از Transcation و DataBaseConnbection و یا برای انجام اعمال چند سروری از JNDI و ... استفاده میشه پس اولین چیزی که هنگام کار ببا جاوا بهتره بدودنید و یاد بگیریم اینه که بگیم فلان برنامه موبایل J2ME هست یا فلان برنامه ی ویندوزش J2SE هست یا فلان برنامه وبش J2EE هست. پس این یادمون نره.