28
1 From Legacy Java to Dynamic Web and Mobile Applications Hongbiao Chen, Sr. Pr. Web Developer Ishita Verma, Software Engineer From Legacy Java to Dynamic Web and Mobile Applications

cuttingEdgepresentation0318

Embed Size (px)

Citation preview

1

From Legacy Java to Dynamic Web and Mobile Applications

Hongbiao Chen, Sr. Pr. Web DeveloperIshita Verma, Software Engineer

From Legacy Java to Dynamic Web and Mobile Applications

CUTTING EDGE 2014

Back End

From Legacy Java to Dynamic Web and Mobile Applications 2

Why Get Rid of HTML Responses?1

REpresentational State Transfer2

The Symantec Trust Center Application3

Server Side Frameworks roundup4

Mobile App Frameworks roundup5

CUTTING EDGE 2014

Why Get Rid of HTML Responses?

• Pushes you towards a decoupled RESTful design of reusing couple pool of resources for serving different clients

• Client side MVC have faster page load for most parts*.• HTML responses are just not very flexible. • Faster to iterate over presentation logic with client side

technologies.

*if you don’t often need to go to server to render

3From Legacy Java to Dynamic Web and Mobile Applications

CUTTING EDGE 2014

REpresentational State Transfer

"REST is defined by four interface constraints:

- identification of resources;-manipulation of resources through representations; -self-descriptive messages; and, -hypermedia as the engine of application state.“

From Legacy Java to Dynamic Web and Mobile Applications 4

CUTTING EDGE 2014

The Symantec SSL Trust Center Application

From Legacy Java to Dynamic Web and Mobile Applications 5

Give every “thing” a URILink things together Use standard methodsResources with multiple representationsCommunicate statelessly

CUTTING EDGE 2014

Technology Roundup: Spring

• Spring HATEOAS – provides common abstractions

(representaiton models, a Link class, API to build links pointing to Spring MVC controllers etc.) to ease building hypermedia driven REST APIs with Spring MVC in general.

• Spring Data JPA, – makes it easy to easily implement JPA based

repositories. • Spring Data REST

– uses Spring HATEOAS to automatically expose resources for entities managed by Spring Data repositories and leverages hypermedia aspects to do pagination, link entities etc.

From Legacy Java to Dynamic Web and Mobile Applications 6

CUTTING EDGE 2014

Technology Roundup: Play!

From Legacy Java to Dynamic Web and Mobile Applications 7

CUTTING EDGE 2014

PhoneGap & Sencha Architect

From Legacy Java to Dynamic Web and Mobile Applications 8

CUTTING EDGE 2014

Front End

From Legacy Java to Dynamic Web and Mobile Applications 9

Mobile App1

Web App2

AngularJS3

Jasmine4

Grunt5

CUTTING EDGE 2014

Mobile App

From Legacy Java to Dynamic Web and Mobile Applications 10

Sign In

CUTTING EDGE 2014

Mobile App

From Legacy Java to Dynamic Web and Mobile Applications 11

Home

CUTTING EDGE 2014

Mobile App

Presentation Identifier Goes Here 12

Home

CUTTING EDGE 2014

Mobile App

From Legacy Java to Dynamic Web and Mobile Applications 13

Certificates

CUTTING EDGE 2014

Mobile App

Presentation Identifier Goes Here 14

Certificates

CUTTING EDGE 2014

Mobile App

From Legacy Java to Dynamic Web and Mobile Applications 15

Certificate Details

CUTTING EDGE 2014

Mobile App

Presentation Identifier Goes Here 16

Certificate Details

CUTTING EDGE 2014

Web App

From Legacy Java to Dynamic Web and Mobile Applications 17

Enrollment

- Configure

CUTTING EDGE 2014

Web App

From Legacy Java to Dynamic Web and Mobile Applications 18

Enrollment

- Contact

CUTTING EDGE 2014

Top JavaScript MVC Frameworks

Source: InfoQ

CUTTING EDGE 2014

Features Comparison

Feature Angular Backbone Ember Knockout

Observables Y Y Y Y

Routing Y Y Y

View binding Y p Y Y

Two-way binding Y Y Y

Partial view Y p Y

Filter Y p Y

Module Y

Controllers Y Y Y

Directives Y Y

Factories Y

Services Y

Dependency Injection Y

From Legacy Java to Dynamic Web and Mobile Applications

CUTTING EDGE 2014

Community

Metric Angular Backbone Ember Knockout

GitHub Stars 20,797 17,169 9,448 4,675

Plugins 486 195 14 40

Sites using 106 86 ? ?

From Legacy Java to Dynamic Web and Mobile Applications

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 22

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 23

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 24

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 25

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 26

CUTTING EDGE 2014From Legacy Java to Dynamic Web and Mobile Applications 27

CUTTING EDGE 2014

Questions?

[email protected]

[email protected]

From Legacy Java to Dynamic Web and Mobile Applications 28