Eclipse
Software Engineering with an Integrated Development Environment (IDE) Markus Scheidgen
Friday, 26. October 2012
Eclipse Software Engineering with an Integrated Development - - PowerPoint PPT Presentation
Eclipse Software Engineering with an Integrated Development Environment (IDE) Markus Scheidgen Friday, 26. October 2012 Agenda What is eclipse and why bother? - An introduction to eclipse. eclipse fundamentals (Java) development
Software Engineering with an Integrated Development Environment (IDE) Markus Scheidgen
Friday, 26. October 2012
★ reading code ★ writing code ★ build and run code ★ debugging ★ testing
★ task management ★ version control
★ plug-ins and equinox ★ Java Development Toolkit APIs ★ eclipse modeling framework
2
Friday, 26. October 2012
Friday, 26. October 2012
for Smalltalk/Java).
that facilitates and encourages the development of third party plug-ins.
Environment (IDE).
★ C, C++, Python, PHP, Ruby ★ XML, HTML, CSS ★ ant, maven, and many more
4
Friday, 26. October 2012
5
Friday, 26. October 2012
In this lecture we manly see eclipse as an IDE.
★ editors (vim, emacs) ★ compilers (gcc, javac) ★ code analyzers (lyn) ★ debuggers (gdb, jdb) ★ build-tools (make, ant, maven) ★ version control (cvs, svn, git, ClearCase)
★ one rich graphical user interface ★ one configuration scheme ★ The different tools are connected with each other.
6
Friday, 26. October 2012
★building, testing ★generation of boiler-plate code
7
Friday, 26. October 2012
Friday, 26. October 2012
★Eclipse 3.x releases are: Callisto, Europa, Ganymede,
Galileo, Helios, Indigo (3.7, recommended), Juno (4.2)
★There is a 32- and 64-bit version for Windows, MacOS,
and Linux/Unix.
★Eclipse is java-based but uses SWT, a GUI-toolkit with
platform specific versions.
★There are different packages (different collections of
plug-ins) for different use-case. Download Eclipse IDE for Java Developers when in doubt.
9
Friday, 26. October 2012
★You have a .zip- or .tar.gz-file. ★unzip ★The unzipped folder contains an executable eclipse(.exe)
★You will have to choose a workspace. The workspace is
the place were eclipse will store all your work and
Choose a new directory somewhere in your home folder.
★You leave the welcome screen with the right-hand-side
arrow.
10
Friday, 26. October 2012
★ Views can be moved, removed, added. ★ You can switch between perspectives (specific arrangement of
views).
(e.g. Package Explorer (java), Task List (mylyn))
may change the menu bar.
11
Friday, 26. October 2012
★ organizational unit for your work ★ corresponds to a folder on your hard-drive, by default in the workspace directory ★ is a resource
★ generic term for folders, files, and sometimes file-like (virtual resources) entities
★ eclipse wide configuration ★ organized by plug-ins
★ project specific configuration ★ allows to create project specific settings for large parts of the preferences
12
Friday, 26. October 2012
Friday, 26. October 2012
★ Java editor with syntax highlighting, code-completion,
templates, refactorings, navigation, ...
★ Package explorer ★ Java specific views for
★ documentation ★ debugging ★ type-hierarchies ★ outline
★ Java search ★ Java builder
14
Friday, 26. October 2012
★ source folders with your sources ★ other folders and files you add (e.g. jars, ant-scripts, etc.) ★ the compiled .class-files (hidden) ★ references to used libraries
★ Most configurations are projects specific changes to the global
eclipse wide configuration.
★ Most important for java projects is the Java Build Path:
★ source folders and class folder ★ dependencies (other Java projects you need resources from, e.g. classes) ★ libraries (internal and external jars and system libraries)
15
Friday, 26. October 2012
16
Friday, 26. October 2012
Project Explorer.
context-menu.
17
Friday, 26. October 2012
18
Friday, 26. October 2012
19
Friday, 26. October 2012
20
Friday, 26. October 2012
21
Friday, 26. October 2012
Friday, 26. October 2012
★Information overload ★Slow context switches
23
Friday, 26. October 2012
★ use the latest “pure Java” svn connector
differences in the Package Explorer’s resource presentation.
repository via the Package Explorer.
24
Friday, 26. October 2012
Friday, 26. October 2012
http://www.eclipse.org/projects/listofprojects.php
★
Eclipse Modeling Framework (EMF)
★
EMF
★
EMF compare
★
relational database mappings
★
Graphical Modeling Framework
★
Xtext
★
Model-2-Model and Model-2-Text
★
UML/OCL tools
★
J2EE
★
Javascript
★
XML
★
Web Services
26
Friday, 26. October 2012
search the Marketplace)
★Google Web Toolkit ★Google App Engine ★Android programming
(http://www.springsource.com/developer/sts)
★J2EE ★Grails
27
Friday, 26. October 2012
★ Update sites (identified by URLs) provide plug-ins via
HTTP.
★ Eclipse update site provides all plug-ins of the various
★ Update-sites of third party vendors can be added and their
plug-ins installed.
★ Eclipse manages plugins (typically as .jars and .zips) in its
internal folder structure.
28
Friday, 26. October 2012
Friday, 26. October 2012
★ all functionally we saw is deployed in a plug-in
★ plug-ins use each other (plug-in dependencies) ★ eclipse has “abstract” plug-in (e.g. the team plug-ins) therefore
all specific plug-ins (e.g. JDT/CDT, CVS/subclipse) have the same look and feel
eclipse rich clients
30
Friday, 26. October 2012
31
Friday, 26. October 2012
32
Friday, 26. October 2012
running in the same JVM?
★ different classes with same package and name collide ★ same classes in different versions with same package name collide ★ when one vendor wants to use classes of another it is not clear
which class one intends to use
★ classes are organized in bundles ★ each bundle gets its own class loader that only sees the classes in
that bundle
★ bundles can use other bundles and user their classes: class loaders
find a used class
33
Friday, 26. October 2012
★commands ★editor ★popup-menu additions ★property pages ★views ★project builders ★additions to the help system
34
Friday, 26. October 2012
★plug-in and bundle mechanisms ★SWT ★JFace ★views, editors, property views
★Use how-tos and tutorials. ★Apply “monkey sees, monkey does”. ★Use similar, existing plug-ins as starting points.
35
Friday, 26. October 2012
36
Friday, 26. October 2012
★GMF ★Xtext
37
Friday, 26. October 2012
(PDE)
★http://www.vogella.de/articles/EclipsePlugIn/article.html
38
Friday, 26. October 2012
Friday, 26. October 2012
Entwicklungsplattform für Java, PHP, C/C++, SQL, XML, XSLT, XSL-FO, JSP, Servlets, JEE, UML, HTML, CSS, JavaScript”, Michael Seeboerger- Weichselbaumm, mitp
Addison-Wesley
Steinberg et al., Addison-Wesley
40
Friday, 26. October 2012
41
Friday, 26. October 2012