آبجی
16th December 2009, 12:30 PM
يكي از جديدترين اعضايخانواده زبانهاي برنامهنويسي است كه روي پلتفرم جاوا و تنها با نصب (Standard Edition 6 (Java SE اجرا ميشود. جاوا FX اسكريپت، يك زبان بسيار ديناميك وقابل حمل است كه از قدرت و توانايي لازم براي ايجاد واسط گرافيكي كاربر با هراندازه و هر درجه از پيچيدگي برخوردار است. واسطهاي گرافيكي ايجاد شده توسط جاوا FX اسكريپت شبيه واسطهايي هستند كه با Swing نوشته شدهاند، با اين تفاوت كهكد نوشته شده كوچكتر و سادهتر است. هرچند دستور زبان جاوا FX اسكريپت با دستورزبان جاوا متفاوت است، بخش بزرگي از فناوري كه اين دو زبان بر پايه آنها بناشدهاند يكسان است.
تاريخچه
جاوا FXاسكريپت (بخشاسكريپتنويسي جاوا FX)، زندگي خود را بهعنوان پروژهاي بهنام F3 كه توسط كريساوليور انجام ميشد آغاز كرد. پيدايش جاوا FX در ماه مي سال 2007 براي اولين باراعلام شد. در ماه مي سال 2008 شركت Sun اعلام كرد كه نسخه روميزي و نسخه طراحيشده براي جستجوگرها تا پاييز سال 2008 منتشر ميشوند و JavaFX Mobile نيز در بهارسال 2009 در دسترس كاربران قرار خواهد گرفت. از ماه جولاي سال 2008 توسعهدهندگانكد ميتوانستند يك پيش نمايش از JavaFX SDK را براي ويندوز و مكينتاش بارگذاريكنند. هنوز اطلاع رسمي دقيقي در مورد زمان پشتيباني جاوا FX از لينوكس وجودندارد. با اين حال هم اكنون بيشترسرويسهاي جاوا FX روي لينوكس اجرا ميشوند.
ويژگيها
جاوا FXاسكريپت مجموعهاي از محصولاتنرمافزاري است كه براي ايجاد آنچه كه برنامههاي كاربردي اينترنتي غني و بهاختصار RIA ناميده ميشوند پديد آمد. علاوه بر RIA اين زبان براي توسعهبرنامههاي كاربردي تحت وب كه ويژگيها و كاربرد برنامههاي كاربردي روميزي سنتي راداشته باشند، مورد استفاده قرار ميگيرد. از ميان اين برنامهها ميتوان بهبرنامههاي كاربردي چندرسانهاي اشاره كرد. محصولات جاوا FX ميتوانند برنامههايكاربردي براي رايانههاي روميزي، موبايل، تلويزيون و ديگر پلتفرمها ايجادكنند.
بخش اصلي و اوليه جاوا FX، جاوا FX اسكريپت ناميده ميشود كه يك زبانتوصيفي است و بهمنظور سادهتر كردن استفاده از سويينگ براي آن دسته ازبرنامهنويسان واسط كاربر يا طراحان برنامههاي ويژوال كه با زبانهاياسكريپتنويسي آشنايي دارند ايجاد شد. در جاوا FX اسكريپت، ساختمان كدبرنامهنويسي به نحوي طراحي شده است كه با ساختار واسط گرافيكي كاربر سازگاريبالايي داشته باشد.
از ديگر بخشهاي جاوا FX، ميتوان به جاوا FX موبايلاشاره كرد. جاوا FX موبايل يك سيستم عامل براي تلفنهاي همراه است. تلفنهايهوشمند و PDAها از مهمترين ابزارهايي هستند كه در اين طرح مورد نظر قرارگرفتهاند.
جاوا FX موبايل كه روي يك هسته لينوكس اجرا ميشود، Java SE و Java ME را پياده سازي ميكند. جيمز گاسلينگ، از پيشگامان جاوا ميگويد: "دربخشهايي از جهان، تلفن همراه يك كاربر، نقش رايانه شخصي روميزي او را ايفاميكند.
اين گروه از كاربران هدف اصلي ما در اين طرح هستند." هريك از ماميتوانيم يكي از اعضاي اين گروه باشيم. زماني كه سفر ميكنيم، تلفن همراه ما درصورت برخورداري از امكانات كافي، جانشين مناسبي براي رايانه شخصي و لپتاپ خواهدبود.
وي در مورد چگونگي پيدايش ايده اصلي اين پروژه ميگويد: "اكثر زبانهاياسكريپتنويسي موجود، در جهت رفع نيازهاي صفحات وب كار ميكنند. هدف ما طراحي زبانيبود كه بيشتر در خدمت واسطهاي گرافيكي كاربر باشد و نيازهاي واسطهايي را كه ازحجم زيادي پويانمايي برخوردارند برطرف كند."
شواهد موجود حاكي از اين هستند كهجاوا FX از رقباي اصلي Flash Player، AIR و Silverlight مايكروسافت خواهدبود.
مقايسه جاوا FX اسكريپت و زبانهايمشابه
تمركز شركت سان روي جاوا FX اسكريپت منجر به كند شدن پيشرفتدر زمينه بهبود و توسعه سويينگ و قدرت توليد كد توسط آن شده است. اكنون اين سوالذهن بسياري از برنامهنويسان را به خود مشغول كرده است: آيا تمركز روي جاوا FX بهمرور منجر به نابودي و محو تدريجي سويينگ خواهد شد؟
هرچند جاوا FX با كدجاوا بهخوبي كار ميكند، سازگاري آن با سويينگ چندان زياد نيست. در حقيقتبرنامهنويساني كه تجربه كار با سويينگ را دارند، لازم است يك مدل جديدبرنامهنويسي، API و حتي كار با ابزارهاي جديدي را فراگيرند تا بتوانند پروژههايمشابهي را با جاوا FX اسكريپت پيادهسازي كنند. از طرف ديگر، برخي از اجزايموجود در سويينگ مانند JTable در محيط جاوا FX اسكريپت كار نميكنند وكدنويسي براي آنها بايد مجددا انجام شود. به عبارت ديگر، اگرچه سويينگ و جاوا FX اسكريپت ميتوانند با هم كار كنند، دو فناوري كاملا مجزا براي توسعه واسطكاربر هستند.
عمر سويينگ تقريبا به يك دهه ميرسد و در زماني كه بسياري ازفناوريهاي ديگر با مشكلات متعددي دست به گريبان بودند سويينگ انتخابي عالي ودرخشان بود. در مقايسه با AJAX، كار با اجزاي سويينگ سادهتر و عملكرد آنها بهويژه وقتي حجم دادههايحاضر در پروژه زياد است، به مراتب بهتر است.
اما درسالهاي اخير، با پيدايش جعبه ابزارهاي جديد و متنوعي مانند Flex كه توسعهواسطهاي گرافيكي كاربر را آسان ميسازند، قدمت سويينگ بيشتر به چشم ميآيد و بهنظر ميرسد كه سويينگ كمكم جاي خود را به اعضاي جديد خانواده زبانها و ابزارهايتوسعه دهنده واسط گرافيكي كاربر خواهد داد. از ديد بسياري از برنامهنويسان، فلكسبه مراتب مولدتر و كارآمدتر از سويينگ است. فلكس فاقد بخشهاي خسته كننده موجود درسويينگ، مانند Data binding، Validation و UI layout است. برنامهنويسان شركتسان پيش از آغاز پروژه جاوا FX اسكريپت با ايجاد اجزاي جديد، برخي از اينمشكلات را از ميان برداشتند. اما با ظهور جاوا FX اسكريپت توسعه سويينگ با جديتسابق دنبال نميشود.
از ديگر موضوعات مورد بحث، مقايسه جاوا FX اسكريپتبا زبانهاي مشابه مانند فلش، DHTML Back
تاريخچه
جاوا FXاسكريپت (بخشاسكريپتنويسي جاوا FX)، زندگي خود را بهعنوان پروژهاي بهنام F3 كه توسط كريساوليور انجام ميشد آغاز كرد. پيدايش جاوا FX در ماه مي سال 2007 براي اولين باراعلام شد. در ماه مي سال 2008 شركت Sun اعلام كرد كه نسخه روميزي و نسخه طراحيشده براي جستجوگرها تا پاييز سال 2008 منتشر ميشوند و JavaFX Mobile نيز در بهارسال 2009 در دسترس كاربران قرار خواهد گرفت. از ماه جولاي سال 2008 توسعهدهندگانكد ميتوانستند يك پيش نمايش از JavaFX SDK را براي ويندوز و مكينتاش بارگذاريكنند. هنوز اطلاع رسمي دقيقي در مورد زمان پشتيباني جاوا FX از لينوكس وجودندارد. با اين حال هم اكنون بيشترسرويسهاي جاوا FX روي لينوكس اجرا ميشوند.
ويژگيها
جاوا FXاسكريپت مجموعهاي از محصولاتنرمافزاري است كه براي ايجاد آنچه كه برنامههاي كاربردي اينترنتي غني و بهاختصار RIA ناميده ميشوند پديد آمد. علاوه بر RIA اين زبان براي توسعهبرنامههاي كاربردي تحت وب كه ويژگيها و كاربرد برنامههاي كاربردي روميزي سنتي راداشته باشند، مورد استفاده قرار ميگيرد. از ميان اين برنامهها ميتوان بهبرنامههاي كاربردي چندرسانهاي اشاره كرد. محصولات جاوا FX ميتوانند برنامههايكاربردي براي رايانههاي روميزي، موبايل، تلويزيون و ديگر پلتفرمها ايجادكنند.
بخش اصلي و اوليه جاوا FX، جاوا FX اسكريپت ناميده ميشود كه يك زبانتوصيفي است و بهمنظور سادهتر كردن استفاده از سويينگ براي آن دسته ازبرنامهنويسان واسط كاربر يا طراحان برنامههاي ويژوال كه با زبانهاياسكريپتنويسي آشنايي دارند ايجاد شد. در جاوا FX اسكريپت، ساختمان كدبرنامهنويسي به نحوي طراحي شده است كه با ساختار واسط گرافيكي كاربر سازگاريبالايي داشته باشد.
از ديگر بخشهاي جاوا FX، ميتوان به جاوا FX موبايلاشاره كرد. جاوا FX موبايل يك سيستم عامل براي تلفنهاي همراه است. تلفنهايهوشمند و PDAها از مهمترين ابزارهايي هستند كه در اين طرح مورد نظر قرارگرفتهاند.
جاوا FX موبايل كه روي يك هسته لينوكس اجرا ميشود، Java SE و Java ME را پياده سازي ميكند. جيمز گاسلينگ، از پيشگامان جاوا ميگويد: "دربخشهايي از جهان، تلفن همراه يك كاربر، نقش رايانه شخصي روميزي او را ايفاميكند.
اين گروه از كاربران هدف اصلي ما در اين طرح هستند." هريك از ماميتوانيم يكي از اعضاي اين گروه باشيم. زماني كه سفر ميكنيم، تلفن همراه ما درصورت برخورداري از امكانات كافي، جانشين مناسبي براي رايانه شخصي و لپتاپ خواهدبود.
وي در مورد چگونگي پيدايش ايده اصلي اين پروژه ميگويد: "اكثر زبانهاياسكريپتنويسي موجود، در جهت رفع نيازهاي صفحات وب كار ميكنند. هدف ما طراحي زبانيبود كه بيشتر در خدمت واسطهاي گرافيكي كاربر باشد و نيازهاي واسطهايي را كه ازحجم زيادي پويانمايي برخوردارند برطرف كند."
شواهد موجود حاكي از اين هستند كهجاوا FX از رقباي اصلي Flash Player، AIR و Silverlight مايكروسافت خواهدبود.
مقايسه جاوا FX اسكريپت و زبانهايمشابه
تمركز شركت سان روي جاوا FX اسكريپت منجر به كند شدن پيشرفتدر زمينه بهبود و توسعه سويينگ و قدرت توليد كد توسط آن شده است. اكنون اين سوالذهن بسياري از برنامهنويسان را به خود مشغول كرده است: آيا تمركز روي جاوا FX بهمرور منجر به نابودي و محو تدريجي سويينگ خواهد شد؟
هرچند جاوا FX با كدجاوا بهخوبي كار ميكند، سازگاري آن با سويينگ چندان زياد نيست. در حقيقتبرنامهنويساني كه تجربه كار با سويينگ را دارند، لازم است يك مدل جديدبرنامهنويسي، API و حتي كار با ابزارهاي جديدي را فراگيرند تا بتوانند پروژههايمشابهي را با جاوا FX اسكريپت پيادهسازي كنند. از طرف ديگر، برخي از اجزايموجود در سويينگ مانند JTable در محيط جاوا FX اسكريپت كار نميكنند وكدنويسي براي آنها بايد مجددا انجام شود. به عبارت ديگر، اگرچه سويينگ و جاوا FX اسكريپت ميتوانند با هم كار كنند، دو فناوري كاملا مجزا براي توسعه واسطكاربر هستند.
عمر سويينگ تقريبا به يك دهه ميرسد و در زماني كه بسياري ازفناوريهاي ديگر با مشكلات متعددي دست به گريبان بودند سويينگ انتخابي عالي ودرخشان بود. در مقايسه با AJAX، كار با اجزاي سويينگ سادهتر و عملكرد آنها بهويژه وقتي حجم دادههايحاضر در پروژه زياد است، به مراتب بهتر است.
اما درسالهاي اخير، با پيدايش جعبه ابزارهاي جديد و متنوعي مانند Flex كه توسعهواسطهاي گرافيكي كاربر را آسان ميسازند، قدمت سويينگ بيشتر به چشم ميآيد و بهنظر ميرسد كه سويينگ كمكم جاي خود را به اعضاي جديد خانواده زبانها و ابزارهايتوسعه دهنده واسط گرافيكي كاربر خواهد داد. از ديد بسياري از برنامهنويسان، فلكسبه مراتب مولدتر و كارآمدتر از سويينگ است. فلكس فاقد بخشهاي خسته كننده موجود درسويينگ، مانند Data binding، Validation و UI layout است. برنامهنويسان شركتسان پيش از آغاز پروژه جاوا FX اسكريپت با ايجاد اجزاي جديد، برخي از اينمشكلات را از ميان برداشتند. اما با ظهور جاوا FX اسكريپت توسعه سويينگ با جديتسابق دنبال نميشود.
از ديگر موضوعات مورد بحث، مقايسه جاوا FX اسكريپتبا زبانهاي مشابه مانند فلش، DHTML Back