آبجی
16th December 2009, 12:32 PM
از مهمترين دلايل پيدايش پروژه جاواFX، لزوم يافتن راهحلهاي جديد براي توسعه RIA(برنامههاي كاربردي اينترنتي غني) است.
پيش از آنكه به ويژگيهاي 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 شباهتهايي با جاوا، جاوااسكريپت و اكشناسكريپت دارد، در واقع يك زبان جديد، مستقل و منحصر به فرد است كه براي برنامهنويسي با آن بايد آن را از پايه فرا گرفت. اين امر بسياري از برنامهنويساني را كه به چند زبان با كاراييهاي مختلف مسلط هستند، از يادگيري آن منصرف ميكند. به عنوان مثال، يك برنامهنويس مسلط به جاوا، جاوا اسكريپت و اكشناسكريپت، ميتواند همه نيازهاي برنامهنويسي خود را با دانستن اين چند زبان برطرف كند.
چنين فردي، انگيزهاي براي يادگيري يك زبان بسيار متفاوت نخواهد داشت
پيش از آنكه به ويژگيهاي 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 شباهتهايي با جاوا، جاوااسكريپت و اكشناسكريپت دارد، در واقع يك زبان جديد، مستقل و منحصر به فرد است كه براي برنامهنويسي با آن بايد آن را از پايه فرا گرفت. اين امر بسياري از برنامهنويساني را كه به چند زبان با كاراييهاي مختلف مسلط هستند، از يادگيري آن منصرف ميكند. به عنوان مثال، يك برنامهنويس مسلط به جاوا، جاوا اسكريپت و اكشناسكريپت، ميتواند همه نيازهاي برنامهنويسي خود را با دانستن اين چند زبان برطرف كند.
چنين فردي، انگيزهاي براي يادگيري يك زبان بسيار متفاوت نخواهد داشت