View Full Version : سوال در مورد برنامه نویسی جاوا
rooterror
دوشنبه 17 خرداد 1395, 23:07 عصر
سلام دوستان خسته نباشید
اومدم بیشتر در مورد برنامه نویسی جاوا بدونم ، جایی خوندم جاوا تغرییبا رویی همه دستگاها عم از ماشین لباس شویی ، یخچال و ... کاربرد داره
میخواستم بدونم برنامه نویسی جاوا به چند بخش تقسیم میشه مثلا :
تحت وب ؟
تحت ویندوز ؟
تحت لینوکس ؟
جایگزین زبان ماشین ؟
و ...
میشه برام ساده توضیح بدید ، ممنون میشم
vahid-p
سه شنبه 18 خرداد 1395, 05:53 صبح
اینایی که نوشتی درستن به جز "جایگزین زبان ماشین ؟".
جاوا برای اجرا شدنش به یک ماشین مجازی نیاز داره. برای همینم به راحتی بین پلتفرم های مختلف جابه جا میشه.
جاوا نسخه های مختلفی داره:
JavaSE که نسخه استاندارد جاوا است و برای برنامه های دسکتاپ کاربرد داره. اگر از کتابخونه های غیرمستقل استفاده نکنی با کتابخونه های استاندارد جاوا (و جاوا اف ایکس) یک کد میتونه همزمان روی لینوکس، ویندوز، مک، سولاریس و... اجرا بشه (البته باید اولش یه ماشین مجازی نصب کنی). JavaFX هم الان با JavaSE ادغام شده و ویژه طراحی برنامه های دسکتاپ با گرافیک خیلی خوب است.
JavaEE یا نسخه سازمانی. برای کارهای بزرگ استفاده میشه که تحت وب یکی از این بخش هاست. میشه گفت مهمترین و پرطرفدارترین نسخه جاوا است.
البته یه نوع تحت وب دیگه داریم بهش Applet میگن که در اصل روی مرورگرها اجرا میشن (شبیه Flash player ولی الان منسوخ شده تقریبا و کاربردی نداره)
JavaME نسخه ویژه موبایل و دستگاههای جانبی (مثلا Mp3Player یا ماشین لباس شویی و یخچال و...) است. که باز با وجود سیستم عامل های هوشمند مثل اندروید و آی او اس دیگه کاربردش خیلی کم شده (بعضی گوشی ها فقط جاوا رو اجرا می کنن). باز قابل ذکره اندروید هم خودش یه جورایی مثل جاوا است. چون اولا با زبان جاوا براش برنامه مینویسن و خیلی از کتابخونه هاش همون کتابخونه های جاواست. یک ماشین مجازی داره (مثل ماشین مجازی جاوا) که تغییرش دادن و اسمش Dalvik هست. و کلا به نظر من باید گفت نسخه موبایلی جاوا، اندروید می تونه باشه (چون JavaME دیگه طرفداری نداره)
JavaCard برای کارتخوان ها یا دستگاههایی مثل ورودی های مترو و انواع دستگاههای این چنینی.
JavaTV که از رو اسمش مشخصه.
اما تفاوت همشون از نظر برنامه نویس در کتابخونه هاست. یعنی یکی فلان کتابخونه ها رو داره یکی نه. و آخرش ماشین مجازی که باید روی دستگاه نصب بشه و نیازی نیست ما کار خاصی انجام بدیم
باید حقیقت رو گفت و با اینکه ایدشون واقعا خوب بوده ولی به روز نبودن و بعضی دستگاهها دیگه از جاوا استفاده نمیکنن و اندروید جاشو گرفته.
مثلا برای اندروید داریم:
Android for Mobile and Tablet که مطرح ترین نسخه سیستم عامل اندروید است. برای موبایل و تبلت
AndroidWear سیستم عاملی برای ساعت های هوشمند
AndroidTV سیستم عاملی برای تلویزیون های هوشمند
AndroidAuto سیستم عاملی برای خودرو ها (مثل برنامه مسیریابی و تماس و مسنجر و... برای خودرو)
همونطور که میبینی چون ایدش از روی جاوا گرفته شده، تقریبا داره به همون سمت و سو میره. و خب زبونشم که جاواست، پس یک جاوا کار با یکم تلاش بیشتر به جای اینکه با JavaME برای موبایل برنامه بنویسی با Android برنامه مینویسه.
rooterror
سه شنبه 18 خرداد 1395, 06:31 صبح
ممنون از راهنماییتون
من هر چی در مورد یاد گیزی تحت دستکتاپش جستجور میکنم به جایی نمیرسم و یا همون تحت وبش شما منبع خوبی مد نظر دارید برای یادگیری ؟
منظورتون از تحت دسکتاپ بودنش و کیفیت بالاش مثل همون winform تو visual suodio هست یعنی میاییم یک باتن میزاریم تو صفحه و براش کد میویسیم ؟
تحت وبش با css , html سازگاری داره ؟
vahid-p
چهارشنبه 19 خرداد 1395, 05:29 صبح
من هر چی در مورد یاد گیزی تحت دستکتاپش جستجور میکنم به جایی نمیرسم و یا همون تحت وبش شما منبع خوبی مد نظر دارید برای یادگیری ؟
جاوا یکی از زبان هاییه که بیشترین منابع رو تو اینترنت داره، چطور پیدا نکردید؟
شما هر سوالی تو گوگل سرچ کنید قبل از اینکه کامل بنویسید خود گوگل براتون تکمیلش میکنه و تقریبا همیشه یکی از موارد پیشنهادیش برای زبان جاواست (این میزان جستجو برای زبان جاوا رو نشون میده). البته اگر منابع فارسی منظورتونه، حق با شماست منابع خیلی خوبی نداریم و ایران استثناست، البته به لطف اندروید، زبان جاوا خیلی فراگیرتر شده در ایران (در جهان که فراگیر بود). کتاب دایتل برای جاوا هست و میتونید ترجمه فارسیش رو بخونید (از لینک http://www.tahlildadeh.com/EBookCategory/%D8%B2%D8%A8%D8%A7%D9%86%20%D8%AC%D8%A7%D9%88%D8%A 7 هم میتونید به خیلی از پی دی اف های فارسی در مورد جاوا دسترسی داشته باشید). بعد از مقدمات، وارد کدزنی بشید و هر چی براتون جای سوال بود کافیه به انگلیسی سرچ کنید، حتما مطلب خوبی براش وجود خواهد داشت.
منظورتون از تحت دسکتاپ بودنش و کیفیت بالاش مثل همون winform تو visual suodio هست یعنی میاییم یک باتن میزاریم تو صفحه و براش کد میویسیم ؟
این خاصیت drag & drop ارتباطی با کیفیتش نداره. اما JavaFX کامپوننت های خیلی خوبی داره هم از نظر راحتی کارکرد و هم از نظر زیبایی. و میتونید نرم افزار با کیفیت از نظر گرافیکی طراحی کنید. البته ابزار برای Drag & Drop هم داره به اسم scenebuilder برای javafx
تحت وبش با css , html سازگاری داره ؟
بله. البته این سوال شما اشتباهه.
زبان های برنامه نویسی سمت سرور اصولا ارتباطی با زبان های سمت کلاینت (کاربر) ندارند. php و java و asp و python و perl و... همگی زبان های سمت سرور هستند. یعنی منطق برنامه و ارتباطشون با پایگاه داده از طریق این زبان ها انجام میشه، و فرمت خروجی در هر حالت HTML و CSS و JavaScript خواهد بود. در نتیجه کاربر حتی ممکنه مطلع نشه این صفحات توسط کدام زبان تولید شدند چون در هر صورت ساختار صفحات HTML است (بعلاوه CSS و JavaScript)
اما هر زبان ابزارهایی رو داره و برای همین در سمت سرور از زبان های مختلفی استفاده میشه. به عنوان مثال شما حتی با زبان C میتونید سمت سرور کد بنویسید و خروجی HTML تولید کنید و کاربر حتی متوجه اینکار هم نمیشه. اما کمتر کسی سمت سرور برای وب با C کد میزنه.
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.