پیش از آنکه به ویژگیهای JavaFX بپردازیم، لازم است خلاصهای از تاریخ جاوا را مرور کنیم. این امر به این دلیل ضروری است که پیدایش جاواFX نتیجه روندی تاریخی و تکاملی در زبان جاوا است. اکنون بیش از یک دهه است که جاوا پا به عرصه وجود گذاشته است. پیش از آغاز پروژه جاوا شرکت سان یک گروه 13 نفره از متخصصان را از سراسر جهان گردهم آورد تا برای آنچه که "موج جدید محاسبات" نامیده میشود برنامهریزی کنند و برخی از خطوط اصلی آن را پیشبینی کنند. یکی از نتایج اولیه این همایش، متحد کردن دستگاههای الکترونیکی قابل کنترل از راه دور و رایانه بود. این تیم 13 نفره که تیم سبز نامیده میشوند، در اولین گام یک کنترلر راه دور برای دستگاههای خانگی با صفحه نمایش قابل لمس ایجاد کردند. این کنترلر با کاربر ارتباط برقرار میکرد و صفحه نمایش آن به امکانات پویانمایی مجهز بود، به طوری که آیکونها در این صفحه نمایش به صورت پویا ومتحرک نمایش داده میشدند. در طراحی این ابزار جدید که StarSeven یا به اختصار 7* نامیده میشد، از زبانی کاملا جدید به نام Oak استفاده شد.
پس از آنکه سان در یافتن بازار مناسبی برای فناوری 7* ناموفق ماند، تیم طراحان زبان جاوا تصمیم گرفتند اینترنت را با استفاده از نرمافزارهایی که زیربنای پلتفرم x7 را تشکیل میدادند هدف قرار دهند. به این ترتیب، جاوا از میان خاکسترهای Oak پدید میآید.
تولد جاوا FX
اگرچه جاوا به سرعت جای خود را در میان برنامهنویسان وب باز کرد، اختلاف بین مایکروسافت و Sun سبب شد که مایکروسافت برای مدتی پشتیبانی خود را از ماشین مجازی جاوا (JVM) قطع کند. این امر درست در زمانی رخ داد که اپلتهای جاوا به جایگاه مناسبی دست یافته بودند و در کاربردهای گوناگون از کاربردهای نمایشی تا کاربردهای علمی مورد استفاده قرار میگرفتند. قطع پشتیبانی مایکروسافت از JVM، همراه با مسائل مرتبط با کارایی اپلتها، به شدت از محبوبیت اپلتها کاست. در همین زمان، بر محبوبیت جاوای سمت سرور روز به روز افزوده می شد. به همین دلیل، سان تصمیم گرفت تمام توجه خود را روی جاوای سمت سرور متمرکز کند. اگرچه اپلت از صحنه برنامهنویسی حذف نشد، اما استفاده از آن بسیار محدود شد.
محدودیت کاربرد اپلت موجب پیدایش فناوریهای جدید مانند Flash/Flex، Ajax و Silverlight شد. این فناوریهای جدید به نوبه خود به رشد و پیشرفت RIA کمک شایان توجهی نمودند.
شرکت سان نیز برای آنکه از جهان RIA کنار گذاشته نشود، تصمیم گرفت تا چهره جدیدی از اپلت را به نمایش بگذارد. به این ترتیب جاواFX متولد شد. تجربه طولانی سان در زمینه توسعه یک فناوری پیشرو از یک سو و تجربه تضعیف اپلت از سوی دیگر، شرکت سان را بر آن داشت که به راه حلی اساسی بیندیشد. در حقیقت جاواFX نه تنها چهره جدیدی از اپلت را به نمایش میگذارد، بلکه فراتر از آن به عنوان پلتفرمی عمل میکند که پلتفرمهای مختلف جاوا برای وب، دسک تاپ و موبایل را به شکل یک موجود واحد متحد میسازد.
ویژگیها
بنا به اعلام رسمی شرکت سان، JavaFX Script یک زبان اسکریپتنویسی با قدرت تولید بسیار بالاست که طراحان و توسعهدهندگان کد را قادر میسازد برنامههای چند رسانهای و محتوای وب را در محیطهای جاوا با کیفیت و کارایی بسیار بالا تولید کنند. اگرچه جاواFX اسکریپت ایجاد GUIها را آسان میسازد، یکی از اهداف اصلی از طراحی آن ایجاد ابزاری است که قادر باشد GUIهایی را در هر اندازه و با هر درجهای از پیچیدگی پشتیبانی کند.
جاواFX اسکریپت فرایند خلاق ساخت GUIهای غنی و جذاب برای اسکریپتنویسان، طراحان، کد نویسان Java Swing، D2 Java و D3 Java را به سادهترین شکل امکانپذیر میکند. این واسطهای غنی و سرویسهای نسل آینده میتوانند روی هر وسیلهای به سادگی و در امنیت کامل کار کنند، بیآنکه حتی روی آن نصب شده باشند.
واضح است که RIA برای تولید محصولی جذاب و کارامد نیازمند همکاری طراحان و توسعهدهندگان است. تاکنون بخش عمده بار تولید محصولات RIA بر عهده طراحان و توسعهدهندگان کد بوده است و این موضوع نیاز به وجود ابزارهایی که قادر به رفع این مشکل باشند، را بیش از پیش آشکار میسازد.
احتمالا مهمترین شرکتهایی که در این تحول بزرگ نقشی را ایفا میکنند، مایکروسافت و Adobe هستند. هم اکنون ادوب، از فناوری فلکس که در راستای تامین نیازهای طراحان ایجاد شده است استفاده میکند. اما نسخه حاضر فلکس برای پشتیبانی از فناوری فلش که یکی از پرطرفدارترین انتخابهای برنامهنویسان است طراحی شده است و برای کار با جاواFX نیازمند تغییر و تحول است. مایکروسافت نیز فناوری سیلورلایت را به منظور قابل حمل کردن کد طراحی کرده است.
اکنون سان در تلاش است که فناوری جاواFX را به نحوی گسترش دهد که بیشتر بر تامین نیازهای برنامهنویس متمرکز باشد و جاواFX اسکریپت تنها اولین گام در این مسیر است. هرچند جاواFX اسکریپت تا حدودی مشابه جاوا است، اما در عمل زبان جدیدی است که میکوشد برخی از ویژگیهای جاوا را پیادهسازی و یا تقلید کند. شواهد موجود نشان میدهد که این امر در آینده به اکشناسکریپت نیز تعمیم یابد. هر دو زبان فوق، زبانهایی هستند که طراحان و توسعهدهندگان وب با آنها بیشتر از جاوا آشنایی دارند.
یکی از ویژگیهای مهم جاواFX اسکریپت دستور زبان آن است. دستور زبان جاواFX اسکریپت توصیفی است و اجزای GUI را با استفاده از کدهایی تعریف میکند که در کد نهایی پروژه سازگاری قابل توجهی بین کد برنامهنویس و طرح GUI وجود دارد. کد مربوط به بخش کاربردی برنامه و کد مربوط به اجزای GUI آن به طور خودکار سنکرون میشوند. کد جاواFX اسکریپت در همه محیطهای IDE مهم مانند NetBeans قابل اجرا است.
جمعبندی
مهمترین نکتهای که در مورد کار با جاواFX اسکریپت باید مورد توجه قرار گیرد، این است که هر چند کد جاواFX شباهتهایی با جاوا، جاوااسکریپت و اکشناسکریپت دارد، در واقع یک زبان جدید، مستقل و منحصر به فرد است که برای برنامهنویسی با آن باید آن را از پایه فرا گرفت. این امر بسیاری از برنامهنویسانی را که به چند زبان با کاراییهای مختلف مسلط هستند، از یادگیری آن منصرف میکند. به عنوان مثال، یک برنامهنویس مسلط به جاوا، جاوا اسکریپت و اکشناسکریپت، میتواند همه نیازهای برنامهنویسی خود را با دانستن این چند زبان برطرف کند.
چنین فردی، انگیزهای برای یادگیری یک زبان بسیار متفاوت نخواهد داشت. همچنین، بسیاری از طراحان و تولیدکنندگان محتوای وبسایتها که در مقایسه با برنامهنویسان کمتر به برنامهنویسی محاسباتی میپردازند، زمان زیادی را صرف یادگیری اکشناسکریپت یا جاوا اسکریپت نمودهاند. این گروه از برنامهنویسان، بیش از برنامهنویسان محاسباتی، نسبت به یادگیری یک زبان جدید مقاومت میکنند، زیرا آنها بیشتر طراح و تهیه کننده محتوای متنی هستند تا برنامهنویس. به این ترتیب این امکان وجود دارد که پذیرش جاواFX با تاخیر روبرو شود.
یکی دیگر از مشکلات کنونی جاواFX این است که در حال حاضر هیچ ابزار گرافیکی برای کمک به توسعه RIAها با استفاده از جاواFX وجود ندارد و تنها راه برای خلق RIAهای مبتنی بر جاواFX، استفاده از جاواFX اسکریپت است. توجه به این نکته مهم است که عدم وجود این نوع ابزارها تنها به دلیل جدید بودن این فناوری است و احتمال اینکه ابزارهای گرافیکی برای کار با جاواFX تولید شوند زیاد است. اما به علت تاخیر جاوا در ورود به عرصه RIA عدم وجود این نوع ابزارها این نقص را بسیار بزرگ جلوه میدهد.
مشکل دیگری که جاواFX با آن روبرو است عدم توانایی پلتفرم جاوا در پشتیبانی مناسب از صدا و تصویر است. شرکت سان اکنون در تلاش است تا به سرعت این وضع را بهبود بخشد. مهمترین و اساسیترین مشکل جاوا این است که در مقایسه با رقبای خود در زمینه RIA دیر وارد این عرصه شده است و راه طولانی را در پیش دارد.
در مجموع میتوان گفت که جاواFX برای همه برنامهنویسانی که به زبان جاوا مسلط هستند، جذاب و هیجانانگیز است.
این گروه از برنامهنویسان، در مورد آینده وجود فناوری RIA که ریشههای قوی در جاوا داشته باشد بسیار خوشبین هستند. اگرچه پذیرش جاواFX در سطحی گسترده ممکن است مدت زمانی نه چندان کوتاه به طول بیانجامد، اما وجود ریشههای قوی، موفقیت نهایی آن را تضمین خواهد کرد.
آوید افضل
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم