توسعه دهندهی وب ، دانشجوی مهندسی کامپیوتر، همیشه کنجکاو
قسمت دوّم JavaFx (دید کلّی)
توجّه: در این قسمت ممکن است با واژه ها یا عباراتی مواجه شوید که باعث گیج شدنتان شود.اصلاً نگران این موضوع نباشید، متن را با دقّت بخوانید و هرکجارا که متوجّه نشدید از آن رد شوید. این قسمت صرفاً برای آشنایی کلّی شما با JavaFX است پس زیاد حسّاس نباشید.
برنامه های غنی اینترنتی یا RIA's اپلیکیشن های وبی هستندکه امکانات و تجربه ای مشابه با برنامه های دسکتاپ فراهم در اختیار می گذارند. آن ها تجربه ی بصری بهتری در مقایسه با برنامه های وب معمولی برای کاربران فراهم می کنند. این برنامه ها به صورت پلاگین های مرورگر یا توسّط ماشین مجازی ارائه می شوند و برای تبدیل اپلیکیشن های استاتیک سنّتی به برنامه های پیشرفته، روان، متحرّک و جذّاب استفاده می شوند.
بر خلاف اپلیکیشن های دسکتاپ سنّتی، RIA ها(Rich Internet Applications) برای اجرا نیازی به داشتن هیچ برنامه ی اضافی ندارند.در عوض بسته به برنامه، شما باید نرم افزارهایی مانند ActiveX ، Java ، Flash را نصب کنید.
در یک RIA مدیریت پردازش گرافیکی برنامه در سمت کلاینت(سرویس گیرنده) انجام می شود که دارای یک افزونه است که از گرافیک غنی(Rich Graphics) پشتیبانی می کند. خلاصه این که مدیریت داده ها در RIA ها در سرور و به کارگیری عنصر گرافیکی مرتبط در سمت کلاینت انجام می شود.
سه تکنولوژی وجود دارند که برای توسعه ی RIA ها استفاده می شود که عبارت اند از:
- Adobe Flash
- Microsoft Silverlight
- JavaFX
Adobe Flash(ادوبی فلش)
این پلت فرم نرم افزاری توسط شرکت Adobe Systems توسعه یافته است و در ساخت RIAها استفاده می شود. علاوه بر این شما می توانید برنامه های دیگری مانند نمودار، انیمیشن ها، بازی های مرورگر، برنامه های دسکتاپ، بازی و... ایجاد کنید.
این پلتفرم رایج ترین پلتفرم برای توسعه و اجرای RIAها با مرورگر دسکتاپ با میزان استفاده ی 96% است.
Microsoft Silverlight
درست مانند Adobe Flash ، مایکروسافت سیلورلایت هم یک فریم ورک کاربردی برای توسعه و اجرای RIA ها است. در ابتدا این فریم ورک برای استریم کردن مدیاها مورد استفاده قرار گرفت. نسخه های فعلی از چندرسانه ای(multimedia) ، گرافیک و انیمیشن به خوبی پشتیبانی می کند.
این پلت فرم به ندرت در مرورگر دسکتاپ مورد استفاده قرار می گیرد.
JavaFx
و امّا JavaFX یک کتابخانه ی جاوا است که شما می توانید از آن برای توسعه ی RIAها استفاده کنید. با استفاده از تکنولوژی جاوا، این اپلیکیشن ها دارای نفوذ 76درصدی در مرورگرها است.
سوال: JavaFX چیست؟
خب. JavaFX یک کتابخانه ی جاوا است که برای ساخت برنامه های غنی اینترنتی(RIA's) به کار می رود. اپلیکیشن هایی که با JavaFx توسعه داده شده اند می توانند روی دستگاه های مختلفی مانند کامپیوتر های رومیزی ، تلفن های همراه ، تلویزیون ها ، تبلت ها و ... اجرا شوند.
برای توسعه ی برنامه های رابط کاربری گرافیکی با استفاده از زبان برنامه نویسی جاوا، برنامه نویسان از کتابخانه هایی مانند awt و Swing استفاده می کنند(یا شاید بهتره باشه بگیم استفاده می کردند).بعد از ظهور JavaFx الآن برنامه نویسان جاوا می توانند برنامه های کاربردی گرافیکی موثّرتر و کارآمدتر و باحال تری را با JavaFx توسعه دهند.
نیاز به JavaFX:
برای توسعه ی اپلیکیشن های سمت کلاینت با امکانات غنی، برنامه نویسان از کتابخانه های مختلفی برای اضافه کردن امکاناتی مانند مدیا ، کنترل ها، وب، 2D ، 3D و... استفاده می کردند.JavaFX تمام این امکانات را در کتابخانه ای واحد در بردارد.
و JavaFX مجموعه ای غنی از APIهای گرافیک(graphic) و رسانه(media) را در اختیار می گذارد و از طریق پردازش گرافیکی سخت افزاری پردازش گرافیکی مدرنی را به ارمغان می آورد.JavaFX همچنین رابط هایی را فراهم می کند که با استفاده از آن توسعه دهندگان(برنامه نویسان) می توانند انیمیشن گرافیکی و کنترل های رابط کاربری را ترکیب کنند.
می توان از JavaFX با تکنولوژی های مبتنی بر JVM استفاده کرد.مانند JRuby، Groovy،java و...
اگر برنامه نویس JavaFX را انتخاب کند دیگر نیازی به یادگیری تکنولوژی های جدید ندارد، به عنوان دانش قبلی هر یک از تکنولوژی های فوق برای توسعه ی RIAها به اندازه ی کافی خوب هستند.
توجّه: درباره ی پاراگراف بالا نگران نشید.صرفاً خواستم متن سایت انگلیسی رو ترجمه کرده باشم.همین که شما جاوا بلد باشید کافیه.گفتم که نگی نگفتی!!!
امکانات JavaFX:
در زیر چندتا از امکانات مهمّ JavaFX نوشته شده است.
- نوشته شده در جاوا _ کتابخانه ی JavaFX در جاوا نوشته شده است و برای زبان هایی که در JVM اجرا می شوند در دسترس است که شامل Java و Groovy و JRuby است.
همچنین این برنامه های JavaFX مستقل از پلتفرم هستند.
- ابزار FXML _ خوب است بدانید JavaFX دارای یک زبان شناخته شده به عنوان FXML است که مانند زبان نشانه گذاری HTML است.تنها هدف این زبان ساخت رابط کاربری در برنامه است.
- سازنده ی صحنه (Scene Builder) _ـ JavaFX یک اپلیکیشن به نام Scene Builder یاسازنده ی صحنه برای شما فراهم می کند.
در ادغام این برنامه در IDEهایی مانند اکلیپس(Eclipse) و نت بینز(NetBeans) کاربران می توانند به یک رابط طرّاحی کشیدن و رها کردن دست یابند و با آن برنامه های FXML را توسعه دهند و در واقع از نوشتن کدهای FXML به صورت دستی راحت شوند.
قابلیت همکاری با سویینگ(Swing) _ در برنامه های JavaFX شما می توانید محتوای Swing را با استفاده از کلاس Swing Node جاسازی کنید.به طور مشابه شما می توانید برنامه های موجود Swing با ویژگی های JavaFX مانند وب ویوها و مدیاهای گرافیکی غنی را آپدیت کنید.
- کنترل های درون ساخت UIـ (Built-in UI controls) _کتابخانه JavaFX ، کنترل های UI را تهیه میکند که میتوانیم یک اپلیکیشن فول آپشن رو گسترش بدیم.
- طرّاحی ظاهر CSS مانند _ـ JavaFX یک امکان طرّاحی ظاهر برنامه،شبیه به CSSرا فراهم می کند. با استفاده از این امکان شما می توانید طرّاحی ظاهر برنامه ی خودرا با یک دانش ساده از CSS ارتقا دهید.
- ای پی آی(API) بوم نقّاشی و چاپ_ـ JavaFX یک بوم نقّاشی(canvas) را فراهم می کند، یک API با سبک توسعه ی سریع. داخل پکیج javafx.scene.canvas مجموعه ای از کلاس ها برای نقّاشی(canvas) وجود دارد که با استفاده از آن ما می توانیم به طور مستقیم در یک قسمت از صحنه ی(scene) جاوا اف ایکس رسم کنیم(نقشی را بکشیم).همچنین JavaFX کلاس هایی را برای اهداف مربوط به پرینت گرفتن در پکیج javafx.print فراهم می کند.
- مجموعه ی غنی از API ها_ کتابخانه ی JavaFX مجموعه ی غنی ای از APIهارا برای توسعه ی اپلیکیشن های گرافیکی(GUI applications)، گرافیک های دو بعدی(2D) و سه بعدی(3D) و... فراهم می کند.این مجموعه از APIها شامل قابلیت های پلتفرم جاوا نیز می باشد. بنابراین با این API شما می توانید به امکانات جاوا از قبیل Genericها ، Annotationها ، MultiThreading و عبارت های lambda دسترسی داشته باشید.مجموعه ها و کتابخانه های قدیمی جاوا بهبود یافته و مفاهیمی مانند لیست های قابل مشاهده(observable lists) و نقشه ها(maps) در آن گنجانده شده است.با استفاده از این کاربران تغییرات در دیتامدل هارا مشاهده کنند.
- کتابخانه ی مجتمع گرافیک( Integrated Graphics library )_ـ JavaFX کلاس هایی را برای گرافیک های دوبعدی و سه بعدی فراهم می کند.
- مراحل کار گرافیکی( Graphics pipeline )_ـ JavaFX از گرافیک مبتنی بر خطوط سخت افزاری گرافیکی که به نام منشور(prism) شناخته می شود پشتیبانی می کند.هنگامی که با کارت گرافیک پشتیبانی شده یا GPU مورد استفاده قرار می گیرد گرافیکی روان را اراده می دهد. در صورتی که سیستم از کارت گرافیک پشتیبانی نکند منشور(prism) از تفسیر نرم افزاری استفاده می کند.
تاریخچه ی JavaFX
ـ JavaFX در ابتدا توسّط چِرس اولیور(Chirs Oliver) توسعه داده شد ، زمانی که او برای شرکتی به نام " See Beyond Technology Corporation " کار می کرد.که بعدها در سال 2005 شرکت "سان مایکروسیستمز" آن را تصاحب کرد.
نکات زیر اطّلاعات بیشتری درباره ی این پروژه به ما می دهد _
در ابتدا این پروژه F3 نام داشت که مخفّف Form Follows Functions است.این پروژه با هدف آماده سازی یک رابط غنی تر برای توسعه ی برنامه های گرافیکی توسعه داده شده است.
شرکت سان مایکروسیستمز(Sum Microsystems) در سال 2005 شرکتِ " See Beyond company" را خرید و JavaFX را از پروژه ی F3 اقتباس کرد.
در سال 2007 JavaFX رسماً در جاوای 1 معرّفی شد ، در یک کنفرانس جهانی وب که هرساله برگزار می شود.
در سال 2008 نت بینز(NeatBeans) با JavaFX ادغام شد.در همان سال کیت توسعه ی جاوا برای JavaFX نسخه ی 1.0 منتشر شد.
در سال 2009 شرکت اوراکل(Oracle) ، سان مایکروسیستمز را به دست آورد(خرید) . در همان سال نسخه ی بعدی JavaFX یعنی 1.2 منتشر شد.
در سال 2010 ، JavaFX نسخه 1.3 بیرون آمد و در سال 2011، JavaFX نسخه 2.0 منتشر شد.
آخرین ورژن ، JavaFX8 ، به عنوان بخشی جدایی ناپذیر در 18 مارس 2014 منتشر شد.
لطفا ? و نظر یادتون نره! همچنین اگر دوست داشتید مرا در تلگرام دنبال کنید.
مطلبی دیگر از این انتشارات
قسمت اوّل javaFX
مطلبی دیگر از این انتشارات
قسمت سوّم JavaFX_ آماده سازی محیط(Environment) در JavaFX
مطلبی دیگر از این انتشارات
قسمت چهارم JavaFX _ معماری و ساختار