JavaRush /مدونة جافا /Random-AR /Eclipse أم NetBeans أم IntelliJ IDEA؟ اختيار IDE لتطوير ج...
Bender
مستوى
Маунтин-Вью

Eclipse أم NetBeans أم IntelliJ IDEA؟ اختيار IDE لتطوير جافا

نشرت في المجموعة
Eclipse أم NetBeans أم IntelliJ IDEA؟  اختيار IDE لتطوير Java - 1نقدم انتباهكم إلى تعديل لمقالة كتبها مارتن هيلر، مبرمج ومحرر مورد JavaWorld. ربما تكون قد سمعت بالفعل عن أفضل ثلاثة بيئات تطوير متكاملة (IDE) شائعة لتطوير Java. يستخدم 90 بالمائة من المبرمجين الصناعيين إما Eclipse أو NetBeans أو IntelliJ IDEA، ولكل من هذه البيئات المتكاملة مميزاتها وعيوبها. سنحاول في هذه المقالة وصفها حتى تفهم أي منها مناسب لك. على الرغم من أنه من الأفضل بالطبع تجربة الثلاثة في العمل ومعرفة ما هو الأفضل بالنسبة لك. لا يمكن لأي مراجعة أن تحل محل هذا.

ما هي بيئة التطوير؟

الإجابة المختصرة جدًا هي أن بيئة التطوير هي برنامج أو برامج متعددة تستخدمها لإنشاء البرامج. تتضمن هذه العملية في الواقع كتابة التعليمات البرمجية وتصحيح أخطائها وتشغيلها ودمجها مع أنظمة التحكم في الإصدار. إذا كان المطورون السابقون يستخدمون في كثير من الأحيان محرر نص بسيط (أحيانًا حتى بدون تمييز بناء الجملة)، مثل المفكرة وسطر الأوامر، فإنهم الآن يستخدمون في أغلب الأحيان معالجات الكل في واحد، أو بيئات التطوير المتكاملة أو بيئة تطوير متكاملة.

ما هو IDE؟

بيئة التطوير المتكاملة أو باللغة الإنجليزية بيئة التطوير المتكاملة - IDE - هو برنامج يحتوي على أدوات لتطوير البرمجيات. عادةً ما تتضمن بيئة التطوير الحديثة ما يلي:
  • محرر النصوص مع تسليط الضوء على التعليمات البرمجية.
  • مترجم أو مترجم.
  • متصفح الفئة، مفتش الكائنات، ومخطط التسلسل الهرمي للفئة؛
  • أدوات أتمتة التجميع؛
  • مصحح الأخطاء؛
  • أدوات التكامل مع أنظمة التحكم في الإصدار (Git)؛
  • أدوات لتبسيط تصميم واجهة المستخدم الرسومية.
لقد عملت مع بيئات التطوير المتكاملة هذه من قبل، ولكن في هذه الدراسة قمت بتثبيت IntelliJ IDEA Ultimate 2016.2 وEclipse Neon Java EE وNetBeans 8.1 Java EE على كمبيوتر محمول MacBook Pro. لقد اختبرت IDE في العديد من مشاريع Java مفتوحة المصدر.

ما يمكن توقعه من IDE

يجب أن يدعم IDE الحديث لـ "مطور Java الصحي" Java 8 وScala وGroovy بالإضافة إلى لغات الآلة الافتراضية Java الأخرى التي يستخدمها بانتظام. سيكون دعم خوادم التطبيقات الرئيسية وأطر الويب الأكثر شيوعًا، بما في ذلك Spring MVC وJSF وStruts وGWT وPlay وWicket وGrails وVaadin، مفيدًا أيضًا. يجب أن يكون IDE متوافقًا مع أي إصدار لنظام التحكم في الإصدار، مثل Ant أو Maven أو Gradle، بالإضافة إلى Git أو SVN أو CVS أو Mercurial أو Bazaar. بالإضافة إلى ذلك، بالنسبة لبيئة التطوير، من المهم أن تكون قادرًا على العمل مع قواعد البيانات وطبقة العميل في مكدسك، للحصول على دعم لـ JavaScript وTypeScript وHTML وSQL وJavaServer Pages وHbernate، بالإضافة إلى Java Persistence المضمنة. واجهة برمجة التطبيقات. أخيرًا، من المنطقي أن نأمل أن يسمح لك IDE بتحرير الأنظمة وإنشائها وتصحيح أخطائها واختبارها دون أي ضغوط غير ضرورية. من الناحية المثالية، لا تدعم بيئة التطوير إكمال التعليمات البرمجية الذكية فحسب، بل تدعم أيضًا إعادة الهيكلة الذكية ومقاييس التعليمات البرمجية. في كثير من الحالات، سيكون من المفيد دعم أطر الاختبار والقواعد. إذا كان فريقك يستخدم نظام التذاكر وCI/CD، فأنت بحاجة إلى IDE لتتمكن من الاتصال بهم. وقرر ما إذا كنت بحاجة إلى النشر وتصحيح الأخطاء في الحاويات والسحابات. لقد أدرجنا التوقعات الأساسية فقط (ربما لديك ما تضيفه)، والآن دعونا نلقي نظرة فاحصة على منافسينا.

فكرة إنتيليج

Eclipse أم NetBeans أم IntelliJ IDEA؟  اختيار IDE لتطوير Java - 2فيما يتعلق بالميزات والسعر، يأتي IntelliJ IDEA في نسختين: إصدار المجتمع المجاني، والإصدار Ultimate المدفوع مع وظائف موسعة. تم تصميم إصدار المجتمع لتطوير JVM وAndroid. الإصدار المجاني يدعم Java وKotlin وGroovy وScala؛ ذكري المظهر؛ مخضرم، جرادل وSBT؛ يعمل مع أنظمة التحكم في الإصدار Git وSVN وMercurial وCVS. الإصدار النهائي مناسب لتطوير الويب والمؤسسات. لا يعمل هذا الإصدار من IDE مع Git وSVN وMercurial وCVS فحسب، بل يعمل أيضًا مع Perforce وClearCase وTFS؛ يمكنك الكتابة فيه بلغة JavaScript وTypeScript؛ وبطبيعة الحال، هناك دعم لـ Java EE، Spring، GWT، Vaadin، Play، Grails وعدد من الأطر الأخرى. وبالطبع، لا يمكننا الاستغناء عن SQL وأدوات العمل مع قواعد البيانات. الفكرة التي توجه مطوري هذا IDE عند تشكيل سياسة التسعير هي أن نسخته التجارية (Ultimate) ستأخذ مكانها على أجهزة الكمبيوتر الخاصة بالمحترفين، مما يؤدي إلى زيادة إنتاجيتهم. إذا كان مبرمج Java يكسب 50 ألف دولار سنويًا (أو أكثر)، فإن عائد الاستثمار الذي يتم إنفاقه على IDE IntelliJ IDEA المدفوع (500 دولار للاشتراك السنوي) سيحدث بسرعة كبيرة بسبب تسريع طفيف في عمله. في السنوات اللاحقة، ينخفض ​​سعر الشركات، أما بالنسبة للشركات الناشئة والمستقلين، فهو أقل بكثير، وبالنسبة للطلاب والمعلمين وأبطال Java ومطوري المصادر المفتوحة فهو مجاني تمامًا. يثير IntelliJ IDEA الإعجاب بفهمه العميق للتعليمات البرمجية وبيئة العمل الذكية وميزات التطوير المضمنة والدعم متعدد اللغات. Eclipse أم NetBeans أم IntelliJ IDEA؟  اختيار IDE لتطوير Java - 3
الشكل 1. يعرض IntelliJ IDEA عدد التحذيرات والتخمينات بناءً على التحليل الإحصائي لكود Java. ويمكنك دراسة الافتراضات بمزيد من التفصيل بالضغط عليها، كما هو موضح في الصورة؛ في كثير من الحالات سوف تتلقى قائمة بالاختيارات وخيارات التصحيح.

فهم عميق للكود

يعد تسليط الضوء على بناء الجملة وإكمال التعليمات البرمجية البسيطة أمرًا شائعًا لأي محرر Java حديث. ذهبت IDEA إلى أبعد من ذلك من خلال تقديم "الإكمال التلقائي الذكي". يعني هذا المصطلح أن بيئة التطوير تعرض قائمة بالرموز الأكثر صلة والمطبقة في سياق معين. قائمة الرموز لا تعتمد فقط على السياق في حد ذاته، السياق "المقبول عمومًا"، ولكن على أسلوب برمجة المطور، وعلى عدد المرات التي يستخدم فيها عوامل تشغيل معينة. يُظهر "إكمال السلسلة" أيضًا قائمة بالرموز القابلة للتطبيق المسموح بها من خلال الأساليب أو الحروف في السياق الحالي. بالإضافة إلى ذلك، بالنسبة للأعضاء الثابتة أو الثوابت، تضيف IDEA تلقائيًا أي بيانات استيراد ضرورية. في جميع حالات الإكمال التلقائي، تحاول IDEA تخمين نوع الرمز في وقت التشغيل، وتحسين اختياره، وحتى تطبيق نوع مصبوب إذا لزم الأمر. غالبًا ما يتضمن كود Java مقتطفات من لغات أخرى كسلاسل. يمكن لـ IDEA إدخال تعليمات برمجية SQL أو XPath أو HTML أو CSS أو JavaScript في سلسلة Java الحرفية. وبهذا المعنى، يمكن لـ IDE إعادة بناء التعليمات البرمجية بلغات متعددة. على سبيل المثال، إذا قمت بإعادة تسمية فئة في تعيين JPA، فسوف تقوم IDEA بتحديث كيان JPA وفئة التعبير المقابلة. عند إعادة بناء جزء من التعليمات البرمجية، يكون لدى المطور رغبة واحدة (طبيعية تمامًا): إعادة هيكلة جميع النسخ المكررة من هذا الرمز أيضًا. يعثر IDEA Ultimate على التكرارات والأجزاء المشابهة ويطبق عليها أيضًا عملية إعادة البناء. يقوم IntelliJ IDEA بتوزيع الكود عند التحميل ومباشرة عند إدخاله. فهو يشير إلى المشكلات المشتبه بها (كما في الصورة أعلاه) ويقدم اختياريًا قائمة بالحلول السريعة المحتملة للمشكلات التي تم العثور عليها.

بيئة العمل

Eclipse أم NetBeans أم IntelliJ IDEA؟  اختيار IDE لتطوير Java - 4تم تصميم IntelliJ IDEA بحيث لا يخرج المطور من حالة الإنتاجية المتدفقة بمجرد وجوده فيها بالفعل. تختفي نافذة المشروع، الموضحة في الصورة الأولى على اليسار، بنقرة بسيطة بالماوس حتى يتمكن المبرمج من التركيز على نافذة محرر التعليمات البرمجية. بالنسبة لجميع الإجراءات المطلوبة أثناء كتابة التعليمات البرمجية، توجد مجموعات مفاتيح للاتصال بها بسرعة، بما في ذلك تحديد الرموز في النوافذ المنبثقة. في البداية، يصعب تذكر كل هذه المجموعات، لكنك تعتاد عليها تدريجيًا وتستخدمها فقط. ومع ذلك، حتى لو كان المبرمج لا يستخدم اختصارات لوحة المفاتيح، كما يظهر الممارسة، فإنه يعتاد على العمل في IDEA بسهولة وبسرعة. أود أن أشير بشكل خاص إلى مصحح أخطاء IDEA: يتم عرض القيم المتغيرة مباشرة في نافذة المحرر، بجوار كود المصدر المقابل. عندما تتغير حالة المتغير، يتغير لون التمييز أيضًا.

أدوات مدمجة

يوفر IntelliJ IDEA واجهة واحدة للتفاعل مع معظم أنظمة التحكم في الإصدارات، بما في ذلك Git وSVN وMercurial وCVS وPerforce وTFS. يمكنك إدارة التغييرات مباشرة في IDE، وهو أمر مريح للغاية. عندما كنت أختبر IDEA، كانت لدي رغبة في أن يظهر التغيير الأخير في الكود المصدري في نافذة المحرر كتعليق توضيحي (كما يحدث، على سبيل المثال، في Visual Studio). كما اتضح، لدى IDEA مكون إضافي خاص لهذا الغرض. تأتي IDEA أيضًا مع أدوات البناء ووقت التشغيل الاختباري وأدوات التغطية ونافذة طرفية مدمجة. ليس لدى IntelliJ ملف التعريف الخاص به، ولكن يمكن توصيل ملفات تعريف الطرف الثالث به باستخدام المكونات الإضافية. على سبيل المثال، YourKit، الذي أنشأه مطور رئيسي سابق لـ JetBrains، أو VisualVM (وهو إصدار مُعاد تجميعه من ملف تعريف NetBeans). يمكن أن يكون تصحيح الأخطاء في Java أمرًا مؤلمًا عندما تحدث جميع أنواع الأشياء الغامضة للفئات التي ليس لديك مصدر لها. تتضمن IDEA أداة فك التحويل البرمجي لمثل هذه الحالات. تتطلب البرمجة من جانب الخادم في Java تفاعلًا متكررًا مع قواعد البيانات، لذلك سيقدر مبرمجو IDEA Ultimate سهولة الأدوات في العمل مع SQL وقواعد البيانات. ولكن إذا كانت قدراتهم ليست كافية لشخص ما، فيمكنك شراء إصدار IDEA Ultimate مع SQL IDE مدمج (DataGrip). ومع ذلك، سيكون أغلى قليلاً من اشتراك IDEA Ultimate العادي. يدعم IntelliJ IDEA جميع خوادم تطبيقات JVM الرئيسية، ويسمح لك بالنشر وتصحيح الأخطاء على هذه الخوادم، مما يزيل الصعوبات المألوفة لدى جميع مبرمجي Java Enterprise. تدعم IDEA أيضًا Docker (عبر مكون إضافي يضيف نافذة أداة Docker خاصة إلى بيئة التطوير. بالمناسبة، تحتوي IDEA على الكثير من المكونات الإضافية.  

متعدد اللغات الحقيقي

قامت IDEA بتوسيع دعم التعليمات البرمجية لـ Spring وJava EE وGrails وPlay وAndroid وGWT وVaadin وThymeleaf وAndroid وReact وAngularJS وأطر عمل أخرى. ربما لاحظت أنه ليست جميعها مخصصة لـ Java. "يفهم" IDEA اللغات الأخرى مباشرة خارج الصندوق - Groovy وKotlin وScala وJavaScript وTypeScript وSQL. إذا لم تجد اللغة التي تبحث عنها في هذه القائمة، فهناك حاليًا 19 مكونًا إضافيًا للغة IntelliJ، تدعم بشكل خاص R وElm وD.

الكسوف IDE

Eclipse أم NetBeans أم IntelliJ IDEA؟  اختيار IDE لتطوير Java - 5 منذ حوالي 10 سنوات، عندما سُئل عن أفضل بيئة تطوير متكاملة (IDE)، أجاب أحد مطوري Java بثقة: Eclipse. لسنوات عديدة، كانت بيئة التطوير هذه تحمل بثقة راحة اليد بين Java IDEs. هذه البيئة مجانية تمامًا، ومفتوحة المصدر، ومكتوبة بشكل أساسي بلغة Java. ومع ذلك، فإن بنيته المعيارية تسمح باستخدام Eclipse مع لغات أخرى. ظهر مشروع Eclipse، الذي بدأته شركة IBM، في عام 2001. لقد أرادوا استبدال عائلة IBM Visual Age لبيئات التطوير المستندة إلى Smalltalk. حسنًا، كان الهدف الرئيسي، كما يوحي الاسم، هو التفوق على Microsoft Visual Studio (الكسوف باللغة الإنجليزية يعني الكسوف). تساعد إمكانية نقل Java Eclipse على أن تكون بيئة متعددة المنصات: يعمل IDE هذا على Linux وMac OS X وSolaris وWindows. للأفضل أو للأسوأ، تعد Java Standard Widget Toolkit (SWT) مسؤولة جزئيًا على الأقل عن شكل ومظهر Eclipse. يدين Eclipse بأدائه (أو كما يقول بعض المهنئين، عدم وجوده) إلى JVM. يعمل Eclipse ببطء شديد، نظرًا لأنه متجذر في أجهزة قديمة نوعًا ما وإصدارات قديمة من JVM. حتى اليوم يبدو الأمر بطيئًا، خاصة إذا قمت بإرفاق الكثير من المكونات الإضافية به. يمكن أن تُعزى بعض النفقات العامة لموارد Eclipse إلى المترجم التزايدي المدمج، والذي يعمل عند تحميل ملف أو تحديث التعليمات البرمجية. شيء مفيد، فهو يلتقط الأخطاء عند إدخال النص. بغض النظر عن البنية، يحتفظ مشروع Eclipse بنموذج محتوى يحتوي على معلومات حول التسلسل الهرمي للأنواع والمراجع والإعلانات الخاصة بعناصر Java. الإصدار الحالي من Eclipse يسمى Neon (4.6.0). لقد قمت بتثبيت Eclipse Java EE IDE لمطوري الويب (هذا ليس الخيار الوحيد، يمكنك اختيار شيء آخر). أنه يحتوي على الحد الأدنى من Eclipse SDK ويتم إضافة المكونات الإضافية عند الطلب. بالمناسبة، العمل مع المكونات الإضافية في هذا IDE ليس لضعاف القلوب. غالبًا ما تتعارض المكونات الإضافية التابعة لجهات خارجية مع بعضها البعض، على الرغم من أن مواصفاتها الرسمية لا تقول شيئًا عن ذلك. Eclipse أم NetBeans أم IntelliJ IDEA؟  اختيار IDE لتطوير Java - 6
الشكل 2. من اليسار إلى اليمين، توجد أربعة أشرطة أدوات Eclipse: Package Explorer، وJava Editor، وJava Class Structure، وTask List. المشروع الذي تم تحميله في Eclipse في هذا الشكل هو إطار اختبار JUnit. يمكن تبديل اللوحات بسهولة.

دعم البرنامج المساعد

يعد النظام البيئي للمكونات الإضافية لـ Eclipse بمثابة قوة IDE وأحد مشكلاته الرئيسية. إنه بسبب عدم توافق المكونات الإضافية، في بعض الأحيان تتعطل التجميعات بأكملها، ويتعين على المبرمجين بدء العمل من جديد. يوجد حاليًا أكثر من 1700 مكون إضافي مكتوب لـ Eclipse، رسمية وغير رسمية، والتي قد تعمل أو لا تعمل بشكل جيد. تدعم مكونات Eclipse الإضافية أكثر من 100 لغة برمجة وما يقرب من 200 إطار عمل لتطوير التطبيقات. معظم خوادم Java مدعومة أيضًا: إذا قمت بتعيين اتصال خادم جديد من Eclipse، فسيتم نقلك إلى قائمة مجلدات البائعين حيث ستجد حوالي 30 خادم تطبيق. سيكون هناك ما يصل إلى تسعة أنواع مختلفة من Apache Tomcat وحدها. يميل البائعون التجاريون إلى تجميع حلولهم معًا: على سبيل المثال، لا يوجد سوى عنصر Red Hat JBoss الوسيط واحد فقط، وستجد بداخله أدوات خادم WildFly وEAP، بالإضافة إلى JBoss AS.

التحرير وإعادة البناء والتصحيح

قد تكون تجربتك الأولى مع Eclipse مربكة وحتى مربكة. الخطوة الأولى هي إعداد Eclipse والتعود على بنيته المفاهيمية لمساحات العمل وطرق العرض وطرق العرض. يتم تحديد كل هذا من خلال المكونات الإضافية التي قمت بتثبيتها. بالنسبة لتطوير Java من جانب الخادم، من المحتمل أن تستخدم طرق عرض تصفح Java وJava EE وJava، وعرض Package Explorer، وعرض تصحيح الأخطاء، وعرض مزامنة أوامر أدوات الويب، وعرض تطوير قاعدة البيانات، وعرض تصحيح أخطاء قاعدة البيانات. في الممارسة العملية، كل شيء يصبح منطقيا عندما تفتح النوافذ التي تحتاجها. يقدم Eclipse دائمًا عدة طرق لحل مشكلة معينة. على سبيل المثال، يمكنك عرض التعليمات البرمجية باستخدام منظور تصفح Java. ما تختاره هو مسألة ذوق واختيار. يتيح لك بحث Java الخاص العثور على الإعلانات والمراجع وتكرارات حزم Java وأنواعها وأساليبها وحقولها. يمكنك أيضًا استخدام الوصول السريع للبحث والمعاينة. يمكن إنشاء أنماط التعليمات البرمجية الشائعة من قوالب التعليمات البرمجية. تدعم Java Refactoring في Eclipse 23 عملية، تتراوح من عمليات إعادة التسمية الشائعة إلى التحويلات الأقل وضوحًا (كما في كتاب Martin Fowler). يدعم Eclipse تصحيح الأخطاء المحلي والبعيد، بشرط أن تستخدم JVM الذي يدعم تصحيح الأخطاء عن بعد. يعد تصحيح الأخطاء أمرًا قياسيًا إلى حد ما: حيث تقوم بتحديد نقاط التوقف ثم عرض المتغيرات في علامة تبويب التصحيح. بالطبع، يمكنك التنقل خلال التعليمات البرمجية الخاصة بك وتقييم التعبيرات. لدى Eclipse قاعدة بيانات واسعة من الوثائق ذات الأعمار والقيم والفوائد المختلفة. لسوء الحظ، فإن العثور على صورة في التعليمات لا تتوافق مع الإصدار الحالي، على سبيل المثال، بواجهة قديمة وتخطيط زر، هو أمر شائع في IDE هذا. لسوء الحظ، مشكلة تحديثات الوثائق المتأخرة شائعة جدًا في أي مشروع كود مصدر.

نتبيانز

Eclipse أم NetBeans أم IntelliJ IDEA؟  اختيار IDE لتطوير Java - 7بدأت NetBeans كمشروع طلابي جامعي في براغ عام 1996. في عام 1997، أصبح IDE منتجًا تجاريًا، وفي عام 1999 تم شراؤه بواسطة شركة Sun Microsystems (الشركة الأم لـ Java) وفي العام التالي قدم إصدارًا مفتوح المصدر. يعمل الإصدار الحالي 8.1 على الأجهزة التي تعمل بنظام التشغيل Windows وMac OS X وLinux وSolaris. حسنًا، يمكن تشغيل الحزمة المحمولة على أي نظام يوجد به جهاز Java. لقد قمت بتنزيل حزمة Java EE بنفسي، وهي واحدة من ست حزم تنزيل محتملة. تدعم هذه الحزمة JavaScript وHTML وGlassFish وTomcat، ولكنها لا تدعم PHP وC/C++/Fortran وGroovy وGrails: يمكن الحصول عليها في الحزمة "All Inclusive" (أو ببساطة "All"). ومع ذلك، إذا رغبت في ذلك، يمكنني تنزيل الدعم للغات المذكورة أعلاه في أي وقت عن طريق تحديد المكون الإضافي المناسب (أو أي مكون آخر). يحتوي NetBeans على عدد أقل من تلك العناصر من Eclipse، لكنها عادةً لا تتعارض مع بعضها البعض. وفي خريف هذا العام، قررت شركة Oracle (التي استحوذت على NetBeans بعد استحواذها على شركة Sun Microsystems) نقل بيئة التطوير هذه تحت جناح مؤسسة Apache Software Foundation، إلى جانب جميع الحقوق وكود المصدر والعلامة التجارية والمجال "netbeans.org" وعدد من البنى التحتية الأخرى. عناصر. لذلك، لا يزال مستقبل المشروع غامضًا، على الرغم من أن النظام كان يتمتع في السابق بامتيازات معينة ذات صلة. وبالتالي، كان NetBeans هو أول من تلقى الدعم لـ Java 8 فورًا تقريبًا بعد إصدار النظام الأساسي المحدث، وكان يُطلق عليه "IDE الرسمي لـ Java 8". ومع ذلك، بعد شهر من صدوره، فقدت هذه الميزة: ثم تلقت IDEs الأخرى أيضًا دعمًا لـ Java 8. ومع ذلك، أريد أن أشير إلى أن دعم NetBeans لـ Java 8 جيد حقًا، وأن IDE رائع لدمج حيل Java 8 في تعليمات برمجية "قديمة". سيساعد المحررون ومحللو الأكواد والمحولات المبرمج على ترقية الأكواد البرمجية باستخدام بنيات نموذجية لـ Java 8 - تعبيرات لامدا، والعوامل الوظيفية، ومراجع الأساليب. تقوم مكونات JavaScript الإضافية في NetBeans 8 بعمل رائع في دعم Node.js وأحدث أدوات JavaScript مثل Gulp وMocha، بالإضافة إلى دعم مترجم Nashorn JavaScript. Eclipse أم NetBeans أم IntelliJ IDEA؟  اختيار IDE لتطوير Java - 8
الشكل 3. هنا يقوم NetBeans بتشغيل نفس المشروع المستند إلى Maven والذي تم فتحه IntelliJ IDEA في الشكل 1. لاحظ الوظيفة المحسنة في قائمة السياق والقائمة الفرعية لإعادة البناء

التحرير وإعادة البناء

يدعم NetBeans Editor اللغات، ويكتشف الأخطاء أثناء الكتابة، ويساعدك في تلميحات الأدوات وإكمال التعليمات البرمجية الذكية. وفقًا للشعور الذاتي، يتعامل IDE مع هذه المهمة بشكل أسرع من Eclipse، ولكنه أبطأ إلى حد ما من IntelliJ IDEA. بالإضافة إلى ذلك، لدى NetBeans مجموعة كاملة من أدوات إعادة الهيكلة (كما هو موضح في الشكل 3) التي تسمح للمبرمج بإعادة هيكلة التعليمات البرمجية دون كسرها، وإجراء تحليل المصدر، كما تقدم أيضًا مجموعة واسعة من التلميحات للإصلاحات السريعة أو ملحقات التعليمات البرمجية. يتضمن NetBeans أداة تصميم Swing GUI، المعروفة سابقًا باسم "Project Matisse". يقدّر المطورون بشدة أداة إعادة البناء الآلية Inspect & Transform، التي تم تقديمها في NetBeans 7.1. يسمح لك بتحليل كود المشروع وإجراء التحسينات المقترحة. على الرغم من أنني شخصيًا أفضل اختبار جميع التعليمات البرمجية الخاصة بي باستخدام اختبارات الوحدة أولاً، وبعد ذلك فقط تشغيل الأدوات التي يمكنها إجراء تغييرات جذرية. لقد عانيت مرارًا وتكرارًا من جميع أنواع التصحيحات التلقائية التي أدت إلى عواقب لا يمكن إصلاحها.

البناء والتصحيح والتوصيف

يتمتع NetBeans بدعم أصلي ممتاز لـ Maven وAnt، بالإضافة إلى مكون إضافي لـ Gradle. لقد كنت سعيدًا جدًا عندما اكتشفت أن النظام يعامل مشاريع Maven على أنها "أصلية". وهذا يعني أنه يمكن ببساطة فتحها بدلاً من استيرادها. يحتوي NetBeans أيضًا على عرض رسومي جذاب (ومفيد) لتبعيات Maven. إن مصحح أخطاء NetBeans Java ليس سيئًا، ولكنه يأتي مع بعض التحذيرات. يسمح مصحح الأخطاء المرئي المنفصل للمبرمج بالتقاط لقطات شاشة للواجهة الرسومية للمستخدم واستكشاف واجهات التطبيقات التي تم إنشاؤها باستخدام JavaFX وSwing. يوضح ملف تعريف NetBeans كيفية استخدام وحدة المعالجة المركزية والذاكرة، ويحتوي على أدوات ممتازة للعثور على تسرب الذاكرة.

أي جافا IDE أفضل؟ مقارنة الثلاثي العمالقة

لقد استخدمت جميع بيئات التطوير المتكاملة الثلاثة، Eclipse وNetBeans وIntelliJ IDEA، على مر السنين بالترتيب الزمني المدرج. في كل مرة قمت فيها بالتبديل إلى بيئة تطوير متكاملة (IDE) مختلفة، شعرت أن إنتاجيتي زادت. ولكن حتى عندما كنت على قناعة راسخة بأن IDEA هي خياري النهائي، كان علي في بعض الأحيان العودة إلى أحد المشروعين المتبقيين. كان هذا هو الحال، على سبيل المثال، في الوقت الذي كانت فيه Eclipse هي الأداة الوحيدة التي تدعم تطوير Android (يوجد اليوم Android Studio، IDE الرسمي الحالي لنظام Android، وهو يعتمد على IntelliJ IDEA). بالطبع، جميع بيئات التطوير المتكاملة الثلاثة لها معجبين ومنتقدين. أعرف الكثير من مطوري Java الذين يحبون IntelliJ IDEA، بالإضافة إلى معجبي Visual Studio C++ وC# المخلصين. في أغلب الأحيان، يكون هؤلاء الأشخاص سعداء بحقيقة أن إنتاجيتهم قد زادت، ويتم استرداد تكلفة الاشتراك السنوي بعد بضعة أسابيع فقط من استخدام النسخة المدفوعة من IDEA. ومع ذلك، غالبًا ما يرتبط مستخدمو NetBeans وEclipse بأدواتهم ويتساءلون عن سبب استعداد المبرمجين الآخرين لدفع المال مقابل IDEA. أنصح مطوري Java الجدد بالابتعاد عن Eclipse. على الرغم من أنه لا يزال IDE الأكثر شيوعًا لـ Java، إلا أنه من الصعب على المبتدئين: من السهل أن تضيع في براري Eclipse، سواء أثناء نشر النظام أو أثناء العمل اليومي. يمتلك Eclipse النظام البيئي الأكثر شمولاً للمكونات الإضافية بين جميع بيئات التطوير المتكاملة (IDEs)، وهو أيضًا الأكثر احتمالية للتعطل بسبب تثبيت مجموعة غير متوافقة من نفس هذه المكونات الإضافية. لسوء الحظ، أثناء استخدام Eclipse، اضطررت مرارًا وتكرارًا إلى إزالة مجموعة معطلة أخرى من IDE وتثبيت حزمة "نظيفة". يعد NetBeans مفيدًا لمعظم المطورين، فهو يحتوي على ملف تعريف رائع، وأنا أستخدمه أحيانًا. ومع ذلك، أفضل الدفع مقابل IntelliJ IDEA Ultimate. ولا يزال مستقبل NetBeans غير واضح. بالنسبة لمطوري Java الجدد الذين ليس لديهم الميزانية لشراء الأدوات بعد، أوصي باستخدام NetBeans أو IntelliJ IDEA Community Edition حسب احتياجاتهم. الخيار الأول يستحق الاختيار لأولئك الذين يقومون ببرمجة خوادم Java، ولكن فقط إذا كنت لا تندرج ضمن فئة أولئك الذين يمكنهم الحصول على IntelliJ IDEA Ultimate مجانًا أو بخصم كبير (الطلاب أو هؤلاء المبرمجين الذين يقومون بتطوير مصدر مفتوح مشروع).

"الخفيف" جافا IDE

اليوم، يستخدم معظم مطوري Java IDEA أو NetBeans أو Eclipse، ولكن في بعض الأحيان تكون هناك حاجة إلى بيئات تطوير أخف أو حتى برامج تحرير التعليمات البرمجية مثل Sublime Text أو emacs أو vim التي تدعم مكونات Java الإضافية. لقد أدرجت أدناه خيارات معقولة لأولئك الذين يبحثون عن شيء أخف قليلاً:
  • DrJava — небольшая бесплатная среда разработки. Её создали для студентов Университета Райса, и она стала довольно популярной: DrJava загрузor уже более 2 млн раз. DrJava призвана развивать разработку, основанную на тестировании (test-driven development). Среда содержит «умный» редактор codeа, панель взаимодействия для оценки codeа applications, отладчик уровня источника и инструменты модульного тестирования.
  • BlueJ бесплатная среда разработки Java, созданная специалистами Кентского университета для начинающих программистов. Эта среда поддерживается Oracle. BlueJ отличается гораздо более лаконичным и простым интерфейсом, чем профессиональные IDE, такие, How NetBeans or Eclipse, и даже содержит специальный учебник по основам ООП.
  • JCreator — ещё одна небольшая Java IDE для Windows, написанная на C++ (из соображений увеличения производительности). Платная version Pro оснащена отладчиком, поддержкой Ant и code wizards, ну а бесплатная version (LE) — нет.
  • Eclipse Che — браузерная облачная IDE: Java, C++, JavaScript, Python, PHP, Ruby и SQL — список языков, которые она поддерживает. .

Выбор Java IDE в зависимости от проекта

لقد حاولت وصف الفوائد المهمة لكل من أهم ثلاثة برامج Java IDE وذكرت بإيجاز منافسيها الصغار المفيدين. لاختيار بيئة تطوير Java المناسبة، تحتاج إلى الموازنة بين الإيجابيات والسلبيات ومطابقتها مع احتياجاتك واحتياجات مشاريعك. إذا كنت تنضم إلى فريق، فمن الجيد استخدام نفس IDE الذي يستخدمه المطورون الآخرون، على الرغم من أنه ليس مطلوبًا. إذا كان فريقك يستضيف مصادر على GitHub، فمن الطبيعي أن يكون الأمر أكثر ملاءمة إذا كان IDE الخاص بك يدعم GitHub. نعم، يمكنك التعامل مع نقل التعليمات البرمجية بدون IDE باستخدام عميل GitHub أو سطر أوامر git. ولكن ما مدى فعالية مثل هذه القفزات بين الأنظمة المختلفة؟ من المهم أيضًا أن يدعم IDE نظام البناء. على سبيل المثال، إذا كان Maven، فمن غير المرجح أن ترغب في إعادة بناء النظام في Ant للاختبار المحلي. لحسن الحظ، تدعم جميع بيئة Java IDE الثلاثة الكبيرة Ant وMaven وGradle، إما خارج الصندوق أو باستخدام مكون إضافي. ولكن بالنسبة لبيئات التطوير المتكاملة "الصغيرة" قد لا يكون هذا صحيحًا. إنها رغبة طبيعية لبيئة التطوير لدعم إصدار JRE المستخدم في المشروع. إذا كانت الإصدارات غير متطابقة، فهناك احتمال كبير للحصول على الكثير من الأخطاء الإضافية، والتي، على سبيل المثال، سوف تظهر فيك، ولكن ليس في أعضاء الفريق الآخرين. من غير المرجح أن يكون لمثل هذا الموقف تأثير جيد على الكارما الخاصة بك. بصراحة، من المرجح أن يحدث عدم تناسق JRE بسبب أخطاء التكوين أكثر من عدم وجود دعم IDE، إلا إذا لم يتم تحديث IDE بعد إلى إصدار جديد من Java. فقط صدق أنه إذا كان IDE الخاص بك يدعم بشكل كامل الأطر والتقنيات المستخدمة في المشروع، فهذا يساعد حقًا في تسريع العمل. سوف تتمكن على الأرجح من إدارتها على أي حال. ولكن، إذا فهم IDE كيفية ارتباط عبارات JPA بكيان JPA وفئات التعبير (مثل IntelliJ)، فسوف تقضي وقتًا أقل بكثير في التعليمات البرمجية المرتبطة بـ JPA مما لو كنت قد أسأت الفهم تمامًا. حسنًا، إذا كان IDE يدعم إطار عمل الاختبار ومنفذ التعليمات البرمجية المستخدم للمشروع، فيمكنك إجراء الاختبارات دون تغيير بيئة العمل. سيؤدي هذا أيضًا إلى تسريع عملية التطوير. وأخيرًا، يصبح العمل أسرع إذا كان IDE متوافقًا مع نظام تتبع الأخطاء ونظام التذاكر الخاص بالمشروع. مرة أخرى، يمكنك استخدام عميل مستقل أو عميل ويب، على سبيل المثال JIRA، ولكن من الصعب الاختلاف على أن التحقق من التذاكر يكون أسرع بكثير دون تغيير النافذة، مع البقاء مباشرة في IDE.

مجاني أم مدفوع؟

بعد اختبار IntelliJ IDEA Ultimate، شعرت أن لدي بيئة التطوير المناسبة. نوع من كاديلاك عالم IDE. لن أقول بشكل لا لبس فيه أن IDEA هو أفضل IDE لجافا، ولكن هذا هو الحال بالنسبة لي. مرة أخرى، على الرغم من أنه ليس مجانيًا، أعتقد أن مكاسب الإنتاجية من استخدامه تستحق الاشتراك السنوي. بالنسبة للمبتدئين الذين لا يستطيعون تحمل تكلفة اشتراك IntelliJ IDEA Ultimate السنوي، أوصي باستخدام NetBeans بدلاً من Eclipse. بالطبع، يعد النظام البيئي لمكونات Eclipse الإضافية اليوم أكثر تطورًا بكثير من أي نظام IDE آخر، ولكنه متضخم جدًا وغير مهذب: يخاطر المطور المبتدئ بالتعثر في غابة IDE وJava والانغماس في العمل سوف يتلاشى في الخلفية . كما تطرقت إلى البدائل "خفيفة الوزن"، والتي تم تطوير اثنتين منها خصيصًا للأغراض التعليمية. حسنًا، إذا كنت قد بدأت للتو في تعلم اللغات وتفضل بيئة بسيطة - فلماذا لا؟
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION