SlideShare a Scribd company logo
1 of 112
Download to read offline
State of 

Apache Wicket
presented at:

DEVELOPERS

DEV

ENTER
powered by Topicus
sponsored by

topicus
“We continue to see teams run into trouble using
JSF -- JavaServer Faces -- and are recommending
you avoid this technology.”
–ThoughtWorks Technology Radar January 2014

Wicket Developers Rejoice!
!
Our archenemy has been de
nounced!!
!

Or is there more to this stor
y?
“We continue to see teams run into trouble using
JSF -- JavaServer Faces -- and are recommending
you avoid this technology. Teams seem to choose
JSF because it is a J2EE standard without really
evaluating whether the programming model suits
them. We think JSF is flawed because it tries to
abstract away HTML, CSS and HTTP, exactly the
reverse of what modern web frameworks orks
from ThoughtW do. JSF,
he full webforms, attempts to create are
TASP.NET quote
like
. stateless od bits HTTP
gy Radthe The go protocol
echnolo top of ar
T
statefulness on
next s ide ..
the a whole lhost.of problems
on
and ends up causing
involving shared server-side state. We are aware
of the improvements in JSF 2.0, but think the
model is fundamentally broken. We recommend
teams use simple frameworks and embrace and
understand web technologies including HTTP,
HTML and CSS.”
–ThoughtWorks Technology Radar January 2014
“We continue to see teams run into trouble using
JSF and are recommending you avoid this
technology. We think JSF is flawed because it tries
to abstract away HTML, CSS and HTTP. JSF, like
ASP.NET webforms, attempts to create
statefulness on top of the stateless protocol HTTP.
We think the model is fundamentally broken.”
–ThoughtWorks Technology Radar January 2014

This is not a critique of JSF in part
icular but
(server side) component framework
s. The
grunt of the critique is that JSF att
empts to
create state fullness on top of the
stateless
protocol–which is precisely what J
SF, .Net,
Wicket and Tapestry are doing.
“We recommend teams use simple
frameworks and embrace and
understand web technologies
including HTTP, HTML and CSS.”
–ThoughtWorks Technology Radar January 2014

with this assessment:!
I don’t agree
managing frameworks were
server side, state
solution for problems
created to provide a
ifficult to solve with “simple
that are d
frameworks”. !
2004 is not the solution!
Going back to
A typical screen in one of our 1000+ pag
e
multi-tenant SaaS applications.!
Would a“simple framework” make it po
ssible
to maintain 3 of these 1M lines of code
applications with just 30 developers?
10 years of
Apache Wicket
2004
2004

Wicket is presented to the w
or
!

ld.!

Raise your hand if you still r
ead
TheServerside.com?
2004

The Server Side
2004

The orig
The Server Side inal Wicket website. We have
seen
several different stylings ov
er the years...
2004 2005
codehaus.org

The Server Side
2004 2005
codehaus.org

The Server Side

icket meetup in 2005 in
The first W
r at the Topicus offices.
Devente
2004 2005
codehaus.org

The Server Side
2004 2005
JSF

Wicket

Tapestry
codehaus.org

The Server Side

Struts 2
(originally Webwork)

The web framework sh
oot-out at
JavaOne 2005. Now th
at was fun!

Shale
2004 2005
codehaus.org

The Server Side

JavaOne
2004 2005
codehaus.org

1.0

The Server Side

JavaOne
2004 2005
codehaus.org

The Server Side

1.0
1.1
JavaOne
2004 2005
codehaus.org

The Server Side

1.0
1.1
JavaOne

2006
1.2
2007
2007

Wicket joins !
The Apache Software Foundation!
2007

ket meetups in
One of 3 Wic
rganised by Arjé
Amsterdam o
hn (Hippo CMS)
Ca
2007
2007 2008
1.3
2007 2008
1.3
2007 2008
1.3
2007 2008 2009
1.3

1.4
2007 2008 2009 2010
1.3

1.4
2007 2008 2009 2010 2011
1.3

1.4

1.5
2012 2013

2014
2012 2013
6.0

2014
2012 2013

2014

6.2 6.6 6.10
6.0 6.4 6.8 6.12
6.1 6.5 6.9 6.13
6.3 6.7 6.11
State of
Apache Wicket
1. core
2. extensions
3. spring
4. datetime
5. auth-roles
Mailinglist traffic
Commit activity

Wicket in Action
Wicket Cookbook
Commit activity

Wicket in Action
Wicket Cookbook

e a dent
used quit
ng has ca
tivities:!
book writi
related ac
ur Wicket
in o
ajor part.
plays a m
burn-out
In a Nutshell, Wicket...

– Ohloh report for Wicket
In a Nutshell, Wicket...
… has had 17,645 commits made by 52 contributors
representing 314,959 lines of code

– Ohloh report for Wicket
In a Nutshell, Wicket...
… has had 17,645 commits made by 52 contributors
representing 314,959 lines of code
… is mostly written in Java with

a well-commented source code

– Ohloh report for Wicket
In a Nutshell, Wicket...
… has had 17,645 commits made by 52 contributors
representing 314,959 lines of code
… is mostly written in Java with

a well-commented source code
… has a well established, mature codebase maintained
by a large development team with stable Y-O-Y
commits

– Ohloh report for Wicket
In a Nutshell, Wicket...
… has had 17,645 commits made by 52 contributors
representing 314,959 lines of code
… is mostly written in Java with

a well-commented source code
… has a well established, mature codebase maintained
by a large development team with stable Y-O-Y
commits
… took an estimated 83 years of effort (COCOMO model)

starting with its first commit in September, 2004

ending with its most recent commit 2 days ago
– Ohloh report for Wicket
Wicket 1.4
rity fixes only
secu
Wicket 1.5
rity fixes only
secu
Wicket 6
released along
continues to be
, monthlies will
side Wicket 7
onthlies when
nsform into bi-m
tra
resolved tickets
number of
subsides.
Java 6
semantic
versioning
Works wonderful for us. Only
snag: JQuery updates.
Monthly releases
also wonderful: no longer waiting
for a long time for a fixed bug.
Wicket 7
ch to say about Wicket 7:
not mu
no major API changes.
Java 7
Servlet 3
Minor API breaks
Wicket 8
Anything written here is just
speculation from my side. This is
not set in stone, this is not how
e are going to implement things,
w
or quite reasonably at all.
Java 8
PROJECT LAMBDA

“functional” programming
in Java
@FunctionalInterface
public interface ILinkListener {
void onLickClicked();
}
ILinkListener l = new ILinkListener() {
@Override
public void onLinkClicked() {
System.out.println("Klik");
}
}
ILinkListener l = () -> {
System.out.println("Klik");
}
ILinkListener l = new ILinkListener() {
@Override
public void onLinkClicked() {
System.out.println("Klik");
}
}
-of!

ILinkListener l = () -> {
System.out.println("Klik");
}
add(new Link<Void>("save") {
@Override
public void onClick() {
dao.save(object);
getSession().info("Saved.");
setResponsePage(new OtherPage())
}
});
add(new Link<Void>("save") {
@Override
public void onClick() {
dao.save(object);
getSession().info("Saved.");
setResponsePage(new OtherPage())
}
});
add(new Link<>("save").onClick(()-> {
dao.save(object);
getSession().info("Saved.");
setResponsePage(new OtherPage());
});
private void onSave() {
dao.save(object);
getSession().info("Saved.");
setResponsePage(new OtherPage())
}
!
!
!
!
!
!
private void onSave() {
dao.save(object);
getSession().info("Saved.");
setResponsePage(new OtherPage())
}
!
!

add(new Link<Void>("save")
.onClick(this::onSave);
!
!
A link with onclick,
visibility and body
add(new Link<Void>("like") {
@Override
public void onClick() {
person.likedBy(me);
}
@Override
public boolean isVisible() {
return person.isNotLiked();
}
}.setBody(new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
StringBuilder sb = new StringBuilder("Like ");
sb.append(person.getFirstName());
return sb.toString();
}
}));
add(new Link<Void>("like") {
@Override
public void onClick() {
person.likedBy(me);
}
@Override
public boolean isVisible() {
return person.isNotLiked();
}
}.setBody(new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
StringBuilder sb = new StringBuilder("Like ");
sb.append(person.getFirstName());
return sb.toString();
}
}));
add(new Link<Void>("like") {
@Override
public void onClick() {
person.likedBy(me);
}
@Override
public boolean isVisible() {
return person.isNotLiked();
}
}.setBody(new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
StringBuilder sb = new StringBuilder("Like ");
sb.append(person.getFirstName());
return sb.toString();
}
}));
add(new Link<Void>("like") {
@Override
public void onClick() {
person.likedBy(me);
}
@Override
public boolean isVisible() {
return person.isNotLiked();
}
}.setBody(new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
StringBuilder sb = new StringBuilder("Like ");
sb.append(person.getFirstName());
return sb.toString();
}
}));
add(new Link<Void>("like") {
@Override
public void onClick() {
person.likedBy(me);
}
@Override
public boolean isVisible() {
return person.isNotLiked();
}
}.setBody(new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
StringBuilder sb = new StringBuilder("Like ");
sb.append(person.getFirstName());
return sb.toString();
}
}));
add(new Link<Void>("like") {
@Override
public void onClick() {
person.likedBy(me);
}
@Override
public boolean isVisible() {
return person.isNotLiked();
}
}.setBody(new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
StringBuilder sb = new StringBuilder("Like ");
sb.append(person.getFirstName());
return sb.toString();
}
}));
add(new Link<Void>("like") {
@Override
public void onClick() {
person.likedBy(me);
}
@Override
public boolean isVisible() {
return person.isNotLiked();
}
}.setBody(new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
StringBuilder sb = new StringBuilder("Like ");
sb.append(person.getFirstName());
return sb.toString();
}
}));
A link with onclick,
visibility and body
add(new Link<>("like")
.visible(() -> person.isNotLiked())
.onClick(() -> person.likedBy(me))
.body(() -> {
StringBuilder sb = new StringBuilder("L
sb.append(person.getFirstName());
return sb.toString();
})
);
add(new Link<>("like")
.visible(() -> person.isNotLiked())
.onClick(() -> person.likedBy(me))
.body(() -> {
StringBuilder sb = new StringBuilder("L
sb.append(person.getFirstName());
return sb.toString();
})
);
add(new Link<>("like")
.visible(() -> person.isNotLiked())
.onClick(() -> person.likedBy(me))
.body(() -> {
StringBuilder sb = new StringBuilder("L
sb.append(person.getFirstName());
return sb.toString();
})
);
add(new Link<>("like")
.visible(() -> person.isNotLiked())
.onClick(() -> person.likedBy(me))
.body(() -> {
StringBuilder sb = new StringBuilder("L
sb.append(person.getFirstName());
return sb.toString();
})
);
add(new Link<>("like")
.visible(() -> person.isNotLiked())
.onClick(() -> person.likedBy(me))
.body(() -> {
StringBuilder sb = new StringBuilder("L
sb.append(person.getFirstName());
return sb.toString();
})
);
add(new Link<>("like")
.visible(() -> person.isNotLiked())
.onClick(() -> person.likedBy(me))
.body(() -> {
StringBuilder sb = new StringBuilder("L
sb.append(person.getFirstName());
return sb.toString();
})
);
add(new Link<Void>("like") {
@Override
public void onClick() {
person.likedBy(me);
}
@Override
public boolean isVisible() {
return person.isNotLiked();
}
}.setBody(new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
StringBuilder sb = new StringBuilder("Like ");
sb.append(person.getFirstName());
return sb.toString();
}
}));

add(new Link<>("like")
.visible(() -> person.isNotLiked())
.onClick(() -> person.likedBy(me))
.body(() -> {
StringBuilder sb = new StringBuilder("L
sb.append(person.getFirstName());
return sb.toString();
})
);

!
!
!
!
!
!
!
!

Anon inner classes: 17 lines
Java 8 lambdas: 9 lines
nashorn
JavaScript validation
ScriptEngineManager m
= new ScriptEngineManager();
!

ScriptEngine nashorn
= m.getEngineByName("nashorn");
!

nashorn.put("age", validatable.getValue());
String js = "age >= 18";
!

try {
Object result = nashorn.eval(js);
if(!((Boolean)result) {
ValidationError e = new ValidationError();
validatable.error(e);
}
} catch(Exception e) {
}
ScriptEngineManager m
= new ScriptEngineManager();
!

ScriptEngine nashorn
= m.getEngineByName("nashorn");
!

nashorn.put("age", validatable.getValue());
String js = "age >= 18";
!

try {
Object result = nashorn.eval(js);
if(!((Boolean)result) {
ValidationError e = new ValidationError();
validatable.error(e);
}
} catch(Exception e) {
}
ScriptEngineManager m
= new ScriptEngineManager();
!

ScriptEngine nashorn
= m.getEngineByName("nashorn");
!

nashorn.put("age", validatable.getValue());
String js = "age >= 18";
!

try {
Object result = nashorn.eval(js);
if(!((Boolean)result) {
ValidationError e = new ValidationError();
validatable.error(e);
}
} catch(Exception e) {
}
ScriptEngineManager m
= new ScriptEngineManager();
!

ScriptEngine nashorn
= m.getEngineByName("nashorn");
!

nashorn.put("age", validatable.getValue());
String js = "age >= 18";
!

try {
Object result = nashorn.eval(js);
if(!((Boolean)result) {
ValidationError e = new ValidationError();
validatable.error(e);
}
} catch(Exception e) {
}
ScriptEngineManager m
= new ScriptEngineManager();
!

ScriptEngine nashorn
= m.getEngineByName("nashorn");
!

nashorn.put("age", validatable.getValue());
String js = "age >= 18";
!

Object result = nashorn.eval(js);
try {
if(!((Boolean)result) {
ValidationError e = new ValidationError();
validatable.error(e);
}
} catch(Exception e) {
}
ScriptEngineManager m
= new ScriptEngineManager();
!

ScriptEngine nashorn
= m.getEngineByName("nashorn");
!

nashorn.put("age", validatable.getValue());
String js = "age >= 18";
!

Object result = nashorn.eval(js);
if(!((Boolean)result) {
ValidationError e = new ValidationError();
validatable.error(e);
}
try {
} catch(Exception e) {
}
ScriptEngineManager m
= new ScriptEngineManager();
!

ScriptEngine nashorn
= m.getEngineByName("nashorn");
!

nashorn.put("age", validatable.getValue());
String js = "age >= 18";
!

try {
Object result = nashorn.eval(js);
if(!((Boolean)result) {
ValidationError e = new ValidationError();
validatable.error(e);
}
} catch (Exception e) {
}
ScriptEngineManager m
=
!

ScriptEngine nashorn
= m.getEngineByName(
!

nashorn.put( was only a proof-of-concept
This
.
String js =is probably won
Th

’t ever fly due
!
to business entities residing on
try
server, and difficult to share those
Object result = nashorn.eval(js);
in browser, including I18N
m e = new
ValidationErroressages. ValidationError()
}
}

}

validatable.error(e);
java.time
support for this will be for
converters, validations and
possibly wicket-datetime
Roadmap
Anything written here is just
speculation from my side. This is
not set in stone. Dates are mere
guidelines.
Monthly releases
2014
feb

mar

may

6.1

4

6.1

6.1

-M

7.0

7.0

1

5

-M

2

jun

8

7.0

6.1

9

7.1
2015
feb

mar

7.1

7.9
8.0

-M

1

may

7.1

8.0

0

-M

2

jun

2

8.0

7.1

3

8.1
git organization
master
wicket-1.0.x
wicket-1.1.x
wicket-1.2.x
wicket-1.3.x
wicket-1.4.x
wicket-1.5.x
wicket-6.x
!

Current organisation of
our repository: master is
new development, rest
is maintenance.
master
wicket-1.0.x
wicket-1.1.x
wicket-1.2.x
wicket-1.3.x
wicket-1.4.x
wicket-1.5.x
wicket-6.x
!

x!
cket 7.
wi

Current organisation of
our repository: master is
new development, rest
is maintenance.
master
wicket-1.0.x
wicket-1.1.x
wicket-1.2.x
wicket-1.3.x
wicket-1.4.x
wicket-1.5.x
wicket-6.x
wicket-7.x
wicket-8.x

proposed layout: no more master,
but just product branches.
experimental modules
Jay! Many exper
imental modules
have been upgra
ded to core
modules! beanva
lidation, CDI-1.1,
web sockets will
be part of Wicket
core from 6.14 an
d onwards.
org.apache.wicket.experimental.wicket-6.x
wicket-atmosphere
wicket-bootstrap
wicket-new-examples
!

org.apache.wicket.experimental.wicket-7.x
Remaining
wicket-atmosphere
experimental modules
wicket-cdi-1.1
org.apache.wicket.experimental.wicket-6.x
wicket-atmosphere
wicket-bootstrap
wicket-new-examples
!

tstrap: bootstrap is
No more boo
org.apache.wicket.experimental.wicket-7.x
new examples:
ource reference to
no
just a res
wicket-atmosphere r
time to do anyth
CSS. Write you
t and
ing
JavaScrip
wicket-cdi-1.1 use
useful with them
0 lines of code) or
.
own (~1
’s bootstrap wicket
L0rdn1kk0n
component library.
Wicket 6.x

org.apache.wicket.experimental.wicket-6.x
wicket-atmosphere
!

Wicket 7.x

!

org.apache.wicket.experimental.wicket-7.x
wicket-atmosphere
!

How to separate the same
experimental modules in multiple
product lines?
Wicket 6.x

org.apache.wicket.experimental.wicket-6.x
wicket-atmosphere
!

Wicket 7.x

!

org.apache.wicket.experimental.wicket-7.x
wicket-atmosphere
!

Make the groupId specific to
the
product line, keep code as sim
ilar
as possible.
The state of Apache Wicket:
The state of Apache Wicket:

HEALTHY
DEVELOPERS

DEV

ENTER
powered by Topicus

More Related Content

What's hot

JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014Ryan Cuprak
 
Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Matt Raible
 
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019Matt Raible
 
Developing modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular jsDeveloping modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular jsShekhar Gulati
 
Choosing a Java Web Framework
Choosing a Java Web FrameworkChoosing a Java Web Framework
Choosing a Java Web FrameworkWill Iverson
 
A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019Matt Raible
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOPDzmitry Naskou
 
Html5 with Vaadin and Scala
Html5 with Vaadin and ScalaHtml5 with Vaadin and Scala
Html5 with Vaadin and ScalaJoonas Lehtinen
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with SpringJoshua Long
 
Better Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian PluginsBetter Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian PluginsWojciech Seliga
 
Java(ee) mongo db applications in the cloud
Java(ee) mongo db applications in the cloud Java(ee) mongo db applications in the cloud
Java(ee) mongo db applications in the cloud Shekhar Gulati
 
Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019Matt Raible
 
Backday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratiqueBackday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratiquePublicis Sapient Engineering
 
Java EE 8: On the Horizon
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the HorizonJosh Juneau
 
JavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkJavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkStephen Chin
 
Aligning Ember.js with Web Standards
Aligning Ember.js with Web StandardsAligning Ember.js with Web Standards
Aligning Ember.js with Web StandardsMatthew Beale
 

What's hot (20)

JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014
 
Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021
 
From JavaEE to AngularJS
From JavaEE to AngularJSFrom JavaEE to AngularJS
From JavaEE to AngularJS
 
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
 
Developing modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular jsDeveloping modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular js
 
Choosing a Java Web Framework
Choosing a Java Web FrameworkChoosing a Java Web Framework
Choosing a Java Web Framework
 
A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019
 
DataFX - JavaOne 2013
DataFX - JavaOne 2013DataFX - JavaOne 2013
DataFX - JavaOne 2013
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
 
Html5 with Vaadin and Scala
Html5 with Vaadin and ScalaHtml5 with Vaadin and Scala
Html5 with Vaadin and Scala
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Better Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian PluginsBetter Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian Plugins
 
Java(ee) mongo db applications in the cloud
Java(ee) mongo db applications in the cloud Java(ee) mongo db applications in the cloud
Java(ee) mongo db applications in the cloud
 
Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019
 
Apache DeltaSpike the CDI toolbox
Apache DeltaSpike the CDI toolboxApache DeltaSpike the CDI toolbox
Apache DeltaSpike the CDI toolbox
 
Backday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratiqueBackday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratique
 
Java EE 8: On the Horizon
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the Horizon
 
The JavaFX Ecosystem
The JavaFX EcosystemThe JavaFX Ecosystem
The JavaFX Ecosystem
 
JavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkJavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring Framework
 
Aligning Ember.js with Web Standards
Aligning Ember.js with Web StandardsAligning Ember.js with Web Standards
Aligning Ember.js with Web Standards
 

Viewers also liked

Wicket In Action - oredev2008
Wicket In Action - oredev2008Wicket In Action - oredev2008
Wicket In Action - oredev2008Martijn Dashorst
 
Barcelona you tube inquiry
Barcelona   you tube inquiryBarcelona   you tube inquiry
Barcelona you tube inquirybobbadave
 
Wicket Deliver Your Webapp On Time
Wicket Deliver Your Webapp On TimeWicket Deliver Your Webapp On Time
Wicket Deliver Your Webapp On TimeWill Hoover
 
Apache Wicket and Java EE sitting in a tree
Apache Wicket and Java EE sitting in a treeApache Wicket and Java EE sitting in a tree
Apache Wicket and Java EE sitting in a treeMartijn Dashorst
 
Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...
Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...
Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...Mario Heiderich
 
Apache Wicket: Web Applications With Just Java
Apache Wicket: Web Applications With Just JavaApache Wicket: Web Applications With Just Java
Apache Wicket: Web Applications With Just JavaMartijn Dashorst
 
Zimbabwe Culture
Zimbabwe CultureZimbabwe Culture
Zimbabwe Culturetwcheer
 

Viewers also liked (10)

Wicket In Action - oredev2008
Wicket In Action - oredev2008Wicket In Action - oredev2008
Wicket In Action - oredev2008
 
Wicket In Action
Wicket In ActionWicket In Action
Wicket In Action
 
Barcelona you tube inquiry
Barcelona   you tube inquiryBarcelona   you tube inquiry
Barcelona you tube inquiry
 
Wicket Deliver Your Webapp On Time
Wicket Deliver Your Webapp On TimeWicket Deliver Your Webapp On Time
Wicket Deliver Your Webapp On Time
 
Apache Wicket and Java EE sitting in a tree
Apache Wicket and Java EE sitting in a treeApache Wicket and Java EE sitting in a tree
Apache Wicket and Java EE sitting in a tree
 
Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...
Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...
Locking the Throne Room - How ES5+ might change views on XSS and Client Side ...
 
Wicket 2010
Wicket 2010Wicket 2010
Wicket 2010
 
Apache Wicket: Web Applications With Just Java
Apache Wicket: Web Applications With Just JavaApache Wicket: Web Applications With Just Java
Apache Wicket: Web Applications With Just Java
 
Zimbabwe Culture
Zimbabwe CultureZimbabwe Culture
Zimbabwe Culture
 
Génie Logiciel : les tests
Génie Logiciel : les testsGénie Logiciel : les tests
Génie Logiciel : les tests
 

Similar to State of Apache Wicket presented at DEVELOPERS DEV ENTER

Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applicationshchen1
 
Practical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobusPractical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobusJarrod Overson
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Edward Burns
 
JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017ElifTech
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Edward Burns
 
Adopt openjdk and how it impacts you in 2020
Adopt openjdk and how it impacts you in 2020Adopt openjdk and how it impacts you in 2020
Adopt openjdk and how it impacts you in 2020George Adams
 
내꺼내꺼
내꺼내꺼내꺼내꺼
내꺼내꺼misty915
 
Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Shivam Prajapati
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming languageMarco Cedaro
 
Five Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed CultureFive Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed CultureXebiaLabs
 
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEd presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEdward Burns
 
Cytoscape and the Web
Cytoscape and the WebCytoscape and the Web
Cytoscape and the WebKeiichiro Ono
 
Building frameworks: from concept to completion
Building frameworks: from concept to completionBuilding frameworks: from concept to completion
Building frameworks: from concept to completionRuben Goncalves
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 uploadDebnath Sinha
 
SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진VMware Tanzu Korea
 
An Introduction to GitHub for DBAs - Brent Ozar
An Introduction to GitHub for DBAs - Brent OzarAn Introduction to GitHub for DBAs - Brent Ozar
An Introduction to GitHub for DBAs - Brent OzarBrent Ozar
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Balanced Team
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerBill Scott
 
Parallel Extentions to the .NET Framework
Parallel Extentions to the .NET FrameworkParallel Extentions to the .NET Framework
Parallel Extentions to the .NET Frameworkukdpe
 

Similar to State of Apache Wicket presented at DEVELOPERS DEV ENTER (20)

Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
Practical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobusPractical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobus
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.
 
Adopt openjdk and how it impacts you in 2020
Adopt openjdk and how it impacts you in 2020Adopt openjdk and how it impacts you in 2020
Adopt openjdk and how it impacts you in 2020
 
내꺼내꺼
내꺼내꺼내꺼내꺼
내꺼내꺼
 
Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
 
Five Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed CultureFive Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed Culture
 
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEd presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
 
Cytoscape and the Web
Cytoscape and the WebCytoscape and the Web
Cytoscape and the Web
 
Building frameworks: from concept to completion
Building frameworks: from concept to completionBuilding frameworks: from concept to completion
Building frameworks: from concept to completion
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 upload
 
SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진
 
An Introduction to GitHub for DBAs - Brent Ozar
An Introduction to GitHub for DBAs - Brent OzarAn Introduction to GitHub for DBAs - Brent Ozar
An Introduction to GitHub for DBAs - Brent Ozar
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partner
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
 
Parallel Extentions to the .NET Framework
Parallel Extentions to the .NET FrameworkParallel Extentions to the .NET Framework
Parallel Extentions to the .NET Framework
 

More from Martijn Dashorst

HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0Martijn Dashorst
 
From Floppy Disks to Cloud Deployments
From Floppy Disks to Cloud DeploymentsFrom Floppy Disks to Cloud Deployments
From Floppy Disks to Cloud DeploymentsMartijn Dashorst
 
Converting 85% of Dutch Primary Schools from Oracle to PostgreSQL
Converting 85% of Dutch Primary Schools from Oracle to PostgreSQLConverting 85% of Dutch Primary Schools from Oracle to PostgreSQL
Converting 85% of Dutch Primary Schools from Oracle to PostgreSQLMartijn Dashorst
 
Solutions for when documentation fails
Solutions for when documentation fails Solutions for when documentation fails
Solutions for when documentation fails Martijn Dashorst
 
Java Serialization Deep Dive
Java Serialization Deep DiveJava Serialization Deep Dive
Java Serialization Deep DiveMartijn Dashorst
 
Scrum: van praktijk naar onderwijs
Scrum: van praktijk naar onderwijsScrum: van praktijk naar onderwijs
Scrum: van praktijk naar onderwijsMartijn Dashorst
 
Who Automates the Automators? (Quis Automatiet Ipsos Automates?)
Who Automates the Automators? (Quis Automatiet Ipsos Automates?)Who Automates the Automators? (Quis Automatiet Ipsos Automates?)
Who Automates the Automators? (Quis Automatiet Ipsos Automates?)Martijn Dashorst
 
Vakmanschap is meesterschap
Vakmanschap is meesterschapVakmanschap is meesterschap
Vakmanschap is meesterschapMartijn Dashorst
 
Guide To Successful Graduation at Apache
Guide To Successful Graduation at ApacheGuide To Successful Graduation at Apache
Guide To Successful Graduation at ApacheMartijn Dashorst
 

More from Martijn Dashorst (14)

HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
 
From Floppy Disks to Cloud Deployments
From Floppy Disks to Cloud DeploymentsFrom Floppy Disks to Cloud Deployments
From Floppy Disks to Cloud Deployments
 
SOLID principles
SOLID principlesSOLID principles
SOLID principles
 
Converting 85% of Dutch Primary Schools from Oracle to PostgreSQL
Converting 85% of Dutch Primary Schools from Oracle to PostgreSQLConverting 85% of Dutch Primary Schools from Oracle to PostgreSQL
Converting 85% of Dutch Primary Schools from Oracle to PostgreSQL
 
Solutions for when documentation fails
Solutions for when documentation fails Solutions for when documentation fails
Solutions for when documentation fails
 
Code review drinking game
Code review drinking gameCode review drinking game
Code review drinking game
 
Java Serialization Deep Dive
Java Serialization Deep DiveJava Serialization Deep Dive
Java Serialization Deep Dive
 
Code review drinking game
Code review drinking gameCode review drinking game
Code review drinking game
 
Scrum: van praktijk naar onderwijs
Scrum: van praktijk naar onderwijsScrum: van praktijk naar onderwijs
Scrum: van praktijk naar onderwijs
 
Who Automates the Automators? (Quis Automatiet Ipsos Automates?)
Who Automates the Automators? (Quis Automatiet Ipsos Automates?)Who Automates the Automators? (Quis Automatiet Ipsos Automates?)
Who Automates the Automators? (Quis Automatiet Ipsos Automates?)
 
De schone coder
De schone coderDe schone coder
De schone coder
 
Vakmanschap is meesterschap
Vakmanschap is meesterschapVakmanschap is meesterschap
Vakmanschap is meesterschap
 
Guide To Successful Graduation at Apache
Guide To Successful Graduation at ApacheGuide To Successful Graduation at Apache
Guide To Successful Graduation at Apache
 
Wicket Live on Stage
Wicket Live on StageWicket Live on Stage
Wicket Live on Stage
 

Recently uploaded

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

State of Apache Wicket presented at DEVELOPERS DEV ENTER