JavaTM IDE Shootout - PowerPoint PPT Presentation

1 / 52
About This Presentation
Title:

JavaTM IDE Shootout

Description:

Good CVS/ANT integration. Local version control ... Outstanding CVS integration: ... Auto adds/removes files in CVS when moved or renamed. Slick graphical diffs ... – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 53
Provided by: chariots
Category:
Tags: ide | javatm | cvs | shootout

less

Transcript and Presenter's Notes

Title: JavaTM IDE Shootout


1
JavaTM IDE Shootout
Eclipse, Emacs, IDEA, JDeveloper, NetBeansTM
Software
  • Don Coleman
  • Joel Confino
  • Peter Koletzke

2
Goal of This Session
You know your text editor is great, but do you
really know what youre missing?
Discover the best and the worst of five of the
most popular JavaTM technology IDEs
3
Agenda
  • Overview of the playing field
  • Common features
  • The best and the worst of
  • Eclipse
  • Emacs
  • IntelliJ Idea
  • JDeveloper
  • NetBeansTM software
  • Discussion and Q A

4
Overview of the Playing Field
Eclipse
  • Open Source License
  • Free
  • Java technology IDE uses the JDT plugin set
  • Runs on any platform with both a JVMTM software
    and SWT implementation (Windows, Linux, SolarisTM
    OS, AIX, HP-UX, Mac OS X)
  • Graphical Interface
  • http//www.eclipse.org/

5
Overview of the Playing Field
Emacs
  • Open Source License
  • Free
  • Use the JDEE ECB Plug-ins
  • Runs on Linux, Mac OS X, Windows, most UNIX
    platforms
  • Both text-based and graphical interfaces
  • http//www.gnu.org/software/emacs/emacs.html
  • http//jdee.sunsite.dk/
  • http//ecb.sourceforge.net/

6
Overview of the Playing Field
JetBrains IntelliJ IDEA 4.0
  • Commercial License
  • Price
  • Personal License - 249
  • Standard License - 499
  • Runs on Windows, Linux, Mac OS X
  • Graphical Interface
  • http//www.intellij.com/

7
Overview of the Playing Field
Oracle JDeveloper 10g
  • Commercial License
  • Price
  • Full version 995
  • Free download with no time limit for evaluation
  • Runs on Windows, Linux, Solaris OS, HP-UX, Mac OS
    X
  • Graphical Interface
  • http//otn.oracle.com/products/jdev

8
Overview of the Playing Field
NetBeans Software
  • Open Source License
  • Free
  • Runs on any platform with a Java virtual machine
  • Graphical interface
  • http//www.netbeans.org/

9
Common Features
Dont leave home without them
  • Code completion
  • Structure view (fields/methods/properties)
  • CVS Integration
  • Ant Integration
  • Plug-ins (though API varies)
  • Easy access to JavaDocTM tool
  • Some J2EETM platform features
  • Debugger support
  • Error highlighting

10
Agenda Progress
  • Overview of the playing field
  • Common features
  • The best and the worst of
  • Eclipse
  • Emacs
  • IntelliJ Idea
  • JDeveloper
  • NetBeans Software
  • Discussion and Q A

11
(No Transcript)
12
Eclipse
The good
  • Open source / Free
  • Trivial install
  • Starts fast
  • SWT UI looks good and is very responsive
  • Can save screen layouts called perspectives (e.g.
    one for coding, another for debugging, another
    for profiling)
  • Refactoring support (rename, move, pull up, push
    down, extract interface, use supertype where
    possible)

13
Eclipse
The good
  • Java source code scrapbook editor (select a code
    snippet, evaluate it, and display the result as a
    string, save snippets)
  • Excellent plug-in support
  • Many commerical plug-ins available, including
    OptimizeIt, JasperAssistant, profiling,
    Hibernate, regular expression testers, etc.
  • Includes templates and text shortcuts (generate
    getters/setters, delegate methods, system output,
    method declarations, loops) and template
    generation with a syntax like the JSPTM
    architecture

14
Eclipse
The good
  • Good CVS/ANT integration
  • Local version control
  • Shows javadoc for a class or method as a tooltip
    (mouse hover), and when using code completion
  • Good navigation (declaration, type hierarchy,
    call hierarchy, supertype, filename)
  • Multiple projects in same window, the build for
    one project can depend on another project
  • Includes error-highlighting, spell check
  • Large, active developer community

15
Eclipse
The bad
  • The platform is not Java language-specific, thus
    some terms and procedures are too generic
  • Potentially higher learning curve (for example,
    the menus are not intuitive)
  • Version 3.0M8 (which is beta) had some
    performance issues, 3.0RC6 looks better 3.0
    Final out June 30th
  • No out-of-the-box JSP technology support

16
Eclipse
The ugly
  • Too generic hard for new developers to get a
    handle on

17
Eclipse
Summary
  • Open source
  • Free
  • Very strong plugin support (some free some
    commercial)
  • Large feature set, higher learning curve

18
Agenda Progress
  • Overview of the playing field
  • Common features
  • The best and the worst of
  • Eclipse
  • Emacs
  • IntelliJ Idea
  • JDeveloper
  • NetBeans Software
  • Discussion and Q A

19
(No Transcript)
20
Emacs
The good
  • Lightweight, compared to many IDEs
  • Split buffer to simultaneously edit multiple
    files
  • Auto indentation (hit TAB and code goes to the
    right position)
  • Key bindings for commands (We don't need no
    stinkin' mice)
  • Completely customizable (If you don't like
    something, change it)
  • Many custom packages are available (plug-ins)

21
Emacs
The good
  • Code completion (most people don't realize this
    is available)
  • Wizards for common features (imports, implement
    interface, getters/setters, delegate methods,
    etc.)
  • Ant integration
  • Excellent CVS integration
  • J2EE Technology Wizards (new Session/Entity
    beans)
  • JavaDoc tool skeletons for easy documentation

22
Emacs
The good
  • Keyword and template expansion
  • Regular expression search and replace
  • Embedded BeanShell scripting environment
  • Supports languages other than the Java language
  • Supports XML and DocBook
  • Free
  • Highest version number, darn it!
  • Not vi

23
Emacs
The bad
  • Code navigation not as good as other IDEs
  • Learning curve for key bindings
  • Cut and paste with problems with some other
    applications (UNIX)
  • Installation and configuration is a bit complex
  • JSP technology support limited
  • Refactoring
  • LISP
  • Old school UI

24
Emacs
The ugly
Need we say more?
25
Emacs
Summary
  • Java Technology Development Environment for Emacs
    (JDEE) is essential
  • Emacs Code Browser ECB is a nice addition
  • Powerful tool, but not as slick as "modern" IDEs
  • Not for everyone it needs to fit the way you work

26
Agenda Progress
  • Overview of the playing field
  • Common features
  • The best and the worst of
  • Eclipse
  • Emacs
  • IntelliJ Idea
  • JDeveloper
  • NetBeans Software
  • Discussion and Q A

27
(No Transcript)
28
IntelliJ IDEA
The good
  • Assists you "on the fly" (adds imports, completes
    quotes and braces, prompts to handle exceptions)
  • Can avoid mouse almost entirely hot keys
    include
  • Surround with try/catch with appropriate
    exceptions
  • Surround with other blocks (synchronized,
    if/while, etc.)
  • Implement/override methods
  • Create getters/setters/constructors
  • Create equals and hashcode methods
  • Most dialogs are easy to navigate by keyboard
  • Great templates (iterate array/collection, main,
    stdout)
  • Smart about choosing types and variables for
    templates

29
IntelliJ IDEA
The good
  • Excellent navigation, no need to wade through
    packages or structure trees
  • Excellent refactoring (extract variables,
    methods, interfaces, push, pull, etc.)
  • Code folding (hides imports by default, lets you
    collapse large methods, comments or arbitrary
    blocks of code)
  • Outstanding CVS integration
  • Check one box and it works no need to configure
    anything or check out the project again
  • Auto adds/removes files in CVS when moved or
    renamed
  • Slick graphical diffs
  • Editor highlights diffs in the gutter/margin

30
IntelliJ IDEA
The good
  • Ant integration (Ant task bar, code/property
    completion within Ant build files even without
    DTD)
  • JUnit Integration (right-click to run test/all
    tests)
  • Excellent XML support / code completion
  • For EJB beans, generates warnings or errors for
    mismatched interface/impl methods, use of
    inappropriate APIs (File, etc.)
  • For JSP pages, import handling, error display,
    and code completion for custom tags and
    scriptlets
  • Local version control
  • Plug-in API, lots of plug-ins available

31
IntelliJ IDEA
The bad
  • Popup advice doesnt interrupt typing, but
    sometimes obscures code
  • Multiple projects multiple windows
  • Limited J2EE platform-based server integration
  • Great for the seasoned developer, not
    point-and-clickers
  • Not open source

32
IntelliJ IDEA
The ugly
  • Modules
  • Project setup was simple and intuitive in v3
  • v4 wants you to arrange your project in modules
    to support Web and EJB architecture features
  • Overall, project setup is more of a pain
  • Okay once you get used to it, but could
    definitely use improvement!

33
IntelliJ IDEA
Summary
  • Really understands Java technology
  • Accelerates your way of coding instead of
    interrupting the flow with wizards or mouse
    clicks
  • Error highlighting and helper functions are so
    good youll never need to compile
  • Not free, but well worth the price

34
Agenda Progress
  • Overview of the playing field
  • Common features
  • The best and the worst of
  • Eclipse
  • Emacs
  • IntelliJ Idea
  • JDeveloper
  • NetBeans Software
  • Discussion and Q A

35
(No Transcript)
36
(No Transcript)
37
Oracle JDeveloper
The good
  • Every step of the life cycle in one tool
  • UML, coding, debugging, profiling, deployment
  • Choice of development styles
  • Coder/Visual Declarative/Everything in between
  • Visual Editor for JSP spec./HTML, JFC/Swing API
    AWT
  • Visual Struts Page Flow modeler
  • Visual Design of Java language, EJB architecture
  • Code-View/Design-View Synchronization
  • No separate generation stepalways synchronized
  • Underlying code always accessible

38
Oracle JDeveloper
The good
  • Choice of Application Servers, DBs
  • Deployment wizards for Oracle AS, BEA, JBoss,
    Tomcat
  • Choice of Persistence Architecture
  • EJB, TopLink, JavaBeansTM, ADF Business
    Components
  • Built in J2EE platform-based container
  • Ant, CVS, JUnit integrated into the IDE
  • Extensive Web Services and XML support
  • Database development features
  • Extension SDK and many plug-ins

39
Oracle JDeveloper
The good
  • End-to-End J2EE Development Framework
  • Based on Model-View-Controller Architecture
  • Built in Design-Patterns
  • Visual and Declarative development
  • Technology choice for each layer
  • Complete version with no time restriction
    downloadable from http//otn.oracle.com
  • Only 995 for the full version

40
Oracle JDeveloper
The bad
  • Only one packaging with all the features
  • Limited refactoring support
  • Only 3 of the UML diagrams
  • Excellent support for the Oracle DB but not
    perfect for other databases
  • Not many books about it out there
  • Requires a strong PC (512mb)
  • Doesnt integrate with PVCS and MS VSS

41
Oracle JDeveloper
The ugly
  • JDeveloper's interface looks a little outdated
    compared to modern UIs.

42
Oracle JDeveloper
Summary
  • Complete and Integrated
  • Full development lifecycle
  • One tool for Java, Web Services, XML, PL/SQL
  • Easy to Use and Productive
  • Improved coding productivity
  • Visual and declarative development
  • Oracle Application Development Framework (Oracle
    ADF)
  • Standard, Open, and Extensible
  • Support for latest J2EE standards
  • Open source framework integration
  • Open Extension API

43
Agenda Progress
  • Overview of the playing field
  • Common features
  • The best and the worst of
  • Eclipse
  • Emacs
  • IntelliJ Idea
  • JDeveloper
  • NetBeans
  • Discussion and Q A

44
(No Transcript)
45
NetBeans Software
The good
  • Stores project settings in an Ant build file
  • Can use existing Ant file for fast project setup
  • Doesnt default to being too helpful
  • Not the NetBeans software you remember
  • No longer need to mount filesystems
  • CVS integration very smooth
  • Open Source
  • Can use as application framework/platform as well
    as IDE

46
NetBeans Software
The bad
  • Limited refactoring
  • Too many configuration options
  • Latest versions dont have great documentation
  • Release cycle too fast for presentations where we
    submit slides in advance!

47
NetBeans Software
The ugly
  • Often a generation behind commercial offerings
    (hopefully v4 will be stable when you read this)

48
NetBeans Software
Summary
  • Easy to install and run on any platform that has
    a Java virtual machine
  • Competitive features
  • Great architecture

49
Agenda Progress
  • Overview of the playing field
  • Common features
  • The best and the worst of
  • Oracle JDeveloper
  • Eclipse
  • Emacs
  • IntelliJ Idea
  • NetBeans Software
  • Discussion and Q A

50
Summary
An IDE for every twisted personality
  • JDeveloper Productivity, thankfully with no
    vendor/technology lock-in
  • Eclipse A free IDE for experienced developers
  • Emacs Use it if you love it
  • IntelliJ When you want an IDE that thinks like
    you do
  • NetBeans Software Why would you want to use
    anything else?

51
Your turn
51
52
JavaTM IDE Shootout
Eclipse, Emacs, IDEA, NetBeans Software,
JDeveloper
  • Don Coleman
  • Joel Confino
  • Peter Koletzke
Write a Comment
User Comments (0)
About PowerShow.com