sâmbătă, martie 24, 2007

Uneltele de dezvoltare cu care am lucrat

Version Control

CVS

  • l-am folosit in firma (e vorba de CVS NT) dar nu l-am instalat niciodata

SVN(=Subversion)

  • l-am instalt cu Apache in fata (tutoriale)
  • il folosesc in mod curent

Perforce (comercial)

  • l-am instalat usor si e usor de folosit
  • nu tine directoare in local ca SVN si CVS ci numai pe server (nu murdareste directoarele locale)

Clienti si plugin-uri pentru Version control

Eclipse si Idea au integrare implicita cu CVS-ul. Integrare OK.

Subclipse

  • plugin pentru SVN pentru Eclipse detronat de Subversive

Subversive

  • cel mai bun plugin pentru Eclipse
  • folosit cu succes

Turtoise CVS

  • integrare in explorer-ul de Windows
  • l-am folosit doar pentru a aduce de pe net surse de proiecte

Turtoise SVN

  • integrare in explorerul de Windows
  • il folosesc in mod curent dar prea putin confortabil in operatiile de tip merge

Perforce are propriul client greu dar si ceva in stilul Turtoise. Are si plugin de Eclipse (Websphere de fapt)

Idea are in repository plugin pentru Subversion. OK.


Integration Servers

Cruise Control

  • e primul de acest fel folosit
  • Martin Fowler pare a fi avut un cuvant de spus

Bamboo (comercial - Atlassian)

  • se instaleaza usor
  • a mers din prima cu maven 2

Continuum (la Apache ca si Maven)

  • esecuri continue (probabil pentru ca incarc toata ierarhia de proiecte)

LuntBuild (exista si versiunea comerciala)

  • l-am folosit si l-am si instalat si merge
  • pare a avea o gestiune mai clara a versiunilor de build

Hudson

  • l-am instalat si l-am folosit fara success pentru Maven 2

Issue Trackers

Jira (comercial)

  • usor de instalat
  • o minune de aplicatie a la Atlassian – un design graphic foarte clar, inimitabil
  • integrabil cu Eclipse via plugin-ului Mylar (vi servicii web – SOAP si XML-RPC)

Track Studio (comercial)

  • l-am folosit in cadrul firmei dar nu l-am instalat
  • se pare ca ofera ceva suport si pentru managementul proiectului

Trac

  • unealta facuta in Pyton (parca)
  • l-am instalat local pentru teste dar l-am folosit pe net (support oferit gratuit)
  • design superb dar nu l-am folosit in productie

Build Tools

Ant

  • target-uri care incapsuleaza task-uri deja implemnetate
  • task-uri pentru operarii de baza deja scrise; diverse librarii si unelte ofera si task-uri de ant
  • orientat pe actiuni

Maven

  • orientat pe metadate despre proiect
  • cicluri de viata predefinite
  • system plugin-abil – genereaza site cu roapoarte pentru proiect
  • conventii in defavoarea configurarii
  • adoptat de curand de foarte multe proiecte – cateva in care l-am observat eu: jasper intelligence, magnolia, jackrabbit, andromda
  • folosit cu success in 2 proiecte pana acum

IDE-uri

Am lucrat si cu JBuilder in tineretile mele – mai ales pentru SWING - dar cu siguranta supravietuitoarele dintre IDE-urile de Java sunt urmatoarele:

Elipse

  • open source, extrem de plugin-abil (suite de plugin-uri gen MyEclipse, Exadel)
  • multe alte IDE-uri s-au orientat spre el adoptand-ul (Weblogic Studio, JBuilder, WS)
  • plugin-uri aporape pentru orice
  • folosit alternativ cu Intelij Idea

Intelij Idea

  • commercial
  • orientat 100% spre Java
  • l-am folosit alternativ cu Eclipse

Net Beans

  • doar l-am incercat pntru profilerul incorporat si am inteles ca are support bun pentru JDK 1.5
Viki Pages


Confluence (commercial Atlassian)

  • usor de instalat si folosit
  • produs de Atlassian


Profilers


JProfiler (comercial - ej-technologies)

  • o unelta superba
  • optimizari reale si cu success realizate cu el
  • vizualizare timpi de executie si memorie in timp real (nu cu dump-uri asa cum e in YourKit)

Perforamanta

JMeter

  • unealta open source de la Apache (o unealta utila)
  • foarte configurabil si usor de utilizat
  • interfata Swing destul de saracacioasa

Load Runner (comercial)

  • usor de instalat si folosit
  • genereaza automat rapoarte

Instalere

Install Anywhere

  • la vremea lui installer profesionist pentru Java
  • unele din unelte mari Java sunt impachetate cu el
  • a intrat intr-un con de umbra in ultimul timt (Install4j al celor de la ej-technologies pare a fi inlocuitorul)

IzPack

  • l- am folosit pentru a impacheta aplicatiile mele Swing
  • relativ simplu dar isi face treaba
  • am vazut istalere pentru aplicatii Web create cu el - Luntbuild