Att välja rätt teknik och verktyg är avgörande för hela utvecklingsprocessen. Hela tiden kommer nya verktyg som gör det möjligt att producera nyttiga lösningar på kortare tid, baserade på kundens förväntningar. Lägg mycket tid på att välja rätt redan vid starten av ditt projekt. Det kan vara skillnaden mellan succé och fiasko.
Trendiga utvecklingsmiljöer attraherar dessutom systemutvecklare bäst. Vill du vinna konkurrensen om de duktigaste utvecklarna bör du skapa trendiga utvecklingsmiljöer. Alla gynnas av det – inklusive dina kunder. Om du inte använder verktygen eller versionerna jag listar här, är du inne på fel spår.
Javaversioner
Väldigt få applikationer utvecklas med Java version 4 eller lägre idag. Applikationer som har utvecklats på version 5 eller 6 under senaste åren har uppgraderats till Java 7 eller 8. Efter version 5 har de nya versionerna släppts så tätt på varandra att många projekt inte hann övergå till nyare versioner stegvis utan hoppade till Java 7 eller 8 direkt. Nästa Javaversion (9) blir förhoppningsvis klar för användning i produktion under våren 2017.
Läs också: Utvecklarvärlden får aldrig nog av nya språk – här är fyra färska
Java EE-versioner
Vad gäller serverplattformen Java EE är det version 7 som är mest dominerande följd av Java EE 6. Väldig många applikationer är utvecklade med ramverket Spring. Det är ett öppen källkods-alternativ till delar av Java EE.
Webb- och användargränssnitt
Webbramverket Spring MVC/Spring Boot används mest idag. Webbspecifikationen JavaServer Face som ingår i Java EE är fortfarande populär men intresset minskar. Utvecklingen inom Javascriptområdet är intensivt. Jquery som varit dominerande har blivit mindre populär nu. Ramverket Angular JS utvecklas intensivt och flera projekt har börjat utveckla sina webbklienter med det. Flera utvecklare har visat intresse för Javascriptbiblioteket React JS (ett bibliotek som utvecklades av Facebook).
Databaser
Oracle DB, MySQL och PostgreSQL används mest. Nosql-databaser är fortfarande aktuella men de har inte blivit så populära som många hade förväntat sig. MongoDB och Cassandra är de mest populära nosql-databaserna idag.
Arkitektur
Microservices, eller mikrotjänster, har blivit mycket populärt den senaste tiden. Med hjälp av dem blir det lättare att bygga och underhålla applikationer, då applikationer bryts ned i mindre, kombinerbara bitar som arbetar tillsammans. Flera projekt anpassar sin arkitektur efter mikrotjänster samtidigt som det råder stort brist på kompetenta utvecklare.
Utvecklingsverktyg
Eclipse har tappat sin dominerade position och idag är Intellij Idea mycket populär hos Javautvecklare. De flesta brukar säga ”Har man börjat utveckla med Intellij vill man inte jobba med Eclipse längre!”.
Övrigt
Applikationsservrarna Tomcat, Jetty, Wildfly och Jboss är mest populära.
Versionshanteringsverktyget Git används oftast som versionshanteringsverktyg följt av SVN.
Kontinuerlig integrations-servern (Continuous Integration Server) Jenkins är den server som använts mest i de flesta utvecklingsprojekt.
Läs också: Utvecklare – det här behöver du ha koll på 2017
Byggverktyget Maven är dominerade följt av Gradle som är på frammarsch och utmanar. Få projekt använder Ant idag.
Vad gäller virtualiseringsteknik används Docker ofta idag.
Programmeringsspråken Groovy och Scala som är konkurrenter till Java har varit populära den senaste tiden. De har dock inte lyckats bli så framgångsrika som dess förespråkare hade förväntat sig. En anledning är att det är svårt att hitta erfarna utvecklare.
Ett sista råd
När du till slut valt teknik och verktyg för ditt projekt, se till att inte utveckla en produkt som är så pass beroende av individer, ramverk och verktyg att det med tiden blir ohanterligt. Tänk hela tiden på att vi ska ha råd att byta allt när som helst – inklusive teamet!
Befattning: Vd
Företag: Solid Beans
Linkedin: Hamid Samadi
Twitter: @hamidsamadi
E-post: hamid@solidbeans.com
Hemsida: www.solidbeans.com
Expertområden: Java, JavaEE, Open source
Certifieringar: Scrum master Java
Bakgrund: Grundare, vd och delägare i Solid Beans. Civilingenjör i informationsteknologi. Arkitekt till flera plattformar inom telekom. Systemutvecklare i Java-miljön sedan 1995, It-konsult/konsultchef/entreprenör /företagare/Java-instruktör sedan flera år. Organiserar flera event, bland annat Android/java forum och www.jdays.se i Göteborg.