امیر عباس انصاری |
12-15-2008 02:04 AM |
خلق برنامههاي كاربردي استثنايي با JavaFX Script - يكشنبه 24 آذر 1387 - ساعت 21:30
خلق برنامههاي كاربردي استثنايي با JavaFX Script
يكشنبه 24 آذر 1387 - ساعت 21:30
شماره خبر: 100956955748
http://www.jamejamonline.ir/Media/im...0956949626.jpg
يكي از جديدترين اعضاي خانواده زبانهاي برنامهنويسي است كه روي پلتفرم جاوا و تنها با نصب (Java SE) 6 Standard Edition اجرا ميشود.
جاواFX اسكريپت، يك زبان بسيار ديناميك و قابل حمل است كه از قدرت و توانايي لازم براي ايجاد واسط گرافيكي كاربر با هر اندازه و هر درجه از پيچيدگي برخوردار است.
واسطهاي گرافيكي ايجاد شده توسط جاواFX اسكريپت شبيه واسطهايي هستند كه با Swing نوشته شدهاند، با اين تفاوت كه كد نوشته شده كوچكتر و سادهتر است.
هرچند دستور زبان جاواFX اسكريپت با دستور زبان جاوا متفاوت است، بخش بزرگي از فناوري كه اين دو زبان بر پايه آنها بنا شدهاند يكسان است.
تاريخچه
جاوا 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
Dem
جام جم
کلیک
|