Friday, November 17, 2006

ویژگیهای جدید JDK 1.6


در
JDK 6 (یا به عبارت دیگر 1.6) با نام Mustang ویژگی های جالبی اضافه شده. البته هنوز نسخه نهایی آن منتشر نشده ولی اگر دوست داشته باشید میتوانید نسخه RC(Release Candidate) آن را از سایت java.net دانلود کنید. شرکت سان برای توسعه این ویرایش JDK روش جدیدی را بکار برد که در ویرایش های قبلی جاوا استفاده نکرده بود. تقریبا از 15 ماه پیش سورس JDK 6 در دسترس همه قرار گرفت تا همه کاربران بتوانند در آزمایش و توسعه آن نقش داشته باشند. به همین دلیل هم پیش بینی میشود این ویرایش JDK پایدار تر و کم خطا تر از نسخه های پیشین باشد. البته قرار داشتن سورس بر روی وب به معنی اپن سورس بودن نیست و هنوز سان(به احتمال قوی) از همان مجوز های قبلی برای انتشار JDK 6 استفاده خواهد کرد.

در هر حال با ویژگی های جدید و جذابی به JDK اضافه شده به نظر می رسد سان قصد دارد Java SE را به یک Java EE دیگر تبدیل کند. بعضی از این ویژگی ها در ادامه آورده ام:

JDK 6 @@@ بصورت استاندارد دارای یک ویرایش از پایگاه داده Apache Derby هست. Derby سیستم مدیریت پایگاه داده ای است که بطور کامل با جاوا نوشته شده و یک DBMS تمام عیار محسوب می شود و قابلیت های بسیار زیادی از جمله پشتیبانی کامل از SQL 92 و پشتیبانی از برخی از ویژگی های SQL 99 و پشتیبانی از JDBC 4 دارد. Derby می تواند بصورت Client/Server یا بصورت Embedded کار کند.

@@@ پشتیبانی کامل از وب سرویس ها (با استفاده از Annotation) به JDK اضافه شده، همچنین JDK شامل یک وب سرور در بسته com.sun.net.httpserver هست.

@@@ قابلیت اضافه کردن زبان های اسکریپتی به JDK اضافه شده. با استفاده ای این قابلیت زبان های اسکریپتی می توانند بصورت Pluggable و با استفاده از SPI(Service Provider Interface) به جاوا اضافه شوند. این قابلیت خیلی شبیه BSF(Bean Scripting Framework) که از سالها پیش مورد استفاده قرار می گرفت هست. همچنین JDK شامل یک پیاده سازی از جاوا اسکریپت هست (همان Mozilla Rhino). اضافه شدن زبان های اسکریپتی به جاوا قابلیت بسیار قدرتمندی هست که اگر فرصت شد بعدا در مورد آن بیشتر صحبت می کنم.

@@@ در JDK 6 واسط کاربر جاوا (Swing و AWT) تعامل مناسب تری با سیستم عامل دارد. از جمله قابلیت های اضافه شده، دسترسی به System Tray، قابلیت باز کردن فایل ها با نرم افزار پیش فرض سیستم عامل(مثلا باز کردن فایل های PDF با Acrobat Reader)، باز کردن یک URL خاص درون مرورگر سیستم و قابلیت باز کردن برنامه پیش فرض mail است(این قابلیت ها خیلی شبیه قابلیت هایی هست که پروژه JDIC به جاوا اضافه می کرد). همچنین به کلاس java.io.File متدهایی برای گرفتن مقدار فضای خالی و مقدار کل فضای دیسک ها اضافه شده.

@@@ قابلیت جالب(بخوانید خنده دار) دیگری که به جاوا اضافه شده و بیشتر شبیه معجزه هست این است که بالاخره برنامه نویسان جاوا بعد از 11 سال می توانند بدون درد سر Password را از Console هم بخوانند. این قابلیت به مدد اضافه کردن کلاس java.io.Console و متد System.console() به برنامه نویسان اجازه می دهد Password را بدون اینکه دیده شود از Console بخوانند. این مسئله از این جهت اهمیت دارد که بسیاری از برنامه های حساس بر روی سرورهایی اجرا می شوند که محیط گرافیکی ندارند(Headless) و فقط از طریق یک کنسول(و شاید از طریق telnet) می توان به آن ها دسترسی داشت، به همین خاطر نمی توان از JPasswordField استفاده کرد. از آن جایی که ذخیره کردن Password در فایل یا هر رسانه دیگری خیلی اوقات خطرناک است، تنها راهی که باقی می ماند خواندن از کنسول است.

در مجموع JDK 6 که هفتمین ویرایش عمده جاوا محسوب می شود، بسیار Stable و بدون دردسر هست. تقریبا هر چیزی که برای توسعه یک برنامه Desktop لازم است در JDK 6 وجود دارد. من چند روزی هست که ویرایش RC را بر روی دستگاه خودم نصب کرده ام و در مجموع مشکل خاصی با آن نداشتم.

No comments: