۳۰ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

IDE جاوا خود را انتخاب کنید

کدام Java IDE بهترین است؟ IntelliJ IDEA، Eclipse و NetBeans را برای ویژگی‌ها، قابلیت استفاده و سازگاری با ابزارها و چارچوب‌های مورد علاقه خود مقایسه کنید.

کدام Java IDE بهترین است؟ IntelliJ IDEA، Eclipse و NetBeans را برای ویژگی‌ها، قابلیت استفاده و سازگاری با ابزارها و چارچوب‌های مورد علاقه خود مقایسه کنید.

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

شما امیدوارید که یک IDE از آخرین نسخه های زبان های JVM مورد علاقه شما، از جمله Java، Kotlin، Scala و Groovy پشتیبانی کند. می‌خواهید از محبوب‌ترین سرورهای برنامه و چارچوب‌های جاوا، مانند Apache Tomcat، Spring، JavaServer Faces، Struts، GWT پشتیبانی کند. (Google Web Toolkit)، Play، Wicket، Grails، Dropwizard، ATG، Spark، Hadoop و Vaadin. یک IDE قابل اجرا باید از هر سیستم کنترل ساخت و نسخه ای که گروه شما استفاده می کند، مانند Ant، ​​Maven، و Gradle، به همراه Git، SVN، CVS، Mercurial و Bazaar پشتیبانی کند. . برای اعتبار بیشتر، IDE شما باید بتواند لایه های سرویس گیرنده و پایگاه داده پشته شما را مدیریت کند، از جمله صفحات جاوا سرور، جاوا اسکریپت جاسازی شده، TypeScript و HTML در سمت مشتری و Hibernate، JPA< /a> و SQL برای لایه داده.

در نهایت، شما یک Java IDE می خواهید که به شما امکان می دهد سیستم های خود را با سهولت ویرایش، ساخت، اشکال زدایی و آزمایش کنید. در حالت ایده‌آل، شما نه تنها تکمیل کد هوشمند، بلکه بازآفرینی هوشمند و معیارهای کد را خواهید داشت. اگر در فروشگاهی هستید که توسعه آزمایش محور را انجام می دهد، می خواهید از چارچوب های آزمایشی و stubbing خود پشتیبانی کنید. اگر گروه شما از سیستم بلیط و CI/CD استفاده می کند، IDE باید بتواند به آنها متصل شود. اگر نیاز به استقرار و اشکال زدایی در کانتینرها و ابرها دارید، IDE شما باید در این زمینه کمک کند.

سه IDE که اغلب برای توسعه جاوا سمت سرور انتخاب می شوند IntelliJ IDEA، Eclipse و NetBeans هستند. با این حال، اینها تنها گزینه‌ها نیستند، و ما همچنین در مورد چند IDE سبک‌تر بحث خواهیم کرد. برای این بررسی، نصب جدیدی از IntelliJ IDEA Ultimate 2022.1.1، Eclipse Installer 2022-03 و Eclipse IDE برای Enterprise Java و توسعه دهندگان وب و NetBeans 13 را روی MacBook Pro انجام دادم. من همچنین چندین پروژه جاوا منبع باز را بررسی کردم که برای نشان دادن ویژگی های IDE از آنها استفاده کردم.

IntelliJ IDEA

JetBrains’ IntelliJ IDEA، IDE برتر جاوا از نظر ویژگی ها و قیمت، در دو نسخه عرضه می شود: نسخه رایگان انجمن و نسخه تجاری پولی Ultimate. فاکتورهای متمایز اصلی این است که نسخه Ultimate از Perforce، ClearCase و TFS و همچنین Git، SVN، Mercurial و CVS پشتیبانی می کند. جاوا اسکریپت و تایپ اسکریپت را پشتیبانی می کند. از Jakarta EE، Spring، GWT، Vaadin، Play، Grails و سایر فریم ورک ها پشتیبانی می کند. و شامل ابزارهای پایگاه داده و SQL می باشد. پیشرفت‌های اخیر نسخه Ultimate شامل کلاینت HTTP، ابزارهای پروفایل، توسعه از راه دور و توسعه مشارکتی است.

نسخه ۲۰۲۲.۱ یک تحلیلگر وابستگی، یک جادوگر پروژه جدید به روز شده و یک ابزار اعلان را معرفی می کند. همچنین دارای نکات inlay بهبود یافته، جستجوی ساختاری جدید و گفتگوی جایگزین، صادرات نمودار UML، بررسی کننده بسته برای تشخیص آسیب‌پذیری، و پشتیبانی بهتر از Java 18 و JUnit 5 است.

هدف این است که نسخه Ultimate جایگاهی در دسک‌تاپ حرفه‌ای کسب کند و از طریق افزایش بهره‌وری برنامه‌نویس، اشتراک پولی را توجیه کند. اگر یک توسعه‌دهنده جاوا ۵۰ تا ۱۰۰ هزار دلار در سال درآمد داشته باشد، افزایش بهره‌وری چندانی لازم نیست تا با یک اشتراک تجاری IDEA سالانه ۵۰۰ دلار، بازگشت سرمایه سریع به شما بدهد. قیمت در سال‌های بعد برای کسب‌وکارها کاهش می‌یابد، برای استارت‌آپ‌ها و افراد بسیار پایین‌تر است و برای دانش‌آموزان، معلمان، «قهرمانان جاوا» و توسعه‌دهندگان منبع باز رایگان است.

JetBrains از IntelliJ IDEA برای بینش عمیق در مورد کد، ارگونومی برنامه‌نویس، ابزارهای توسعه‌دهنده داخلی، و تجربه چند زبانه استفاده می‌کند. بیایید بررسی کنیم و ببینیم این ویژگی‌ها به چه معنا هستند و چگونه می‌توانند به شما کمک کنند.

مشخصات ECMAScript 2023 برای جاوا اسکریپت نهایی شد

بینش عمیقی از کد شما

رنگ آمیزی نحو و تکمیل کد ساده برای ویرایشگرهای جاوا داده شده است. IntelliJ IDEA فراتر از آن است و تکمیل هوشمند و تکمیل زنجیره ای را ارائه می دهد. تکمیل هوشمند به این معنی است که IDE می‌تواند فهرستی از مرتبط‌ترین نمادهای قابل اجرا در شرایط فعلی را که بر اساس تعداد دفعات استفاده شخصی شما رتبه‌بندی می‌شود، ظاهر کند. تکمیل زنجیره لیستی از نمادهای قابل اجرا را ارائه می دهد که از طریق روش ها یا دریافت کننده ها در زمینه فعلی قابل دسترسی هستند. همچنین اعضای ثابت یا ثابت را تکمیل می کند و به طور خودکار هر عبارت import مورد نیاز را اضافه می کند. در تمام تکمیل‌های کد، IntelliJ IDEA سعی می‌کند نوع نماد زمان اجرا را حدس بزند، انتخاب‌های خود را از آن اصلاح کند، و در صورت نیاز، کلاس‌های کست اضافه کند.

کد جاوا اغلب شامل زبان های دیگری به عنوان رشته است. IntelliJ IDEA می‌تواند قطعاتی از کدهای SQL، XPath، HTML، CSS و/یا JavaScript را در String literals جاوا تزریق کند. برای این موضوع، می‌تواند کد را در چندین زبان تغییر دهد. برای مثال، اگر نام یک کلاس را در یک عبارت JPA تغییر دهید، IntelliJ IDEA کلاس موجودیت و عبارات JPA مربوطه را به روز می کند.

هنگامی که یک قطعه کد را بازسازی می‌کنید، یکی از کارهایی که معمولاً می‌خواهید انجام دهید این است که تمام موارد تکراری آن کد را نیز بازسازی کنید. IntelliJ IDEA می‌تواند قطعات تکراری و مشابه را شناسایی کرده و بازآفرینی را روی آنها نیز اعمال کند.

IntelliJ IDEA کد شما را هنگام بارگیری و هنگام تایپ آنالیز می کند. بازرسی هایی را برای اشاره به مشکلات احتمالی (نشان داده شده در شکل ۱) و در صورت تمایل، فهرستی از راه حل های سریع برای مشکل شناسایی شده ارائه می دهد.

IntelliJ IDEA

شکل ۱. IntelliJ IDEA اکنون دارای یک تحلیلگر وابستگی و مدیر است که در پانل پایین تصویر نشان داده شده است. همانطور که در وسط پنجره بالا سمت راست نشان داده شده است، همچنین می تواند تمام موارد استفاده از یک متغیر را به نمایش بگذارد. پروژه بارگیری شده DeepLearning4j-examples است.

ارگونومی برنامه نویس

JetBrains IntelliJ IDEA را با flow، aka طراحی کرد “منطقه” در ذهن. پنجره ابزار Project در سمت چپ در شکل ۱ با یک کلیک ماوس از مسیر خارج می شود، بنابراین می توانید روی ویرایشگر کد تمرکز کنید. هر کاری که می خواهید در حین ویرایش انجام دهید دارای یک میانبر صفحه کلید است، از جمله نمایش تعاریف نمادها در یک پنجره بازشو. در حالی که یادگیری میانبرها به زمان و تمرین نیاز دارد، در نهایت آنها تبدیل به طبیعت دوم خواهند شد. در همین حال، حتی بدون دانستن میانبرها، یک توسعه‌دهنده می‌تواند به راحتی و به سرعت استفاده از IntelliJ IDEA را یاد بگیرد.

طراحی دیباگر IntelliJ IDEA بسیار زیبا است. مقادیر متغیر درست در پنجره ویرایشگر، در کنار کد منبع مربوطه نشان داده می‌شوند، و زمانی که وضعیت یک متغیر تغییر می‌کند، رنگ برجسته آن نیز تغییر می‌کند.

ابزارهای توسعه‌دهنده داخلی

IntelliJ IDEA یک رابط یکپارچه برای سیستم های کنترل نسخه اصلی از جمله Git، SVN، Mercurial، CVS، Perforce و TFS فراهم می کند. شما می توانید تمام مدیریت تغییرات خود را درست در IDE انجام دهید. همانطور که IntelliJ IDEA را آزمایش می‌کردم، آرزو می‌کردم که آخرین تغییر در بلوک کد منبع در پنجره ویرایشگر به‌عنوان یک حاشیه‌نویسی نمایش داده شود (مانند ویژوال استودیو). معلوم شد که افزونه ای برای آن وجود دارد.

IntelliJ IDEA همچنین ابزارهای ساخت، راه‌اندازهای آزمایشی و ابزارهای پوشش، و همچنین یک پنجره ترمینال داخلی را ادغام می‌کند. IntelliJ IDEA اکنون ابزارهای پروفایل مخصوص به خود را دارد، اما فقط در نسخه نهایی.

اشکال‌زدایی جاوا زمانی که چیزهای مرموز در کلاس‌هایی اتفاق می‌افتد که کد منبعی برای آنها ندارید می‌تواند دردسرساز باشد. IntelliJ IDEA با یک دیکامپایلر برای این موارد ارائه می شود.

برنامه نویسی سرور جاوا اغلب شامل کار با پایگاه داده است. IntelliJ IDEA Ultimate شامل ابزارهای پایگاه داده SQL است. یک ابزار همراه، DataGrip، یک SQL IDE اختصاصی است و به عنوان بخشی از اشتراک تمام محصولات موجود است که فقط کمی گرانتر از IntelliJ IDEA Ultimate است.

IntelliJ IDEA از همه سرورهای اصلی برنامه JVM پشتیبانی می‌کند و می‌تواند در سرورها مستقر شود و اشکال‌زدایی کند، و مشکل اصلی را برای توسعه‌دهندگان جاوا سازمانی برطرف کند. IntelliJ IDEA از طریق افزونه ای که پنجره ابزار Docker را اضافه می کند از Docker پشتیبانی می کند. وقتی صحبت از افزونه ها شد، IntelliJ IDEA بسیاری از آنها دارد.

نظرسنجی توسعه دهندگان: جاوا اسکریپت و پایتون حاکم هستند، اما Rust در حال افزایش است

تجربه چند زبانه

IntelliJ IDEA کمک کدنویسی را برای فریمورک‌های Spring، Java EE، Jakarta EE، Grails، Play، Android، GWT، Vaadin، Thymeleaf، Android، React، AngularJS و سایر چارچوب‌ها گسترش داده است. توجه داشته باشید که همه اینها فریمورک جاوا نیستند. IntelliJ IDEA بسیاری از زبان‌های دیگر از جمله Groovy، Kotlin، Scala، JavaScript، TypeScript و SQL را کاملاً درک می‌کند. در حال حاضر حدود ۱۹ افزونه زبان IntelliJ از جمله R، Elm و D.

وجود دارد

هزینه: سازمان‌ها در سال اول ۴۹۹ دلار به ازای هر کاربر پرداخت می‌کنند، با ۲۰ درصد تخفیف در سال دوم و ۴۰ درصد تخفیف در سال‌های بعد. افراد در سال اول ۱۴۹ دلار برای هر کاربر پرداخت می کنند، همچنین با ۲۰٪ تخفیف در سال دوم و ۴۰٪ تخفیف پس از آن. برای موارد آموزشی، متن باز، استارتاپ ها و سایر موارد خاص تخفیف در نظر گرفته شده است. همچنین یک دوره آزمایشی رایگان ۳۰ روزه وجود دارد.

پلتفرم‌ها: Windows، macOS، Linux.

کسوف

Eclipse که مدت‌ها محبوب‌ترین IDE جاوا بود، رایگان و منبع باز است و بیشتر به زبان جاوا نوشته می‌شود، اگرچه معماری پلاگین آن اجازه می‌دهد Eclipse به زبان‌های دیگر گسترش یابد. Eclipse در سال ۲۰۰۱ به عنوان یک پروژه IBM برای جایگزینی IDE های عصر ویژوال IBM مبتنی بر اسمال تاک با IDE های قابل حمل و مبتنی بر جاوا ایجاد شد. هدف دیگر این بود که مایکروسافت ویژوال استودیو را تحت الشعاع قرار دهیم، از این رو نام پروژه.

قابلیت حمل جاوا به Eclipse کمک می‌کند تا چند پلتفرمی باشد: Eclipse روی Linux، macOS، Solaris و Windows اجرا می‌شود. ابزارک ابزار استاندارد جاوا (SWT) حداقل تا حدی مسئول ظاهر و احساس Eclipse، برای خوب یا بد، و JVM برای عملکرد آن است – یا برخی می گویند، فقدان آن. شهرت Eclipse برای اجرا به آرامی به سخت افزارهای قدیمی و JVM های قدیمی باز می گردد. با این حال، هنگامی که خود را در پس‌زمینه به‌روزرسانی می‌کند، به‌خصوص زمانی که پلاگین‌های زیادی را نصب کرده‌اید، هنوز هم ممکن است آهسته به نظر برسد.

بخشی از هزینه های بالای Eclipse، کامپایلر افزایشی داخلی آن است که هر زمان که فایلی را بارگیری می کند و هر زمان که کد را تغییر می دهید اجرا می شود. این در تعادل چیز بسیار خوبی است و نشانگرهای خطا را هنگام تایپ ارائه می دهد.

مستقل از سیستم ساخت، یک پروژه Eclipse Java مدلی از محتویات خود را نیز حفظ می کند که شامل اطلاعاتی در مورد سلسله مراتب نوع و ارجاعات و اعلان عناصر جاوا می باشد. این نیز یک چیز خوب است و چندین دستیار ویرایش و پیمایش و همچنین نمای کلی را فعال می‌کند.

نسخه فعلی Eclipse 2022-3 است. من Eclipse Installer 2022-03 را دانلود و اجرا کردم و از آن برای نصب Eclipse IDE برای Enterprise Java و Web Developers استفاده کردم، سپس افزونه Java 18 را اضافه کردم. بسته‌های نصب بسیاری دیگر از جمله گزینه نصب حداقل Eclipse SDK و سپس افزودن افزونه‌ها در صورت نیاز وجود دارد. توجه داشته باشید که آخرین گزینه برای افراد ضعیف نیست: ایجاد تداخل بین افزونه هایی که در واقع گفتند ناسازگار نیستند، دشوار نیست.

اکوسیستم پلاگین یکی از نقاط قوت Eclipse است و همچنین منبع سردرگمی است. بازار Eclipse دارای بیش از ۱۵۰۰ راه حل در تعداد فعلی است، اما افزونه های ارائه شده توسط جامعه ممکن است همانطور که تبلیغ می شود کار کنند یا نکنند. ۱۵۰۰ افزونه عجیب و غریب شامل پشتیبانی از بیش از ۱۰۰ زبان برنامه نویسی و تقریباً ۲۰۰ فریمورک توسعه برنامه است. سرورهای جاوا با دامنه عمومی پشتیبانی می شوند: اگر اتصال سرور جدیدی را از Eclipse تعریف کنید، به لیستی از پوشه های فروشنده خواهید رسید که در زیر آن حدود ۱۴ سرور برنامه، از جمله ۱۱ نسخه Apache Tomcat را خواهید یافت. فروشندگان تجاری سرور برنامه جاوا قبلاً در اینجا فهرست می شدند، اما به طور پیش فرض در آخرین نسخه Eclipse نیستند.

ویرایش، مرور، بازآفرینی، و اشکال زدایی

اولین تجربه شما با Eclipse می تواند نگران کننده و حتی گیج کننده باشد. Eclipse مفاهیم منحصر به فردی مانند فضاهای کاری، پرسپکتیو و نماها دارد که عملکرد آنها با توجه به پلاگین هایی که نصب کرده اید تعیین می شود. برای توسعه سرور جاوا، احتمالاً از دیدگاه‌های جاوا، جاوا/جاکارتا EE، و مرور جاوا، نمای کاوشگر بسته، دیدگاه اشکال‌زدایی، چشم‌انداز همگام‌سازی تیم، ابزارهای وب، دیدگاه توسعه پایگاه داده و اشکال‌زدایی پایگاه داده استفاده می‌کنید. چشم انداز. در عمل، زمانی که نماهای مورد نیاز خود را باز کنید، همه اینها معنی پیدا می کنند.

نحوه تبدیل پایتون به جاوا اسکریپت (و دوباره برگشت)

Eclipse IDE

شکل ۲. از چپ به راست، کاوشگر پروژه Eclipse، کاوشگر منبع داده، ویرایشگر کد منبع با یک پنجره بازشو توضیحی برای حاشیه نویسی و طرح کلی کلاس را می بینیم. پروژه بارگذاری شده Google Guava است، مجموعه ای از کتابخانه های اصلی جاوا. صفحه ها را می توان به راحتی مرتب کرد.

اغلب بیش از یک راه برای انجام هر کار معین در Eclipse وجود دارد. به عنوان مثال، می توانید کد را با کاوشگر بسته و/یا چشم انداز مرور جاوا مرور کنید. انتخاب شما یک موضوع سلیقه و تجربه است.

پشتیبانی از جستجوی جاوا به شما امکان می‌دهد اعلان‌ها، مراجع، و موارد بسته‌ها، انواع، روش‌ها و فیلدهای جاوا را بیابید. همچنین می‌توانید از ویژگی دسترسی سریع برای جستجو و نماهای سریع برای نمایش مواردی مانند خطوط کلی کلاس استفاده کنید.

افزودن روش‌ها و تولید کلاس‌ها توسط حاشیه‌نویسی خطا و کمک محتوا پشتیبانی می‌شود. الگوهای کد رایج را می توان از الگوهای کد تولید کرد و Eclipse می تواند به طور خودکار عبارات import شما را تولید و سازماندهی کند. Refactoring جاوا در Eclipse از ۲۳ عملیات پشتیبانی می‌کند، از عملیات تغییر نام رایج تا تبدیل‌های مبهم‌تر از کتاب مارتین فاولر. Refactoring را می توان به صورت تعاملی یا از طریق اسکریپت های refactoring انجام داد.

Eclipse از اشکال زدایی هم به صورت محلی و هم از راه دور پشتیبانی می کند، با این فرض که از یک ماشین مجازی جاوا استفاده می کنید که از اشکال زدایی راه دور پشتیبانی می کند. اشکال زدایی نسبتاً استاندارد است: شما معمولاً نقاط شکست را تنظیم می کنید و سپس متغیرها را در یک برگه از دیدگاه اشکال زدایی مشاهده می کنید. البته می‌توانید از کد خود عبور کرده و عبارات را ارزیابی کنید.




IntelliJ IDEA برترین IDE جاوا از نظر ویژگی ها و قیمت است.

  • پشتیبانی عالی از جاوا و سایر زبان های JVM، به علاوه SQL، جاوا اسکریپت و TypeScript
  • پشتیبانی از Jakarta EE، Spring، GWT، Vaadin، Play، Grails و سایر فریمورک‌ها
  • ابزارهای پروفایل و تحلیلگر وابستگی
  • توسعه از راه دور و مشارکتی
  • گران تر از IDE های رقیب

NetBeans زمانی IDE رسمی Sun برای جاوا بود. آن زمان گذشته است، اما NetBeans هنوز یک IDE قابل دوام است، و رایگان و منبع باز است.

  • ویرایش، مرور، و اشکال زدایی بسیار خوب
  • انتخاب بزرگی از گزینه های بازسازی مجدد
  • ابزار Inspect and Transform می تواند تغییرات گسترده ای ایجاد کند
  • افزونه ها معمولاً سازگار هستند
  • آموزش ها قدیمی هستند (اما در حال بررسی هستند)
  • افزونه های کمتر از Eclipse

رایگان و منبع باز، Eclipse برای مدت طولانی محبوب ترین IDE جاوا بود.

  • ویرایش، مرور، و اشکال زدایی بسیار خوب
  • انتخاب بزرگی از گزینه های بازسازی مجدد
  • بیش از ۱۵۰۰ افزونه
  • مستندات فراوان
  • یادگیری سخت است
  • برخی از افزونه ها ناسازگار هستند
  • مستندات معمولا قدیمی هستند