SlideShare a Scribd company logo
Developing with open source tools and frameworks
Java case study
What this talk is about
● Developing with JAVA based open source solutions
● Which tools and frameworks are out there?
● Who uses Java for their web applications? Should I ?
There is a lot to say and there are many interesting open source projects.
This presentations wants to be an introduction to what you can find in the java world.
What this talk is not about
● JAVA vs …
● Use JAVA, do not use ...
● Best framework for java web development is ...
● Best IDE for JAVA is ...
Java and open source
● The open-source mindset is pervasive in the Java world
● Java goes all the way from mobile to enterprise
● Open source solutions are production grade
● Open source communities and companies
Java and open source
● It's not just a language it's a platform
● It's not just a platfrom, it has plenty of tools too
● Not only tools, also great communities and projects
● It's an ecosystem
Java and open source
There's a JAR for that
Using Java for your next web project
● Pick a framework
● Pick an IDE
● Get tools to help you
● Start coding
●Picking a framework
Two main MVC flavors: Request based and component based
Request centric
Manual request parameter processing
Developer handles HTML/JS
More boilerplate code, more control.
Request centric
Automatic request parameter processing
Components render HTML/JS
Less boilerplate code, less fine grained control.
s
Both can be used to create the same kind of applications .
Component based frameworks can be a better when you have a lot of forms, validations, rules etc.
Request based can be a better fit if you want more control and need to handle the request at a lower level.
●Picking a framework
http://zeroturnaround.com/rebellabs/top-4-java-web-frameworks-revealed-real-life-usage-data-of-spring-mvc-vaadin-gwt-
and-jsf/
●Picking a framework
● You can also go the RESTFUL path
– Have a backend developed in JAVA that exposes resources in the REST
architecture style
– Use one of the many great *JS frameworks for your UI (AngularJS,
BackboneJS, EmberJS and many more)
●Picking a stack
● You will also need other capabilities like ORM, Transactions, REST,
SOAP, Security etc.
● This means you will need a STACK of technologies
●Picking a stack
●Picking a stack
JAVA EE 7
JSF (component based)
JAX-RS (For REST)
Spring
Spring MVC (Request based , for
web applications and REST)
NOTE: JAVA EE specification vs implementation
●Spring framework
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/overview.html
●Java EE 7
http://blog.eisele.net/2013/06/javaee7-is-final.html
Picking a stack
Java EE and Spring are well know, supported and with big communities
● You are not obligated to use ALL the components of the stacks (and for a typical use case you may
not need too)
● You can choose one and integrate components from the other
● You can chose a web development framework and use components from each stack with it
● Either way you will be in good company,there is a huge number of developers using one or the other
(or both)
● Either way you will have great tooling
● Either way you will have great IDEs
A typical stack
A stack that I feel covers generic needs for the web apps I work with
● Web development framework
● Dependendy injection (Spring Di , Java EE CDI, Guice etc.)
● Transaction management
● ORM
● Application server (or servlet container)
IDEs
Running the applications
Again plenty of choices available (there are others that are not on this list)
● Application deployed on the server
● Server embeded in you application
Other topics
Testing (unit testing, functional testing, browser automation)
● Dependency management
● Deploy Automation
● Continuous integration
● ...
Java is not the only JVM language
The most common or well-known JVM languages are:
– Clojure, a Lisp dialect
– Groovy, a programming and scripting language
– Scala, an object-oriented and functional programming language
– JRuby, an implementation of Ruby
– Jython, an implementation of Python
http://en.wikipedia.org/wiki/List_of_JVM_languages
If you are curios, some other interesting frameworks
Akka is a toolkit and runtime for building highly concurrent,
distributed, and resilient message-driven applications on the JVM
Vert.x is a lightweight, high performance application platform for
the JVM.Write your application components in Java, JavaScript,
CoffeeScript, Ruby, Python or Groovy...
Grails is a powerful (Groovy based) web framework, for the Java
platform aimed at multiplying developers’ productivity thanks to
a Convention-over-Configuration, sensible defaults and
opinionated APIs.
Play Framework makes it easy to build web applications with
Java & Scala. Play is based on a lightweight, stateless, web-
friendly architecture.Built on Akka, Play provides predictable and
minimal resource consumption (CPU, memory, threads) for
highly-scalable applications
Who uses java ?
A lot of companies from small startups to enteprises use Java.
A lot of companies and startups use open source tools or frameworks.
There is a tendency to think that Java is not a fit for the new cool tech companies.
The truth is, companies like Linkedin, Twitter, Google, Netflix etc.
use Java and the JVM and it works great for them.
Should I use Java?
Java is open: Language, standard, libraries, frameworks, tools
Java has a vibrant open source community
Java is not just a platform, it's an ecosystem. You will find that a lot of solutions to a lot
of problems have been dealt with (there's a JAR for that :) )
There is continuous evolution and innovation with new features, new language on the JVM
etc.
I think you should try it and see for yourself why it is such a great tool to have in your
toolbox.
Should I use only Java?
● Java is great in a lot of ways
● If all you have is a hammer, everything looks like a nail
● A developer solves problems, with the tools that best fit the job at hand
● Learning new/other technologies should be an important topic to all
developers
Your first web application with java and open source
technologies
Tomorow 17:30-18:00
QUESTIONS?
Thank You!

More Related Content

What's hot (20)

PDF
There is something about JavaScript - Choose Forum 2014
jbandi
 
DOCX
Core java learning path for beginners
JobbackingCodeHelpMe
 
PDF
Web Applications
Enrique Ponce De Leon
 
PPTX
JAVA FEATURES
shalinikarunakaran1
 
PPTX
Full stack web development
Crampete
 
PPTX
Becoming fully buzzword compliant
Trisha Gee
 
PPTX
Latest Javascript MVC & Front End Frameworks 2017
AmarInfotech
 
PPTX
Presentation5
Natasha Bains
 
PDF
Groovy & Java
Pablo Moretti
 
PDF
The Evil Tester's Guide to HTTP proxies Tutorial
Alan Richardson
 
PPTX
Introduction to Core Java Programming
Collaboration Technologies
 
PPTX
core java
Roushan Sinha
 
PDF
Django vs flask
Nitish Garg
 
PDF
Webinar PHP-ID: Machine Learning dengan PHP
Achmad Solichin
 
PPTX
Features of java
WILLFREDJOSE W
 
PDF
Efficient Django
David Arcos
 
PDF
Step by Step Guide on Essay Format in APA For Beginners
calltutors
 
PPTX
Java fundamentals
Om Ganesh
 
PPTX
A sip of elixir
Uttam Kini
 
PPTX
Java history 01
University of Potsdam
 
There is something about JavaScript - Choose Forum 2014
jbandi
 
Core java learning path for beginners
JobbackingCodeHelpMe
 
Web Applications
Enrique Ponce De Leon
 
JAVA FEATURES
shalinikarunakaran1
 
Full stack web development
Crampete
 
Becoming fully buzzword compliant
Trisha Gee
 
Latest Javascript MVC & Front End Frameworks 2017
AmarInfotech
 
Presentation5
Natasha Bains
 
Groovy & Java
Pablo Moretti
 
The Evil Tester's Guide to HTTP proxies Tutorial
Alan Richardson
 
Introduction to Core Java Programming
Collaboration Technologies
 
core java
Roushan Sinha
 
Django vs flask
Nitish Garg
 
Webinar PHP-ID: Machine Learning dengan PHP
Achmad Solichin
 
Features of java
WILLFREDJOSE W
 
Efficient Django
David Arcos
 
Step by Step Guide on Essay Format in APA For Beginners
calltutors
 
Java fundamentals
Om Ganesh
 
A sip of elixir
Uttam Kini
 
Java history 01
University of Potsdam
 

Similar to Bledar Gjocaj - Java open source (20)

PDF
Java and the Web
Dmitry Buzdin
 
PPT
December 4 SDForum Java Sig Presentation
Jonathan Abrams
 
PDF
How to use Java in Web Application Development?
Inexture Solutions
 
PPTX
Modern Java Web Development
zenyk
 
PPTX
Introduction Java Web Framework and Web Server.
suranisaunak
 
PPTX
5 Treding Java Frameworks Offshore Developers Should About
BJIT Ltd
 
PDF
Java Development Company | Xicom
RyanForeman5
 
PDF
5 best Java Frameworks
Aegis Softtech
 
PPTX
java full stack develpment course in banglore
harshithas9087
 
PPTX
Introduction to j2 ee frameworks
Mukesh Kumar
 
PDF
The State of Java under Oracle at JCertif 2011
Arun Gupta
 
PPTX
java web framework standard.20180412
FirmansyahIrma1
 
PPTX
Learn Java Programming Language In Gurgaon.pptx
APTRON Gurgaon
 
ODP
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Codemotion
 
PPT
Developing Java Web Applications
hchen1
 
PDF
JavaOne 2010 Keynote
Tomoyuki Tatsuno
 
PDF
Elevating Business_ Java Technologies In Web App.pdf
Lucas Lagone
 
PDF
Play Framework: Intro & High-Level Overview
Josh Padnick
 
PDF
Java overview 20131022
hamidsamadi
 
PPTX
Seven Points for Applying Java EE 7
Hirofumi Iwasaki
 
Java and the Web
Dmitry Buzdin
 
December 4 SDForum Java Sig Presentation
Jonathan Abrams
 
How to use Java in Web Application Development?
Inexture Solutions
 
Modern Java Web Development
zenyk
 
Introduction Java Web Framework and Web Server.
suranisaunak
 
5 Treding Java Frameworks Offshore Developers Should About
BJIT Ltd
 
Java Development Company | Xicom
RyanForeman5
 
5 best Java Frameworks
Aegis Softtech
 
java full stack develpment course in banglore
harshithas9087
 
Introduction to j2 ee frameworks
Mukesh Kumar
 
The State of Java under Oracle at JCertif 2011
Arun Gupta
 
java web framework standard.20180412
FirmansyahIrma1
 
Learn Java Programming Language In Gurgaon.pptx
APTRON Gurgaon
 
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Codemotion
 
Developing Java Web Applications
hchen1
 
JavaOne 2010 Keynote
Tomoyuki Tatsuno
 
Elevating Business_ Java Technologies In Web App.pdf
Lucas Lagone
 
Play Framework: Intro & High-Level Overview
Josh Padnick
 
Java overview 20131022
hamidsamadi
 
Seven Points for Applying Java EE 7
Hirofumi Iwasaki
 
Ad

More from Open Labs Albania (20)

PDF
Clair Tolan - Passwords for the clouds
Open Labs Albania
 
PDF
Ismet Azizi - Shquarsia: Si mund të siguroheni që artikulli juaj nuk do të fs...
Open Labs Albania
 
PDF
Georges Labreche - Open Data Kosovo - Open data for good governance
Open Labs Albania
 
PDF
Chris Ward - Taking Open Source beyond Software
Open Labs Albania
 
PDF
Bruno Skvorc - Open sourcing content - peer review's effect on quality
Open Labs Albania
 
PDF
Andri Xhitoni - Indexing Albanian Language
Open Labs Albania
 
PDF
Alex Corbi - Building 100 percent os open data platform
Open Labs Albania
 
PDF
Kiril Simeonovski - The value of open knowledge
Open Labs Albania
 
PDF
Gjergj Sheldija - Healthcare and Open Technology
Open Labs Albania
 
PDF
Giannis Konstantinidis - The fedora community
Open Labs Albania
 
PDF
Enkeleda Ibrahimi - Open source security
Open Labs Albania
 
PDF
Chris Heilmann - The new challenge of open
Open Labs Albania
 
PDF
Bruno Skvorc - The many ways to contribute to open source
Open Labs Albania
 
PDF
Blerta Thaçi & zana Idrizi - Empowering women in the community of coding
Open Labs Albania
 
PDF
Besfort Guri - OS Geo Live
Open Labs Albania
 
PDF
Besfort Guri - Floss Tools for Gis
Open Labs Albania
 
PDF
Alex Corbi - Visualizing open data with carto_db
Open Labs Albania
 
PPTX
Inva Veliu & Florian Tani - Open Atrium
Open Labs Albania
 
PDF
Greta Doçi - WikiAcademy Albania
Open Labs Albania
 
PDF
Altin Ukshini - WikiAcademy Kosovo
Open Labs Albania
 
Clair Tolan - Passwords for the clouds
Open Labs Albania
 
Ismet Azizi - Shquarsia: Si mund të siguroheni që artikulli juaj nuk do të fs...
Open Labs Albania
 
Georges Labreche - Open Data Kosovo - Open data for good governance
Open Labs Albania
 
Chris Ward - Taking Open Source beyond Software
Open Labs Albania
 
Bruno Skvorc - Open sourcing content - peer review's effect on quality
Open Labs Albania
 
Andri Xhitoni - Indexing Albanian Language
Open Labs Albania
 
Alex Corbi - Building 100 percent os open data platform
Open Labs Albania
 
Kiril Simeonovski - The value of open knowledge
Open Labs Albania
 
Gjergj Sheldija - Healthcare and Open Technology
Open Labs Albania
 
Giannis Konstantinidis - The fedora community
Open Labs Albania
 
Enkeleda Ibrahimi - Open source security
Open Labs Albania
 
Chris Heilmann - The new challenge of open
Open Labs Albania
 
Bruno Skvorc - The many ways to contribute to open source
Open Labs Albania
 
Blerta Thaçi & zana Idrizi - Empowering women in the community of coding
Open Labs Albania
 
Besfort Guri - OS Geo Live
Open Labs Albania
 
Besfort Guri - Floss Tools for Gis
Open Labs Albania
 
Alex Corbi - Visualizing open data with carto_db
Open Labs Albania
 
Inva Veliu & Florian Tani - Open Atrium
Open Labs Albania
 
Greta Doçi - WikiAcademy Albania
Open Labs Albania
 
Altin Ukshini - WikiAcademy Kosovo
Open Labs Albania
 
Ad

Recently uploaded (20)

PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Python basic programing language for automation
DanialHabibi2
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 

Bledar Gjocaj - Java open source

  • 1. Developing with open source tools and frameworks Java case study
  • 2. What this talk is about ● Developing with JAVA based open source solutions ● Which tools and frameworks are out there? ● Who uses Java for their web applications? Should I ? There is a lot to say and there are many interesting open source projects. This presentations wants to be an introduction to what you can find in the java world.
  • 3. What this talk is not about ● JAVA vs … ● Use JAVA, do not use ... ● Best framework for java web development is ... ● Best IDE for JAVA is ...
  • 4. Java and open source ● The open-source mindset is pervasive in the Java world ● Java goes all the way from mobile to enterprise ● Open source solutions are production grade ● Open source communities and companies
  • 5. Java and open source ● It's not just a language it's a platform ● It's not just a platfrom, it has plenty of tools too ● Not only tools, also great communities and projects ● It's an ecosystem
  • 6. Java and open source There's a JAR for that
  • 7. Using Java for your next web project ● Pick a framework ● Pick an IDE ● Get tools to help you ● Start coding
  • 8. ●Picking a framework Two main MVC flavors: Request based and component based Request centric Manual request parameter processing Developer handles HTML/JS More boilerplate code, more control. Request centric Automatic request parameter processing Components render HTML/JS Less boilerplate code, less fine grained control. s Both can be used to create the same kind of applications . Component based frameworks can be a better when you have a lot of forms, validations, rules etc. Request based can be a better fit if you want more control and need to handle the request at a lower level.
  • 10. ●Picking a framework ● You can also go the RESTFUL path – Have a backend developed in JAVA that exposes resources in the REST architecture style – Use one of the many great *JS frameworks for your UI (AngularJS, BackboneJS, EmberJS and many more)
  • 11. ●Picking a stack ● You will also need other capabilities like ORM, Transactions, REST, SOAP, Security etc. ● This means you will need a STACK of technologies
  • 13. ●Picking a stack JAVA EE 7 JSF (component based) JAX-RS (For REST) Spring Spring MVC (Request based , for web applications and REST) NOTE: JAVA EE specification vs implementation
  • 16. Picking a stack Java EE and Spring are well know, supported and with big communities ● You are not obligated to use ALL the components of the stacks (and for a typical use case you may not need too) ● You can choose one and integrate components from the other ● You can chose a web development framework and use components from each stack with it ● Either way you will be in good company,there is a huge number of developers using one or the other (or both) ● Either way you will have great tooling ● Either way you will have great IDEs
  • 17. A typical stack A stack that I feel covers generic needs for the web apps I work with ● Web development framework ● Dependendy injection (Spring Di , Java EE CDI, Guice etc.) ● Transaction management ● ORM ● Application server (or servlet container)
  • 18. IDEs
  • 19. Running the applications Again plenty of choices available (there are others that are not on this list) ● Application deployed on the server ● Server embeded in you application
  • 20. Other topics Testing (unit testing, functional testing, browser automation) ● Dependency management ● Deploy Automation ● Continuous integration ● ...
  • 21. Java is not the only JVM language The most common or well-known JVM languages are: – Clojure, a Lisp dialect – Groovy, a programming and scripting language – Scala, an object-oriented and functional programming language – JRuby, an implementation of Ruby – Jython, an implementation of Python http://en.wikipedia.org/wiki/List_of_JVM_languages
  • 22. If you are curios, some other interesting frameworks Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM Vert.x is a lightweight, high performance application platform for the JVM.Write your application components in Java, JavaScript, CoffeeScript, Ruby, Python or Groovy... Grails is a powerful (Groovy based) web framework, for the Java platform aimed at multiplying developers’ productivity thanks to a Convention-over-Configuration, sensible defaults and opinionated APIs. Play Framework makes it easy to build web applications with Java & Scala. Play is based on a lightweight, stateless, web- friendly architecture.Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications
  • 23. Who uses java ? A lot of companies from small startups to enteprises use Java. A lot of companies and startups use open source tools or frameworks. There is a tendency to think that Java is not a fit for the new cool tech companies. The truth is, companies like Linkedin, Twitter, Google, Netflix etc. use Java and the JVM and it works great for them.
  • 24. Should I use Java? Java is open: Language, standard, libraries, frameworks, tools Java has a vibrant open source community Java is not just a platform, it's an ecosystem. You will find that a lot of solutions to a lot of problems have been dealt with (there's a JAR for that :) ) There is continuous evolution and innovation with new features, new language on the JVM etc. I think you should try it and see for yourself why it is such a great tool to have in your toolbox.
  • 25. Should I use only Java? ● Java is great in a lot of ways ● If all you have is a hammer, everything looks like a nail ● A developer solves problems, with the tools that best fit the job at hand ● Learning new/other technologies should be an important topic to all developers
  • 26. Your first web application with java and open source technologies Tomorow 17:30-18:00