OpenSource-produkter för programutveckling - en jämförelse ● Byggverktyg (make, Ant, Maven) ● Template Engines (XSLT, Velcity, Freemarker) ● MVC-ramverk.

Slides:



Advertisements
Liknande presentationer
Vad är OMS, Operations Management Suite, och hur kan det hjälpa mig? Anders Asp Lumagate AB.
Advertisements

Network Management Johan Ekblad Network Management
UPPFÖLJNING I KOMMUNERNA 10 MARS Agenda Syfte Process och målgrupp Rapportering Summering.
Dagens genomgång Bakgrundsfaktorer Strategier Studieteknik Kompensatoriska hjälpmedel Samordnare Ingvor Berndt,
1 Innan Du börjar … angående Internetbaserade kurser /15 Källa:
Uppgradering av Cosmic april planerar vi att uppgradera till en ny version av Cosmic, som kommer att ge oss många nya möjligheter. Samtidigt är.
Namn på tillfället (kan skrivas på flera rader) Namn på den som presenterar Datum xx.xx.2016.
Patientdatalagen –Anpassad behörighet –Spårbarhet –Spärr För att användare ska kunna tilldelas korrekta och ändamålsenliga behörigheter krävs att vårdgivaren.
För att uppdatera sidfotstexten, gå till menyfliken: Infoga | Sidhuvud och sidfot.
Om denna presentation: Version Denna PPT-presentation tillsammans med det talspråksmanus du hittar i anteckningssidorna är framtaget för att.
 Object-Relational mapping  (aka O/RM, ORM, and O/R mapping)  Mappning av objekt och dess relationer till/från en relationsdatabas.
De mest använda knapparna Excel Start Ångra Gör om Fler knappar Vanligaste talformaten Klistra in Hämta format Inställningar tex För att placera.
Med efterföljande After Work. Repetition från tidigare samt nyheter och fördjupning Intresseinriktningarna och kunskaperna är olika. Möjlighet till att.
Färdiga e-tjänster för att effektivisera er hantering kring ENSAMKOMMANDE BARN Under 2015 kom ensamkommande barn och unga till Sverige för att söka.
”funktionsrätt” ett nytt begrepp i svenska språket 1 Begreppet ”funktionsrätt”
Region Östergötland Utbildning E-frikort
Hur man använder EasyWorship del 1
Jan Larsson Studieteknik Jan Larsson
MIT-miljöer och utbildningsmijöer -Staffan Ekstedt
Integrative Model of Group Development (IMGD)
Så fungerar en dator Mental bild av en dator
Taltidning till fler 16 mars 2017 Götabiblioteken.
Medborgarpanel om bibliotek I Botkyrka
Utbildning i hantering av Behovstrapporna
Nya tjänster på personlig iPad i Ustart 4.0
Konsten att läsa skönlitteratur
Konsten att läsa sakprosa
Kataloger och sökverktyg
VÄLKOMMEN! BABBEL OCH BUBBEL Klassföräldraträff
Unga vuxnas boende Hur unga vuxna bor och hur de vill bo? RUFS 2050
Nyttjande av stimulansbidraget för andra målgrupper
RMI Av: Josefina & Sarah DS04.
AXIELL|Education WELIB Skolans namn datum.
Att bemöta och bli bemött
Gymnasiearbete 100 p.
Välkommen till nätverk för publicerare och redaktörer
Förbättra den kognitiva tillgängligheten
Verksamhetsöversikt COSMIC R8.1.
Lathund-Ladok-95-Studiedeltagande
Digital signering av hälso- och sjukvårdsåtgärder
Välkomna! Utbildning för sköterskor förskrivning av madrasser
Underlag för din poster
Vässa SAM med hjälp av IA-systemet
Skogsbrukstjänster utförs av
Förskrivarutbildning Hjälpmedel vid rörelsenedsättning
Verksamhetsöversikt COSMIC R8.1.
Projekt! Mål, förstudie, uppstart
Ekonomisk uppföljning hjälpmedel hösten 2016
Förskrivarutbildning Kommunikations- och kognitionshjälpmedel
Erfarenheter av dynamiskt Inköpssystem
Kan du begreppen? Para ihop rätt begrepp med rätt beskrivning. Algoritm Precis Program Är ett annat ord för exakt, tydlig eller noggrant. Är klara och.
8 tips för dig som redaktör
Så här infogar du den här bilden i en egen presentation
Diagnos och delaktighet
Smartare möten – effektivare uppföljning
Utbildning i hantering av Behovstrapporna
Inspirationslådor Workshop i digitalisering förskola och skola.
Tobak - Lektion 2 Åk 4-6.
Bostadstillägg Pensionsmyndigheten har av regeringen fått uppdraget att öka kunskapen om bostadstillägg och verka för att mörkertalet inom bostadstillägg.
Lathund-Ladok Hantera mallar för intyg
Sammanträdesprotokoll Motala kommunala pensionärsråd
Ekonomisk uppföljning hjälpmedel hösten 2016
Gymnasiearbete 100 p.
Ärendetyper Visning av de olika frågor du kan lägga till i ett formulär.
Glasklart? ”Planområdet genererar trafikströmmar som måluppsöker destinationer i kommersiella regioncentra, vilka erbjuder faciliteter som inte tillhandahålles.
Supportstuga: Medarbetarkopplingar
Så här infogar du den här bilden i en egen presentation
Innehåll Förväntat deltagande på individuellt tillfälle 1-2
Kontinuitetshantering
Samordningswebbinarier om Skapande skola
Presentationens avskrift:

OpenSource-produkter för programutveckling - en jämförelse ● Byggverktyg (make, Ant, Maven) ● Template Engines (XSLT, Velcity, Freemarker) ● MVC-ramverk (Spring MVC, Struts, MyFaces, Expresso, Turbine) ● Persistens (Java Persistence API, Hibernate, Toplink, JDO)

Byggverktyg - make GNU Make, BSD Make, Microsoft nmake Vad tillhandahåller make? ● Möjlighet att bygga stora applikationer för nästan alla kompilerande språk ● Man gör regler som uppdaterar mål-filer, som härleds från andra filer. (exempelvis skall objektfiler uppdateras om källkodsfiler ändras)

Byggverktyg - make Begränsningar ● Makefiler ej porterbara ● Krånglig syntax ● Kan ta tid att bygga stora projekt (rekursion)

Byggverktyg - make Exempel cd /projects/maketest cat Makefile make./helloworld

Byggverktyg - Ant Apache-projekt – ant.apache.org Vad tillhandahåller Ant (Another Neat Tool)? ● Byggverktyg som är oberoende av operativsystem ● Understödjer programutveckling i de flesta språk: Java,.Net, C, C++, Fortran,... och IDE:er: Eclipse, JBuilder, IntelliJ,... ● Enkelt att bygga ut med egna ”tasks”

Byggverktyg - Ant Begränsningar ● I stora projekt blir build.xml lång ● Svårt att integrera då man har flera projekt som är beroende av varandra ● Man får hela tiden skriva om grundstrukturen i build.xml

Byggverktyg - Ant Exempel /usr/tomcat/bin/startup.sh cd /projects/stockholmstad/mallprojektet/trunk cat build.xml ant stop ant deploy ant start

Byggverktyg - Maven Apache-projekt – maven.apache.org Vad tillhandahåller Maven? ● Enkel byggprocess (Man skall inte behöva bry sig om detaljer) ● Enhetligt byggsystem – XML-baserad konfigurationsfil - Project Object Model, POM – plugins som är gemensamma för alla Maven-projekt)

Byggverktyg - Maven ● Aktuell projektinformation (site!) – förändringsloggar från v-hanteringssystemet – javadoc – xref till källkoden – maillistor till användare – listor över beroenden – rapporter över enhetstester (inklusive code coverage)

Byggverktyg - Maven ● Hjälpmedel för att utveckla bra källkod – enhetstester ingår automatiskt i byggcykeln – tester och källkod i separata källkodsträd – använder case-konvensionerna för enhetstest – rapporter över hur källkodskonvensioner följs

Byggverktyg - Maven Exempel: cd /projects/vegas/vegas-server/trunk cat pom.xml mvn site cd target/site file:///projects/vegas/vegas- server/trunk/target/site/index.html

Byggverktyg - jämförelse make (+) ● kräver inte Java, finns oftast i OS:et ● enkel byggmodell ● bygger nästan alla kompilerande språk make (-) ● gammalt (1977) => snårig syntax ● kan ej själv analysera beroenden i moderna språk ● en Makefile kan ej porteras till andra OS

Byggverktyg - jämförelse Ant (+) ● build.xml ”oberoende” av OS ● Enkelt att utöka med egna tasks ● bygger de flesta språk Ant (-) ● Kräver att java är installerad på maskinen ● build.xml blir lätt stor ● stödjer inte flera projekt som är beroende av varandra bra

Byggverktyg - jämförelse Maven (+) ● Gemensam hantering av beroenden för samtliga Maven-projekt ● Uppmuntrar till bra programmering ● Bygger en ständigt aktuell informationssite Maven (-) ● Kräver att java är installerad på maskinen ● Endast för att bygga rena Java-projekt

Byggverktyg - referenser Hemsidor för de olika projekten: Problem med make:

Template engines - Introduktion Vad är en template engine? ● Processar mallar och indata och producerar ett måldokument ● Innehåller sätt att processa text (exempelvis: textsubstitution, tilldelning av variabler, villkor, definition av funktioner, loopar eller rekursion, inkludering av andra mallar) ● Exempel: XSLT, JSP, Velocity, Freemarker

Template engines - Velocity Apache-projekt – ● Enkelt och kraftfullt mallspråk ● Kan användas fristående eller i en webbapplikation ● Främjar MVC-modellen

Template engines - Velocity Exempel cd /usr/velocity-1.5-beta1/examples/app_example1 cat example.vm cat Example.java./example.sh

Template engines – Freemarker BSD-licens – ● Enkelt och kraftfullt mallspråk ● Kan användas fristående eller i en webbapplikation ● Främjar MVC-modellen

Template engines – Freemarker Exempel /usr/tomcat/bin/startup.sh cd /usr/freemarker-2.3.9/examples/webapp1/WEB- INF/templates cat test.ftl

Template engines - jämförelse Velocity (+) ● Flexibelt ● Många produkter/ramverk använder sig av det: Turbine (MVC), Spring, Eclipse (code generation), Velosurf (db access tool) Velocity (-) ● Ännu ett eget ”programspråk” ● Finns bara i beta för Java5 (nu finns JDK6)

Template engines - jämförelse Freemarker (+) ● Flexibelt ● Många produkter/ramverk använder sig av det: Jooreports, Eclipse, Spring, Alfresco (CM), JForum, Freemarker (-) ● Ännu ett eget ”programspråk” ● Verkar mer optimerat för webbapplikationer

Template engines - referenser Lista över olika template engines: Hemsidor för de olika projekten: Ramverk/Applikationer/Siter som använder respektive template engine: