close
تبلیغات در اینترنت
IDE های جاوا
loading...

آموزش برنامه نویسی

  برای دهه ها، برنامه نویسان در رویای محیط های توسعه ای به سر می بردند که ابزارهای یکپارچه قدرتمند موجود در آنها بتواند کارآمدی بالایی را فراهم نماید. نخستین محیط های پیشرفته از این نوع در طی سال های نخست دهه ۹۰ در انجمن یونیکس پدیدار گشت.   اما ناتوانی پلاتفرم های سخت افزاری آن زمان در پشتیبانی نیازهای محاسباتی چنین محصولات پیچیده ای آنها را محکوم به شکست زودهنگام نمود. امروزه، با وجود ایستگاه های کاری توسعه گر که دارای پردازنده های ۳ گیگاهرتزی و رم های ۱ گیگابایتی هستند، محیط های قدرتمند…

Admin بازدید : 346 چهارشنبه 01 آبان 1392 نظرات ()

IDE

 

برای دهه ها، برنامه نویسان در رویای محیط های توسعه ای به سر می بردند که ابزارهای یکپارچه قدرتمند موجود در آنها بتواند کارآمدی بالایی را فراهم نماید. نخستین محیط های پیشرفته از این نوع در طی سال های نخست دهه ۹۰ در انجمن یونیکس پدیدار گشت.

 


اما ناتوانی پلاتفرم های سخت افزاری آن زمان در پشتیبانی نیازهای محاسباتی چنین محصولات پیچیده ای آنها را محکوم به شکست زودهنگام نمود. امروزه، با وجود ایستگاه های کاری توسعه گر که دارای پردازنده های ۳ گیگاهرتزی و رم های ۱ گیگابایتی هستند، محیط های قدرتمند می توانند بدون وارد ساختن بار اضافی بر سخت افزار اجرا گردند. در نتیجه این پیشرفت، طی چند سال گذشته شاهد ظهور محصولات قابل توجهی، از قبیل Visual Studio .Net و Eclipse ۳.۰، بوده ایم که سطح IDEها را بالا برده اند.
ما به بررسی چهار IDE پیشرو برای توسعه جاوای enterprise (و ابزارهای همراه آنها) از شرکت Borland Software، شرکت IBM، شرکت Oracle، و شرکت Sun Microsystems پرداختم. این محصولات به شکلی جالب توجه سمبل های IDE متفاوت را به کار می برند.

 

● Oracle JDeveloper ۱۰.۱.۳

Oracle از به کار بردن مدل نسخه های مبتنی بر وظیفه ی IBM و Borland اجتناب ورزیده است و یک محصول high-end با یک قیمت پایین ارائه داده است. این شرکت از GUI خاص خود استفاده کرده که دارای یک طراحی بصری است. این رابط دارای جنبه دیگری است که من واقعا آن را دوست دارم: آن تنها محصولی است که ظاهری شیک دارد. با JDeveloper، من حس می کنم که در یک محیط کاملا تعاملی مشغول به کار هستم. زمانبندی تاخیرهای آغاز و سایر توابع بیانگر این مطلب است که کارآیی آن در یک ارتباط اساسی با Borland Jbuilder است، اندکی جلوتر از محصول Sun، و به میزان قابل توجهی سریع تر از RSA محصول شرکت IBM است. اما در سطح تعامل شخصی با IDE، Oracle سریع تر به نظر می رسد.


دستیابی به بسیاری از مشخصه های JDeveloper در مقایسه با محصولات رقیب ساده تر است، که این امر انجام کارها را سرعت می بخشد. Oracle همچنین یک سری موارد الحاقی جالب توجه را فراهم می آورد. نخستین مورد ابزاری است که یک تحلیل زمان اجرا از کد شما انجام می دهد. تحلیل مزبور بر اساس بررسی خود پیشنهادهایی را درباره کلاس هایی که می توانند نهایی گردند ارائه می دهد. این پیشنهادات فراتر از موارد معمولی هستند که تمامی IDE ها (شامل Oracle) همچنان که شما کد را تایپ می کنید فراهم می سازند، مواردی از قبیل نحوه بهینه سازی دستورات ورودی. در نسخه ویندوز، JDeveloper شامل JVM خاص خود است، که برای اشکال زدایی بهینه گردیده است. (در هر صورت، برای اهداف گسترش، Oracle به JVM سیستم رجوع می نماید.)
برای کار با سرویس های وب، JDeveloper یک ناظر TCP را فراهم می نماید که توسعه گران را قادر به بررسی تک تک پکت ها می سازد – ثبت انتقال آنها و آشکار ساختن داده های آنها. این ناظر همچنین امکان ویرایش و بازفرست یک پکت درخواست را مجاز می شمارد. سایر ابزارها در مجموعه توسعه نرم افزار Oracle پشتیبانی سطح بالاتری را برای سرویس های وب (از قبیل orchestration و BPEL یا Business Process Execution Language) فراهم می آورند. محدودیت عمده JDeveloper در مدلسازی UML است، جایی که محصول تنها چهار نمودار اصلی (activity، class، sequence و use case) را پشتیبانی می نماید. JDeveloper نمودارهای متعدد غیر UML از قبیل طراحی نمودار EJB و Struts را پشتیبانی می کند.
در حالی که این محصول از لحاظ تعداد مشخصه های ارائه شده در معماری سازمانی به پای IBM و Borland نمی رسد، Oracle JDeveloper تمامی قابلیت هایی را که اغلب توسعه گران نیاز دارند فراهم می نماید. و با وجود مزیت قابل توجه قیمت آن در مقایسه با دو رقیب دیگر، آن به احتمال قریب به یقین می تواند محصول برگزیده برای بسیاری از سایت ها قلمداد گردد.


● Sun Java Studio Enterprise ۷

در دهه ۹۰، تعداد اندکی از فروشندگان اقدام به عرضه ابزارهای توسعه همپای Sun نمودند. Sun نخستین شرکتی بود که نوآوری های بسیاری را ایجاد نمود، از قبیل توانایی تغییر کد در دیباگر و ادامه اجرا. به هر صورت، Sun هنگامی که به سراغ ابزارهای توسعه جاوا آمد قافیه را باخت، و به سایر فروشندگان اجازه داد بازاری را که در واقع متعلق به خودش بود از آن خود نمایند. عرضه JSE (Java Studio Enterprise) ۷ مخصوصا با هدف حضور مجدد Sun در بازار ابزارهای جاوا صورت گرفت. این شرکت تلاش فراوانی را صرف مهیا ساختن این محصول نمود و، در عمل، آن مشخصه های متعدد منحصر بفردی را عرضه کرد.

JSE بر پایه NetBeans بنا شده است، پلاتفرم کدبازی که با Eclipse رقابت می نماید. با وجود غلبه Eclipse، NetBeans یک پلاتفرم با ارزش است، که توانایی انجام تمام کارهایی که Eclipse می تواند انجام دهد را دارد. و همانند Eclipse، NetBeans از پشتیبانی توسعه گران plug-in بیشماری برخوردار است، اگر چه Eclipse دارای تعداد بیشتری پروژه های فعال plug-in است.


از بسیاری جهات، JSE منحصربفرد است: آن مشخصه های قابل توجهی را که سایر بسته ها فاقد آنها هستند فراهم می نماید، و آن فاقد برخی ابزارهایی است که سایر بسته ها ارائه می دهند. دو مشخصه بی نظیر و قابل ستایش JSE عبارتند از طرح ریزی اجرا و همکاری. کارکرد "همکاری" تمامی توسعه گران را با استفاده از JSE در یک جلسه خاص مشابه IM قرار می دهد و از این رو آنها می توانند پیغام ها و کد را با یکدیگر تبادل نمایند. پشتیبانی Whiteboarding نیز وجود دارد، و کانال های مجزایی برای مباحثات خصوصی و عمومی در آن موجود است. هنگامی که تنظیمات انجام شد، مشخصه همکاری به صورت خودکار در هنگام اجرای JSE اجرا می گردد، از این رو با نشستن برای انجام کار همه اعضای یک گروه فورا وارد تیم می شوند.مشخصه ی جذاب دیگر JSE شبیه ساز لود آن است. تست نمودن برنامه های توزیع شده کار دشواری است؛ آنها اغلب نیازمند تنظیم های پیچیده به منظور بازتولید لودهایی هستند که توانایی بازنمایی فعالیت دنیای واقعی را دارند. قادر بودن به تست کارآیی از درون JSE (با استفاده از تست لود داخلی آن) به معنی صرفه جویی زمانی قابل توجه برای توسعه گرانی است که بر روی برنامه های سازمانی کار می کنند.پشتیبانی Sun از نمودارهای بیشمار UML اگر چه منحصربفرد نیست اما جذاب است – از این لحاظ تنها RSA محصول IBM با آن برابری می نماید.
متاسفانه، از سایر لحاظ JSE دچار کاستی هایی است. آن Struts یا JSF را پشتیبانی نمی کند؛ در عوض، آن از WAF (Web Application Framework) خود SUN استفاده می نماید. آن یک جایگزین است که به سختی جذاب واقع خواهد شد، چرا که در حال حاضر تعداد بسیار زیادی تکنولوژی جاوا وجود دارد که در حوزه Web UI برنامه های سازمانی رقابت می کنند. در سطح کدنویسی، JSE پیشنهادهایی را برای بهبود کد ارائه می دهد. نهایتا، رابط دارای برخی جنبه های آشفته است، که این فکر را به ذهن می آورد که نسخه ویندوز JSE یک تبدیل مستقیم از نسخه Solaris است. برای مثال، یک سری پنجره ها برخی مواقع از شما در مورد مکان سیستم های فایل mount شده یا نقاط اتصال سوال می کنند. این اصطلاحات در دنیای ویندوز وجود ندارند، اما در یونیکس معمول هستند. این مساله از آنجا ناشی می شود که سیستم help هیچ کاری برای یاری رساندن به توسعه گر ویندوز برای درک چیزی که JSE در این پنجره ها خواهان آن است انجام نمی دهد.
JSE ۷ شرکت Sun را برای توسعه جاوای سازمانی در جایگاه مناسبی قرار می دهد. اما اگر شما نیازی به مشخه های بی نظیر آن ندارید – که واقعا هم جذاب هستند – سایر محصولاتی که در اینجا مورد بررسی قرار گرفتند گزینه های بهتری خواهند بود.



● توانایی ها

در حال حاضر هیچ زبان برنامه نویسی دیگری دارای چنین محیط های قدرتمندی (که در اینجا بررسی شد) نیست؛ حتی Visual Studio .Net ۲۰۰۳ در قیاس با آنها کم فروغ جلوه می نماید، اگر چه انتظار می رود Visual Studio .Net ۲۰۰۵ (که در شرف عرضه است) این فاصله را کاهش دهد. اما با وجود کیفیت و قابلیت های گسترده این چهار IDE، آنها فاقد عناصری هستند که از نظر من مدت ها پیش می بایست در آنها ایجاد می گردید. جای برخی کارکردهای کدنویسی ساده خالی است. برای مثال، چرا ما نباید قادر باشیم لیترال ها یا بسته های منبع را از لحاظ املایی بررسی نماییم؟ همچنین، مشخصه های پیشرفته تر تنها حداقل پیاده سازی ها را دارند. به عنوان مثال، سازندگان GUI برای Borland، Oracle، و Sun تنها کد Swing را تولید می نمایند، تقریبا چنان که گویی Standard Widget Toolkit وجود ندارد. به استثنای Borland، ویرایشگرهای XML هنگامی که می بایست قدرتمند باشند ضعیف ظاهر گردیدند، و همچنین ویرایشگرهای HTML. هیچ محصولی توانایی تولید تست های مهم واحد به روشی که ابزارهای واسط از قبیل Agitator انجام می دهند را ندارد. در عوض، این IDE ها بنیان ها (stub ها) را فقط برای JUnit تولید می کنند، حتی هنگامی که تست ها برای یک کلاس خاص واضح هستند.
همگامی با جدیدترین استانداردها نیز چالشی برای این محصولات محسوب می گردد. هر چند که همگی آنها در ۹۰ روز گذشته عرضه گردیده اند، اما فقط Borland پشتیبانی JDK ۱.۵ (یا ۵.۰) را شامل می شود. و تنها Borland با مدیریت کنترل سورس Subversion یکپارچه شده است، اگر چه Subversion آشکارا در حال به دست آوردن جایگاه خود به عنوان بهترین انتخاب در میان ابزارهای مدیریت سورس کد می باشد. همانگونه که می بینید، اگر چه اینها محیط هایی عالی به شمار می آیند، اما همچنان کارهای بسیاری وجود دارد که آنها می توانستند انجام دهند.



● ارزیابی گزینه های IDE

تنها راه برای خریداری تکنولوژی – چه سخت افزار باشد و چه نرم افزار – شناخت صحیح نیازهای خود است. شما در مورد IDE های جاوا ناگزیر به پیمودن این گام مقدماتی خواهید بود، چرا که این چهار محصول همگی به خوبی طراحی و پیاده سازی شده اند. یک ارتباط طبیعی میان محصولات Borland و IBM وجود دارد، زیرا آنها بسته هایی هستند که پروژه های بزرگ سازمانی را با پشتیبانی خاص برای معماران نرم افزار مد نظر قرار داده اند. در مورد هر دو، محصولات اضافی که توسط این فروشندگان به فروش می رسد می تواند قابلیت های بیشتری را فراهم آورند. از بین این دو، IBM دارای مشخصه های کامل تری می باشد، اما آن قدری کندتر اجرا می گردد و رابط آن کمتر از Borland بصری است.
اگر نیازهای شما تماما در سطح معماری نیستند، در این صورت JDeveloper شرکت Oracle انتخاب خوبی به شمار می آید، اگر چه Borland نیز در این حوزه رقیب شایسته ای می باشد. اگر قیمت را در نظر بگیریم، در این صورت Oracle برنده ی رقابت است. در حال حاضر، فقط Sun JSE ۷ می تواند برای آن دسته از توسعه گرانی که نیازمند مشخصه های بی نظیر آن یعنی تست بارگذاری، همکاری، و طرح ریزی هستند توصیه گردد. هر چهار فروشنده نسخه های مخصوص ارزیابی را برای دانلود مجانی در اختیار عموم قرار داده اند تا در صورت تمایل بتوانید اجرای آزمایشی آنها را تجربه نمایید. به هر حال، نصب، تنظیم، و تست این محصولات کار ساده ای نیست. پیشنهاد من این است که شما با محصول Oracle کار خود را آغاز نمایید، که نصب آن ساده تر از سایرین است، و در اغلب موارد بیشتر چیزهایی که نیاز دارید را فراهم می نماید.
اگر محدودیت های مدلسازی JDeveloper شرکت Oracle شما را محدود می سازد، من توصیه می کنم JBuilder شرکت Borland (Enterprise Edition) یا Rational RSA شرکت IBM را دانلود کنید. هیچ گزینشی میان این دو محصول نباید بدون مقایسه سر به سر آنها صورت گیرد.

دانشجویان کامپیوتر

 

ارسال نظر برای این مطلب

نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتیرفرش کد امنیتی
تبلیغات
Rozblog.com رز بلاگ - متفاوت ترين سرويس سایت ساز
اطلاعات کاربری
نام کاربری :
رمز عبور :
  • فراموشی رمز عبور؟
  • نویسندگان
    نظرسنجی
    قالب سایت؟




    بیشتر چه نوع مطالبی رو میپسندید؟





    آمار سایت
  • کل مطالب : 588
  • کل نظرات : 391
  • افراد آنلاین : 1
  • تعداد اعضا : 3329
  • آی پی امروز : 58
  • آی پی دیروز : 65
  • بازدید امروز : 185
  • باردید دیروز : 217
  • گوگل امروز : 8
  • گوگل دیروز : 15
  • بازدید هفته : 402
  • بازدید ماه : 3,677
  • بازدید سال : 58,507
  • بازدید کلی : 2,058,753