ايران ويج

نسخه‌ی کامل: جاوا چیست ؟؟؟؟(مقاله)
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
با سلام خدمت بزرگواران و عزیزان برنامه نویس ایران زمین .
تا بحال شاید بار ها اسم جاوا بگوشتون ورده باشه و از محاسنش شنیده باشید و لی به واقع به علت کم بود منابع آموزشی راجع به خود جاوا و پیچیدگی جاوا در موضوعات مختلف (که از ویژگی های ذاتی جاوا می باشد) حتما بی خیال این تکنولوژی عظیم و عجیب الخلقه شدید !!!
اما من در طول این تایپیک خیال دارم شما را با این تکنولوژی آشنا کنم .
(هر چیزی که قبلا راجع به جاوا میدونستید فراموش کنید این طوری با خوندن این مقاله گیج نمیشید).
جاوا چیست ؟
حتما تا بحال از سایت ها و مقالات آموزشی متعدد تاریخچه ی جاوا رو میدنید برای همین به تاریخچه و دیگر موضوعات نمی پردازم و فقط به این موضوع اشاره میکنم که خالق زبان برنامه نویسی جاوا جیمز گوسلینگ بوده و این پروژه به صورت مجانی و آپن سورس تحت لیسانس شرکت سان در میاد توسط افراد مختلف در سراسر دنیا توسعه پیدا میکنه و به شکل امروزی میرسه .
اما خود جاوا فقط زبان برنامه نویسی و سینتکس نیست (بر خلاف مفهوم زبان های برنامه نویسی مایکروسافتی که در آن ها زبان بهانه بود ولی اصل چیزی که ارائه میشد 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 و Servlet که مربوط به J2EE هستند کار کنی ولی اگه یه چت ساده شبکه با ظاهر معمولی بخوای کار کنی با همون J2SE هم میشه کار کرد چون توابع لازم برای سوکتینگ رو داره.
من الان یه برنامه شطرنج تحت شبکه با سوکتینگ که مبنی بر جاواست دارم .
آقا وحيد دستتون درد نكنه بازم ادامه بدين همه مقالات شما در مورد جاوا خوندني و جالبه
لطفا باز هم مقاله بنويسيد
ممنون
ایول خیلی ممنون.
آقا همین آموزش بالا رو بعلاوه یه سری نکات و اسکرین شات های نختلف توضح دادم و در قالب pdf فرستادم که اگه کسی خواست بعدا در حالت آف هم مقاله رو بخونه ، مشکل نداشته باشه.
(البته گفتم که یه سری نکات هم جدید اضاف کردمAt)
{بعلت زیادی حجم آپلود نشد یه جا دیگه میذارم و بعد لینک میدم Biggrin}
سلام وحید جان ،
تعداد مشاهده این تاپیک رو ببینی متوجه میشی چقدر بازدید داشته نیازی به پست نیست (بیشتر از 100 بازدید ...)

در مورد راهنماییت در مورد چت هم ، من صفره صفر هستم. اصلا نمیدونم چی به چیه . باید نرم افزار خاصی نصب کنم؟ از کجا بگیرم نصب کنم.
لطفا از صفر آموزش بده.

یه دوستی یادمه با تعجب میگفت gazag با jsp نوشته شده و این زبان خیلی مشکلیه ! همین که گفت زبان مشکلیه برام انگیزه شد که یادش بگیرم اما اصلا فرصت نشد. حالا امیدوارم اینجا بهونه ای بشه که حداقل کمی اطلاعاتم رو بالا ببرم.


تشکر
نبی
خواهش میشه..... ما در خدمتیم.
یه نکته : شاید امروزه خیلی مد شده که میگن فلان سایت رو با jsp نوشتن بهمان سایت رو با جاوا نوشتن ...
برای اینکه فرهنگ جاوایی هم رعایت بشه لپ کلام یه دفعه بگین فلان سایت رو با J2EE یا همون نگارش برنامه نویسی سرور جاوا نوشتن.
چون اگه شما وارد این مقوله بشید میفهمید JSP یا Servlet فقط موتور های پوروتوکل http هستند.(مثل asp) ولی اصل کاری ها درر دیگر قسمت های این فناوری گنجونده شده مثلا برای دیتا بیس مخلوط جدیدی از Transcation و DataBaseConnbection و یا برای انجام اعمال چند سروری از JNDI و ... استفاده میشه پس اولین چیزی که هنگام کار ببا جاوا بهتره بدودنید و یاد بگیریم اینه که بگیم فلان برنامه موبایل J2ME هست یا فلان برنامه ی ویندوزش J2SE هست یا فلان برنامه وبش J2EE هست. پس این یادمون نره.

اما باید بگم به واقع جاوا عجوبه ای است که لنگه نداره و ابزار هایی که برای جاوا منتشر شده شاید چند صد برابر دیگر پلاتفورم ها مثل وین 32 یا دات نت هست.
راسی متن مقاله رو نتونستم آپ لود کنم همینجا نوشتش زو میذارم (البته منهای اسکرین شات ها) :
---------------------------------------------------------------
ویرایش دوم از مقاله اول :
جاوا چیست ؟
امروزه وقتی حرف از جاوا ممی زنیم سریع کلیه اذهان و افکار میره سراغ جاوا اسکریپت (!!!!). ولی اینجا جا داره خدمت تمام کاربران عزیز عرض کنم که این تفکر یه تفکر سطح ابتدایی و ساده میباشد که فقط به دلیل تشابه اسمی برای افراد بوجود اومده و هینجا هم جا داره عرض کنم چیزی که شاید  تا بحال فکر میکردیم یک زبان اسکریپتی و ساده میباشد یکی از بزرگترین تکنولوژی های روز میباشد که حدود به 45 % برنامه های کاربردی تحت آن نوشته میشود.
جالب تر آن که بدانید همین دات نتی که در حال حاضر محوریت کار ها و پروژه هاتونو میدین دستش یه تقلید همه جانبه از جاوا بوده.
خوشبختانه هر سایتی که بواد امروزه جاوا رو آموزش بده میره سراغ تاریخچه این بزرگ افزار و تا به حال مقالات بیشماری راجع به فلسفه بوجود آمدن جاوا ئ نام گذاریش در ایران به زبان فارسی موجوده. برای همین از پرداختن به تاریخ این نرم افزار پرهیز میکنم و یه راست میرم سراغ خود این سیستم.
جاوا تقریبا 10 ساله که به دینا نر مازفر اومده و دو ورژن اصلی از این زبان و تکنولوژی موجوده که تقریبا تمامی افراد جاوا کار در سراسر دنیا با ورژن 2 این پلاتفورم کار کرده. هدفی که جاوا در طول عمر چند ساله اش دنبال کرده توسعه یک سیستم بدون محدودیت سخت افزار و نرم افزار و سیستم عامل است. شاید جالب باشد ولی شما یک بار یک نرم افزار با جاوا مینویسید و در ویندوز اجرا میکنید و همان فایل ها را میتوانید در لینوکس و اپل و یونیکس و سولاریس و … هم اجرا کنید . حتی بدون نیاز به کامپال مجدد (!).
جاوا برای اجرای برنامه هایش در سیستم عامل نیاز به یک  JVM یا Java Virtual Machine دارید . این ماشین مجازی جاوا پشتیبانی کننده از فایل هایی است که با جاوا نوشته میشوند و محیط اجرای آن ها را در سیستم عامل های مختلف فراهم میکند. در اصل JVM مثل یک لایه کاربردی بین برنامه ای که شما مینویسید و سیستم عامل میباشد و واسطه ای که اجرای برنامه شما رو ممکن کند. به این نوع لایه های میانجی در نرم افزار های اینگونه (مثل لایه ی فریم ورک در دات نت ) پلاتفورم میگویند.
جاوا فایل های *.JAVA شما را گرفته و پس از کامپایل فایل های *.CLASS را تحویل شما میدهد. این فایل ها همان فایل هایی هستند JVM آن ها را خط به خط  برای سیستم عامل ترجمه میکنه و اون هارو اجرا میکنه.
خود محیط JVM هم به چند بخش مختلف مثل اجرا گر ها کتابخانه های پایه(JRE) و کامپایلر ها تقسیم میشود. که فعلا از پرداختن به لایه های مختلف و نرم افزار ها و فایل های اون پرهیز میکنم و فقط به قسمت کوچکی از فایل های اون اشاره خواهیم کرد.
همانطور که در تصویر پیداست JVM فایل های زیاید برای اجرا برنامه های کاربردی جاوا دارد که برای اجرا جاوا در محیط های مختلف مثل مرورگرو برنامه های کاربردی به کار میرود.
بطور مثال از java.exe و یا javaw.exe برای اجرای برنامه های جاوا در محیط کاربردی و از appletviewer برای اجرای برنامه های (Applet ) در مرورگر استفاده میشود.
جاوا بطور آپن سورس و مجانی توسعه میبابد و شما میتوانید و شما میتوانید نسخه های مختلف آن را از وب سایت جاوا (www.java.sun.com) دریافت کنید. در حال حاضر نسخه های متفاوت و زیادی از jdk و یا Java Development Kit وجود دارد (که حاوی JVM و کتابخانه های کاربردی جاوا میباشد) که جدید ترین نسخه ی آن JDK 6.0  میباشد که بصورت بتا ارائه شده و نسخه های قدیمی آن JDK 5.0 و JDK 1.4 و JDK 1.3 و ... میباشد.
البته متاسفانه به علت تحریم اقتصادی ایران امکان دانلود مجانی جاوا و محیط های توسعه دهنده آن در SUN وجود ندارد . (البته شما نگران نباشید راه های بسیار زیادی برای تهیه ان در ایران وجوود دارد).
اما طبق رتبه بندی و تقسیم بندی های انجام شده و استاندارد برای جاوا جاوا در سه نسخه ارائه میشه:
که به ترتیب زیر می باشد :
Java 2 Platform Standard Edition : این نسخه که به اختصار J2SE هم بهش میگن حاوی کتابخانه ها و کامپایلر هایی هست که برای نوشتن یک برنامه معمولی و اصطلاحا Desktop Application به کار میره. در کتابخانه های کد موجود کلیه API ها و کلاس ها از شبکه(Socket) و طراحی فرم ویژوال (Swing , Awt)و گرافیک (J2D)دو بعدی و سه بعدی(J3D) و فایل(File API) و تصویر(Imaging) و متد فشرده سازی(Compressing) و ارتباط به دنیای خارج از جاوا (JNI) و هر چیزی که برای برنامه نویسی برنامه های معمولی نیازه موجوده . این کتابخانه بصورت عادی با نصب یکی از نسخه های JDK بر رو سیستم شما نصب میشود و امکان توسعه چنین فایل هایی را به شما میدهد.
اکثر برنامه نویسان زبان مایکروسافتی میتوانند به خوبی این نسخه از جاوا رو درک کنند زیرا اکثر برنامه هایی که در محیط هایی چون  VB6 مینویسند Desktop Application میباشد.

Java 2 Platform Enterprise Edition : این نسخه از جاوا رو که به اختصار J2EE هم میگن شاید تجاری ترین و معروفترین بخش برنامه نویسی جاوا میباشد. تمامی امکانات گنجانده شده در این نسخه از جاوا برای طراحی و توسعه برنامه های تحت سرور و تحت وب در جاوا میباشد . یکی از گونه هایی که در برنامه نویسی جاوا تحت وب بسیار معروف شده JSP  یا Java Server Page میباشد که با این که این بخش فقط یکی از 13 رکن این نسخه می باشد ولی دارای Framework  های زیاد و معروف میباشد که توسعه jsp را بسیار بسیار قوی تر میکنند .  
این بخش از جاوا برای اجرا نیاز به یک JDK دارد (یا همون J2SE) و یک Application Server. اما Application Server چیست ؟ Application Server  ویا همون App Server یک ظرف نگه دارنده میباشد. برای اینکه کار app server براتون بهتر روشن شه می تونم این طوری براتون توضیح بدم همانطور که یک برنامه تحت وب مثلا یک برنامه cms تحت asp.net  برای اجرا به یک وب سرور مثل IIS برای اجرای عملیات مختلف و Parsing نیاز دارد یک برنامه ای که تحت J2EE نوشته شده برای اجرا به یک APP Server  نیاز داره تا اجرا بشه و کار هاشو انجام بده . این بخش از جاوا مفلاهیم بسیار سخت سقیلی داره که شاید یه نفر مثل من بعد از دو ماه شبانه روز سرو کله زدن باهاش نتونه حتی مفهومش رو هم درک کنه ولی در عوض این وعده رو بهتون میدم که در صورت پیدا کردن تسلط روی این بخش از جاوا میتونید کار هایی انجام بدی که برای انجامشون در دات نت و یا تکنولوژی های مشابه باید زجری وصف ناشدنی بکشید. اما جالبتر اینجاست که فقط خود شرکت سان برای این بخش جاوا app server ارائه نکرده و شرکت های IBM , BEA, SUN , Borland, Oracle, …..  هم برای این بخش App Server های قوی  ارائه کردند. این بخش از جاوا دارای App Server های مجانی و سورس بازی چون JBoss و یا Tomcat ویا Sun GlassFish تا App Server های گران قیمتی چون Web Sphere , WEB LOGIC  میباشد و حتی گران قیمت ترین نرم افزار دنیا که پکیج Business  Suite اوراکل هست مربوط به App Server قوی و کامل Oracle میباشد. (با این نتایج فکر کنم دلیل خوش پول بودن جاوا رو میتونید خوب درک کنید).
مطمئنم با خوندن متن بالا مطمئنم که کمی گیج شدید و مشتاق شدید که بیشتر راجع به این بخش از جاوا بدانید. خب پس تا آماده شدن آموزش های J2EE کمی صبر کنید ...

Java 2 Platform Mobility Edition : این بخش از جاوا همانطور که از اسمش پیداست برای نوشتن برنامه های جاوا برای موبایل و چند نوع پروسسور مختلف دیگر میباشد که در اکثر موبایل ها پشتیبانی میشود. (برنامه هایی با فرمت *.jar و یا *.jad) .
در این بخش از جاوا ما API ها و ابزار های ریز و درشتی از ساختن بازی تحت موبایل گرفته تا برنامه سازی برای ابزار جانبی موبایل و SMS و .... داریم.
ممنون وحید
با این تفاسیر ما رو مشتاق کردی...
بی صبرانه منتظرم وارد مقوله برنامه نویسی و جزئیات بشی...
لطفا از صفر بگو که چه چیزهایی برای شروع باید نصب کنیم و از کجا...

تشکر
نبی

برای شروع چندتا کار باید انجام بدی اول دان لود جی دی کا و نصب اون بعدش هم نصب یکی از ادیتور های جاوا.
این روزا کمی سرم شلوغ شده اما با این همه راجع به چونگی شروعش هم فردا پس فردا یه چیزایی مینویسم .
کمی صبر کنی برات سریع آماده میشه .
فعلا یا حق.
(۲۹-تير-۱۳۸۵, ۰۶:۲۳:۲۵)vahid2000 نوشته است: [ -> ]ایول ایول ایول !!!!! پس کسی این مقاله رو دیده!!!! خدایا شکر !!! ایول ... فکر می کردم یا ایراد از منه یا اصلا همه بروبگس نسبت به جاوا آلرژی دارن.
اما چت ساده. خب بستگی داره شما بخوای چطور کار کنی. ببین چت داریم تا چت. مثلا شاید بخوای بدون گیر دادن فایروال و از پشت اون باشه خب باید با jsp و Servlet که مربوط به J2EE هستند کار کنی ولی اگه یه چت ساده شبکه با ظاهر معمولی بخوای کار کنی با همون J2SE هم میشه کار کرد چون توابع لازم برای سوکتینگ رو داره.
من الان یه برنامه شطرنج تحت شبکه با سوکتینگ که مبنی بر جاواست دارم .

امکانش هست کد بازی شطرنج رو برام بفرستی؟؟؟
خیلی علاقه مندم بتونم یک بازی تحت شبکه بنویسم.

امکانش هست کد بازی شطرنج رو برام بفرستی؟؟؟
خیلی علاقه مندم بتونم یک بازی تحت شبکه بنویسم.
من تا حالا با جاوا کار نکردم و هیچی در باره ی این زبان نمی دونم . برای پروژه ی کارشناسیم باید یه سایت بانک رو با jsp طراحی کنم ولی اصلا نمی دونم باید چیکار کنم و از کجا شروع کنم . ممنون میشم راهنماییم کنین
صفحه‌ها: 1 2