تاریخچه
جاوا FX اسکریپت (بخش اسکریپتنویسی جاواFX)، زندگی خود را بهعنوان پروژهای بهنام 3F که توسط کریس اولیور انجام میشد آغاز کرد. پیدایش جاواFX در ماه می سال 2007 برای اولین بار اعلام شد. در ماه می سال 2008 شرکت Sun اعلام کرد که نسخه رومیزی و نسخه طراحی شده برای جستجوگرها تا پاییز سال 2008 منتشر میشوند و JavaFX Mobile نیز در بهار سال 2009 در دسترس کاربران قرار خواهد گرفت. از ماه جولای سال 2008 توسعهدهندگان کد میتوانستند یک پیش نمایش از JavaFX SDK را برای ویندوز و مکینتاش بارگذاری کنند. هنوز اطلاع رسمی دقیقی در مورد زمان پشتیبانی جاواFX از لینوکس وجود ندارد. با اینحال هم اکنون بیشترسرویسهای جاواFX روی لینوکس اجرا میشوند.
ویژگیها
جاوا FX اسکریپت مجموعهای از محصولات نرمافزاری است که برای ایجاد آنچه که برنامههای کاربردی اینترنتی غنی1 و به اختصار RIA نامیده میشوند پدید آمد. علاوه بر RIA این زبان برای توسعه برنامههای کاربردی تحت وب که ویژگیها و کاربرد برنامههای کاربردی رومیزی سنتی را داشته باشند، مورد استفاده قرار میگیرد. از میان این برنامهها میتوان به برنامههای کاربردی چندرسانهای اشاره کرد. محصولات جاواFX میتوانند برنامههای کاربردی برای رایانههای رومیزی، موبایل، تلویزیون و دیگر پلتفرمها ایجاد کنند.
بخش اصلی و اولیه جاواFX، جاواFX اسکریپت نامیده میشود که یک زبان توصیفی است و بهمنظور سادهتر کردن استفاده از سویینگ برای آن دسته از برنامهنویسان واسط کاربر یا طراحان برنامههای ویژوال که با زبانهای اسکریپتنویسی آشنایی دارند ایجاد شد. در جاواFX اسکریپت، ساختمان کد برنامهنویسی به نحوی طراحی شده است که با ساختار واسط گرافیکی کاربر سازگاری بالایی داشته باشد.
از دیگر بخشهای جاواFX، میتوان به جاواFX موبایل اشاره کرد. جاواFX موبایل یک سیستم عامل برای تلفنهای همراه است. تلفنهای هوشمند2 و PDAها از مهمترین ابزارهایی هستند که در این طرح مورد نظر قرار گرفتهاند.
جاواFX موبایل که روی یک هسته لینوکس اجرا میشود، Java SE و Java ME را پیاده سازی میکند. جیمز گاسلینگ، از پیشگامان جاوا میگوید: "در بخشهایی از جهان، تلفن همراه یک کاربر، نقش رایانه شخصی رومیزی او را ایفا میکند.
این گروه از کاربران هدف اصلی ما در این طرح هستند." هریک از ما میتوانیم یکی از اعضای این گروه باشیم. زمانی که سفر میکنیم، تلفن همراه ما در صورت برخورداری از امکانات کافی، جانشین مناسبی برای رایانه شخصی و لپتاپ خواهد بود.
وی در مورد چگونگی پیدایش ایده اصلی این پروژه میگوید: "اکثر زبانهای اسکریپتنویسی موجود، در جهت رفع نیازهای صفحات وب کار میکنند. هدف ما طراحی زبانی بود که بیشتر در خدمت واسطهای گرافیکی کاربر باشد و نیازهای واسطهایی را که از حجم زیادی پویانمایی برخوردارند برطرف کند."
شواهد موجود حاکی از این هستند که جاواFX از رقبای اصلی Flash Player، AIR و Silverlight مایکروسافت خواهد بود.
مقایسه جاوا FX اسکریپت و زبانهای مشابه
تمرکز شرکت سان روی جاوا FX اسکریپت منجر به کند شدن پیشرفت در زمینه بهبود و توسعه سویینگ و قدرت تولید کد توسط آن شده است. اکنون این سوال ذهن بسیاری از برنامهنویسان را به خود مشغول کرده است: آیا تمرکز روی جاواFX به مرور منجر به نابودی و محو تدریجی سویینگ خواهد شد؟
هرچند جاواFX با کد جاوا بهخوبی کار میکند، سازگاری آن با سویینگ چندان زیاد نیست. در حقیقت برنامهنویسانی که تجربه کار با سویینگ را دارند، لازم است یک مدل جدید برنامهنویسی، API و حتی کار با ابزارهای جدیدی را فراگیرند تا بتوانند پروژههای مشابهی را با جاوا FX اسکریپت پیادهسازی کنند. از طرف دیگر، برخی از اجزای موجود در سویینگ مانند JTable در محیط جاوا FX اسکریپت کار نمیکنند و کدنویسی برای آنها باید مجددا انجام شود. به عبارت دیگر، اگرچه سویینگ و جاوا FX اسکریپت میتوانند با هم کار کنند، دو فناوری کاملا مجزا برای توسعه واسط کاربر3 هستند.
عمر سویینگ تقریبا به یک دهه میرسد و در زمانی که بسیاری از فناوریهای دیگر با مشکلات متعددی دست به گریبان بودند سویینگ انتخابی عالی و درخشان بود. در مقایسه با AJAX، کار با اجزای سویینگ سادهتر و عملکرد آنها به ویژه وقتی حجم دادههای حاضر در پروژه زیاد است، به مراتب بهتر است.
اما در سالهای اخیر، با پیدایش جعبه ابزارهای جدید و متنوعی مانند Flex که توسعه واسطهای گرافیکی کاربر را آسان میسازند، قدمت سویینگ بیشتر به چشم میآید و به نظر میرسد که سویینگ کمکم جای خود را به اعضای جدید خانواده زبانها و ابزارهای توسعه دهنده واسط گرافیکی کاربر خواهد داد. از دید بسیاری از برنامهنویسان، فلکس به مراتب مولدتر و کارآمدتر از سویینگ است. فلکس فاقد بخشهای خسته کننده موجود در سویینگ، مانند Data binding، Validation و UI layout است. برنامهنویسان شرکت سان پیش از آغاز پروژه جاوا FX اسکریپت با ایجاد اجزای جدید، برخی از این مشکلات را از میان برداشتند. اما با ظهور جاوا FX اسکریپت توسعه سویینگ با جدیت سابق دنبال نمیشود.
از دیگر موضوعات مورد بحث، مقایسه جاوا FX اسکریپت با زبانهای مشابه مانند فلش، DHTML و سیلورلایت است.
یکی از عواملی که بقای نرمافزارهای قدیمی را تضمین میکند این است که آنها روی اکثر جستجوگرها نصب شدهاند. اکنون بیش از 75% از جستجوگرها مجهز به جاوا هستند. این رقم در مورد Flash به 85% و در مورد جاوا اسکریپت به 98% میرسد. در مقابل، JavaFX فعلا روی هیچ جستجوگری اجرا نمیشود.
جذابیت سیلورلایت و جاواFX در این است که هر دو آنها از همان فناوریهایی استفاده میکنند که در سمت سرور استفاده میشود. فلش و جاوا اسکریپت از این قاعده پیروی نمیکنند و این امر، آنها را با محدودیت منابع روبرو میکند. مشکل ایجکس و DHTML این است که کدهای نوشته شده با استفاده از این دو زبان آنچنان ضعیف هستند که همه برنامهنویسانی که از آنها استفاده میکنند برای جلوگیری از ایجاد مانع در اجرای کد به ایجاد wrapperهای سمت سرور رو آوردهاند.
ابزار توسعه کدهای فلش، فلش است. کدهای DHTML و ایجکس با استفاده از Notepad و GWT در ویندوز و XEmacs در یونیکس ایجاد میشوند. در مورد جاواFX ابزار برنامهنویسی نتبینز است. برنامهنویسان سیلورلایت از Visual Studio Orcas همراه با یک ابزار طراحی استفاده میکنند. در میان این ابزارها، نتبینز از دیگران قویتر است. به این ترتیب برنده نبرد میان این زبانها پیشاپیش مشخص است.
کدهای جاوا در زمان اجرا به حافظه اصلی بسیار زیادی نیاز دارند. یک واسط کاربر ساده در زمان اجرا به طور متوسط به حدود 65 مگابایت حافظه اصلی نیاز دارد. اجرای همزمان چند برنامه جاوا، در ازای هر برنامه 65 مگابایت دیگر از حافظه اصلی را اشغال میکند. فرض کنید یک وبسایت آموزشی، مجموعهای از نرمافزارهای نمایشی4 را بارگذاری کرده است. بارگذاری همزمان چند دمو، در عمل تمام حافظه اصلی سیستم را اشغال میکند. این امر استفاده از کدهای جاوا در حجم انبوه را با محدودیتهایی مواجه میسازد.
شواهد موجود حاکی از این است که در دراز مدت، برنامههای فلش از شانس رقابت کمتری در مقایسه با رقبای دیگر برخوردارند. فلش برای تولید سریع فایلهای ویدئویی، ساخت آگهیهای تبلیغاتی و فیلمهای کوتاه مناسب است. اما در مورد پویانماییها و ویدیوهای بزرگ کارایی لازم را ندارد. در مقابل، جاواFX و سیلورلایت شانس بسیار بیشتری برای بقا دارند. مایکروسافت به دلیل نفوذ گسترده در بازار جهانی و در میان کاربرانی که از رایانه برای کاربردهای عمومی استفاده میکنند همواره مخاطبان خاص خود را دارد. شرکت سان نیز با دارا بودن میلیونها برنامهنویس جاوا در عرصه باقی خواهد ماند.
از ویژگیهای برنامهنویسان جاوا این است که خود را با هر قالب کاری جدیدی که برای زبان جاوا ایجاد شود تطبیق میدهند. از سوی دیگر بخش قابل توجهی از کاربران جاوا و محصولات شرکت سان را کاربران دانشگاهی تشکیل میدهند. این کاربران خود از ایجاد کنندگان فناوریهای جدید هستند.
آیا جاواFX به یک فناوری RIA پویا و تکامل یافته تبدیل خواهد شد؟ این موضوعی است که در هفته آینده به آن خواهیم پرداخت.
پینوشتها
Rich Internet Client. 1
Smartphones. 2
User Interface. 3
Demo. 4
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم