DrupalCon Portland 2013

Convirtiendo Drupal en el mejor servidor REST para las aplicaciones de una sola página

Matt Chapman  · 

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

alright thanks everybody for bearing with us on the slow start there welcome to the discussion on making Drupal the best rest server it's important for me to note that in this conversation I'm the outsider so we've got some seagulls that have been

doing amazing work on rest integration for Drupal 8 and this this talk should not in any way be interpreted as a criticism of anything they've done in fact it's the opposite they're doing amazing work and it's incredibly useful and I look forward

to working with them on the code sprint on Friday but so far I've not contributed anything towards the web services initiative so this is this is an outsider's perspective this is what someone who is just starting out with Drupal 8 when it's released

and once to investigate this Web Services thing might find out that's been the experience that I've tried to go through over the past few weeks as I've prepared for this talk so in my day job recently we went through a multi-week process of evaluating

front-end JavaScript MVC frameworks so things like amber and angular and knock out and you know I'm not sure that we found out which was the best of those many choices but what we definitely found out is that there are a lot of good choices these things

are very powerful most of their very easy to dive into with some pretty minimal JavaScript skills and so that just confirmed for me an intuition that had been growing that page reloads on the web are going to become a thing of the past and they're already

rapidly moving in that direction we're developing a whole new category of web developer that I think we might call client-side back end you know so it used to be you'd have JavaScript people who do front-end who make things look pretty but now we're

actually building our applications on the client side and so the server-side back-end developer is going to become more and more concerned with simply building good api's and providing performance data servers so I think we need to be ready for this I

think Drupal 8 is very aware of that and doing an excellent job and so I've spent my time not looking at the Drupal resources in terms of conversations about you know in the patch cues about issues of should we implement this way or that way I've sort

of my time looking at other things at other things that are implementing rest other things people have written about rest studying ROI ROI Fielding's dissertation that introduced the concept of rest and some of his further commentary on how you know rest

can be leveraged for for the future of the web so one of the other leading options that a lot of people are being attracted to for building web services is nodejs microsoft has gotten very behind promoting nodejs on their Azure cloud and they're hosting

really good free boot camps you know teaching people how to code javascript and nodejs to build server-side applications and the when I talk about nodejs by the way throughout this entire talk not just this slide I'm really talking about nodejs plus the

express module which makes it really easy to build web services it basically gives you your your put get post methods and you just attach them to call backs and you're done so that's been my experience as I've test things and benchmark and have

some numbers i'm going to show you but just just be aware it's not just pure nodejs it's nodejs plus express and the approach there is you know here's your interface what do you want to pass through it and the great thing about node.js being

non blocking as you can go and grab external resources from from different places and and build up complex documents complex resources that are a mash-up of data that can be served to the client very very quickly and you compare that to the the Drupal model

where we kind of assume all your data lives in our database you've built it out with content types and views and the tools that Drupal provides and we've done all the work for you and here's here's a faucet that you can suck it through so there

are two different approaches and and they're solving two slightly different problems so you know maybe it's it's an open question whether we ought to move in one direction or the other and I think that's something we can talk about but I think

it's it's something to be aware of so I decided to cast the issue that rests tries to solve is a user story you can read it there but as an API consumer I want to be able to discover all of the resources available to me via a small generalized set

of methods so that the service is self documenting rest is the solution that implements this user story so I'm going to assume people are basically familiar with with rest and the idea of using HTTP methods to access resources I've also assumed that

people are basically familiar with nodejs anybody not know what nodejs is i guess i should clarify that okay everybody knows what nodejs is so so we've got the basics down in Drupal 8 i mean the the rest server that's there right now I just pulled

it down from the git repository on Friday you know it does the basics and it does them well so what my notes here are the things that we still need to make improvements on things we need to finish on so maybe these will be motivations for things to work on

on the code sprint on Friday or to contribute towards so the the move to using hal hal jason as the format compared to we were talking about json-ld the last drupalcon that was a great choice because i think the the best rest api is give a choice between you

know receiving a resource that simply has links to all the dependent resources or that actually nests the dependent resources in them that's what that's what hell does it allows you to nest the right resources so in our sense you have a node it has

[ ... ]

Nota: se han omitido las otras 2.881 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.