Upload
alvaro-sanchez-mariscal
View
939
Download
0
Embed Size (px)
DESCRIPTION
During the last years we have been seeing a lot Javascript-based frontend tools becoming more and more popular. They are all wildly used because of the rise of Node JS. As developers we cannot ignore this revolution, but rather embrace it. In this talk I will speak about how to transition from monolithic applications to HTML5 apps + REST API's. From full stack developers to frontend+backend teams. I will also demonstrate how the development looks like using tools like AngularJS and Grunt for frontend development. Hurry up. They are coming...
Citation preview
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.
• 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!