embrace the front-end revolution - sánchez-mariscal

Post on 05-Jul-2015

157 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides from Álvaro Sánchez-Mariscal talk @Codemotion Roma 2014

TRANSCRIPT

Embrace the front-end revolution

Álvaro Sánchez-Mariscal Web Architect — @alvaro_sanchez

About me• Passionate software developer.

• Worked at IBM BCS, BEA Systems and Sun Microsystems.

• Founded Salenda in 2005.

• Working now at Odobo as Web Architect.

• Living between Madrid and Gibraltar.

• HTML5 games platform for:

• Game developers.

• Casinos.

• Check out https://play.odobo.com and try for free!

The front-end revolution from a human resources perspective.

Full-stack Frameworks

Monolithic!

Monolithic frameworks

• The views and the business logic are packaged together.

• Server-side generated views.

• Full-stack frameworks require full-stack developers.

The full-stack developer

Can write code on every layer of the

application.

Q: How do you see yourself as a developer?

http://poll.fm/4qjo0

• Great if they are really full-stack.

• Not so good if they are back-end developers, with some jQuery knowledge and pixel-up-down-ok CSS skills.

• Makes less sense when your company has truly front-end developers.

Full-stack developers

The front-end revolution

The front-end revolution facts

• Javascript community is HUGE. Lot of developers out there.

• NodeJS is the new framework for hipsters.

• There is a lot of tools built with/around NodeJS/Javascript.

Tools a front-end developer will love

The front-end revolution from an architectural perspective.

REST

REST is much more than just returning JSON.

RESTful is aboutRESTful is about*Client / server.

Stateless.

Cacheable.

Layered.

* Source: Wikipedia.

Statelessness

• Full-stack frameworks are usually stateful.

• They use the HTTP session.

• “ST” in REST stands for State Transfer.

• Client needs to transfer its state on each call.

Break down your apps

• Separate the front-end from the back-end.

• Front: a pure Javascript/HTML/CSS application.

• Back-end: a REST API.

Break down your apps

Break down your apps

Advantages

• Single Page Applications are more responsive.

• All the page changes are in the browser.

• UI and API are deployed separately.

• You can redeploy as many times as you want, to do A/B testing, for example.

Advantages

• Scalability.

• It’s way more easier to scale pure Javascript applications.

• Separation of responsibilities.

• Developers can concentrate on making each tier a robust and secure system.

Advantages

• You get ready from the beginning to expose an API. Can be useful for

• Public consumers.

• Mobile applications.

• Back-office applications.

Demohttp://bit.ly/grails-angular

Conclusions

• Think whether your team/company has full-stack developers or not.

• Think if the teams need to scale.

Conclusions

• From a RESTful point of view, you need to achieve statelessness.

• For that, you need to avoid server-centric, full-stack frameworks.

• Break down your applications into a truly Javascript front-end + REST API.

Álvaro Sánchez-Mariscal Web Architect — @alvaro_sanchez

Grazie mille!

top related