Django, Django Rest Framework and Angular2: RAD on SaaS platforms

Video in TIB AV-Portal: Django, Django Rest Framework and Angular2: RAD on SaaS platforms

Formal Metadata

Django, Django Rest Framework and Angular2: RAD on SaaS platforms
Title of Series
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
Django, Django Rest Framework and Angular2: RAD on SaaS platforms [EuroPython 2017 - Talk - 2017-07-10 - Anfiteatro 1] [Rimini, Italy] Rapid Application Development has been a major topic for the desktop development world. Yet, desktop development has proven to be at the end of its timeline and the latest major environment is now the web in its many forms (from browser to Electron and similars). Django offers an amazing infrastructure and Django Rest Framework an amazing middleware to solve most of the problems. The RAD development on Angular2 is then enabled by a set of libraries developed at Modal Nodes for both front and backend that ease the development of the front end tools and front end interactions with both unauthenticated and authenticated systems via JWT and Djoser. Specifically, we will see the changes in the metadata that will enable better interactions and the usage of both the backend elements and the front-end ones in order to ease development
Web page Intel Expression Mobile app Multiplication sign 1 (number) Survival analysis Client (computing) Software as a service Element (mathematics) Product (business) Web 2.0 Solomon (pianist) Latent heat Software Software framework Vertex (graph theory) Computing platform Modal logic Software developer Android (robot) Interactive television Code Planning Coma Berenices Stack (abstract data type) Coroutine Cartesian coordinate system Process (computing) Formal grammar Software framework Computing platform Right angle Game theory
Standard deviation Group action Code View (database) Multiplication sign Replication (computing) Computer configuration Different (Kate Ryan album) Software framework Endliche Modelltheorie Error message Descriptive statistics Social class View (database) Bit Computer configuration Software framework Freeware Data structure Expression Vapor barrier Computer file Wage labour Transformation (genetics) Markup language Real number Online help Rule of inference Code Metadata Element (mathematics) Power (physics) Goodness of fit Energy level Data structure Computing platform Rule of inference Standard deviation Slide rule Gender Interface (computing) Graph (mathematics) Interactive television Basis <Mathematik> Group action Cartesian coordinate system Frame problem Social class Library (computing)
Group action Java applet Water vapor Front and back ends Different (Kate Ryan album) Computer configuration Descriptive statistics Exception handling Touchscreen View (database) Software developer Electronic mailing list Sound effect Infinity Bit Twitter Category of being Data management Process (computing) Order (biology) Software framework Pattern language Summierbarkeit Reading (process) Spacetime Web page Point (geometry) Beat (acoustics) Computer file Connectivity (graph theory) Online help Drop (liquid) Element (mathematics) Number Latent heat Internet forum Representation (politics) Data structure Computing platform Standard deviation Information Interface (computing) Group action Limit (category theory) Frame problem Newsletter Radius Visualization (computer graphics) Web-Designer Personal digital assistant Statement (computer science) Social class Library (computing) Standard deviation Code Standard Model Direction (geometry) Decision theory View (database) Multiplication sign Set (mathematics) Mereology Data management Mathematics Software framework Vertex (graph theory) Endliche Modelltheorie Extension (kinesiology) Scripting language Service (economics) Electric generator Moment (mathematics) Metadata Physicalism Front and back ends Connected space Data model Exterior algebra Computer configuration Normal (geometry) Website Right angle Whiteboard Data structure Resultant Game controller Service (economics) Real number Web browser Distance Graph coloring Metadata Attribute grammar Revision control Task (computing) Slide rule Gender Projective plane Expression Interactive television Database Vertex (graph theory) Communications protocol
hello everyone we're going to talk about it as the title says junga generous and something else that is more
job our job as a there's a catch because the title you have on
the on the on the plan is not exactly the 1 that will be following because will find you find out don't want to spoil everything there's enough of that game of Thrones already so let's start with a fast I and itself little grammar Python developer and I love the survival of generous framework and I more that JS developer and work with the team in 9 Bologna with who does basically full-stack in many the different sex even the ones with the wrong P I think this is very important because it's 1 of the of the elements that brings me here today and it's the interaction with the customer and the designers and the end product that we are required to develop in fact being fought for designed for developers and 1 designer means that the designer is the 1 that interacts with the customer usually and interacts with the client that's that's once that specific shade of red or that specific for him for that specific elements on the platform on the front and on the front page on the web and mobile applications and the it's important because as quotas we want to stuff we hate the routine and this coders we would love to have uh the designers changing their graphical staff and be happy with that and have the clients and the customers be happy with that without us being bothered to change the CSS because that's not I work honestly and uh this is that research a sick it's we we hate that honestly and that we usually what we find ourselves doing is this and it's good because uh we usually find ourselves writing agenda application and we can put the 10 plates into the Django application and we're kind of happy with that and it's good but the real issue is that is that's we're unable to uh really uh use this flexibility that John Doe offers us so with the issue we have as the spanish so it says the Wiseman's question of the contains how the answer what does the issue we want to say that uh we we've seen before we don't want to repeat ourselves we don't want to do the same work all over again every time how that's that's in fact that the the world we want to define and want to express what we don't want to it's that explain the VIC right we I mean the customer already has exactly understood what we are going to describe of this world uh we know know the we we would love these uh API so the self document and what is more self-documenting then a
beautiful piece of code except accepted is not and we know that very well but it's difficult to make them understand uh and it's difficult to some really have it's uh explain to um to designer and 2 uh the softer and to the the the the end customer of the application so what we
found out as a team is that we need simple standard rules that standard rules with standard API that's the basis of restfulness and that's good because centered at the isocenter labor libraries and some the libraries means more time and more possibilities to create the famous tool for the ah designer to uh basically design and brought his own interfaces without that without our help and that is an enormous win because that creates a lot of time to be used for this and it's all a matter of how we want to describe the world In the talk in the previous session uh about the status of rest frameworks uh um I think 1 of the after that was not really uh dealt with what is the middle level description that these so uh tools that these libraries that uh in Python has can can offer with the considering that you using Django we could use many different ways to design our API are describe the world we want to uh defined as a the eyes In fact the error endless ways we could use gender class these views and personalize them to do the of the of the hard work of responding to our options coal to our gets those um and all the interactions that we consider useful we could describe a swagger file and said it's not that easy to do that in an automated manner uh with the Django and with for example rest generous framework so what did we so so we would need to describe our API in a completely different judges adjacent file and then expose that is of file through some uh way that has to be kept uh aligned with the real code of replication it we could use with so that it wasn't too good we could use the all you could we could use any kind of standard and we could use any kind of standard is a markup language any kind of standard based on uh Jason that barrier and we use UML with the uh with the graphs and designs and uh any kind of descriptive uh element or we could use any kind of transformation and there's always this is the rule once we have 50 standards and somebody thinks of a way to standardize the all in and universal standard we have win and up with 1 more standard to mess with do really want that honestly note because it's already a mess and we don't want entropy to kill us all sooner than needed this Donald Trump for that so considering that is starting with the Django framework as the basis for our for platform this is that the options that remain are basically 2 and it's junk class these views for generous framework let's go back to the basics so what are the 2 ways that we could use to come to work with we could use the again class these views are very was we can really define many kinds of interactions with them and the cool but it means defining and adapted for from Jan you to the outside world that shows us that meta information that power of Our model represents on the other hand we have genderist framework which is quite strict because it implements a real uh uh uh very uh free societies RESTful model and it is very descriptive on what kind of action and we can do we the elements but it has a uh it lacks on this on the description of data structures at least based on Python to the coding hinting features of Python 3 have not been yet very explored by the framework and we're trying to work on that on that on is through the description of the metadata 1 more thing that gender request frame generous framework offers is the options method it's an amazing tool uh how many of you use it to work on a generous framework common use generous framework that's up the hood again on the wrong rock that it's not obvious uh how many of you use the options that the that the metadata element of of generous framework it's and possibly the most amazing element that that that can be used because it really describes it uh I happen to be inverted to to been working on on foreign generator based on just that and it's amazing how much we can achieve with that and maybe sometimes it's a little bit under a descriptive but with just a few adjustments it becomes incredible a it tells you read the story of the deck and how it works how it interacts with stuff and how it
represents things will without but I I think the grounded on now training OK is um a sense
it's an amazing tool so what we have now
we have chosen gyrus framework so we suddenly have a back and some genuine generous
framework that keeps us on the database we have all the features of Django old it's uh expressed in the expressions of the rest School of MRF framework the rest framework given by generous framework we had the API exposed to generously again we have the metadata expressly options elements it so cool but we have added 2 layers on our and that's not cool it's not maintainable it's it's a mess because we have the model we have that say realize that we have the view that the view sets and so sometimes you don't have just once you realize for 1 model that would be a perfect world and some things you have to 3 4 from 1 specific model because we have 1 4 creation 1 for details 1 for uh listings 1 for all the specific views or a nested views or whatever so it becomes it risks uh the risk is making it becoming a really massive unrest we have we get something cool from that unless we can find a nice tool library that helps us doing cool things on the front of the and here comes the famous catch because I know that you could be a nice tool and die and angular for considering it changes number every 6 months that underlie our whatever the number that had the highest bidder wins at could be a nice tool but it has an amazing side effect it's and the really cool element and has of the really amazing um ability to describe and to enable really the structuring of meta-level a description of the world it does not work well with automated designers dragon drop assignments we have a library you of where we have developed a library to enable us to really use the work with angular and it's a nice leverage helps a lot of resources and shortens uh development time a lot but it doesn't help has held our designer so I was in to the alternative is to go for something pure javascript driven how many of you have to happen to know great CS but risk is an amazing tool it's extensible flexible and really beautiful dragon braucht webpage designer it's it was built for um nn newsletter in designing enough very WordPress fashion uh in order to help uh design and recreate there newsletter in a fashion in a in a simple way to keep all the elements on the control but it's really amazing tool as a platform because it's an easy to use for the signer from front to work with for the developers the only side effect is that it's pure JavaScript and there is no way to integrate jobless into the radius of the elements so um it that means that we have to create something magic pitch to connect the world's what if we could take the DRF metadata and generate due to group CS components from the standardized metadata what we mean by that suppose you have the same elements time suppose we have the elements we can work with described as as exactly as the generous framework as we have the all the methods to be we know all we know that we can have the get on the list we have no that we can uh have to get on the detail of the post the puts and the options that is really the and as such we can easily define how these elements have to be connected to each other and from that we can easily generate new components for the grapes platform the search it becomes quite easy to define a a simple way for the designer to take our metadata describing the API we have transporting into the that everything integrates yes looking at the site of our weather components live dropping them into the into the interface and saving the resulting elements as java script and the original JavaScript and CSS visitors a file can be generated directly from great CS is not easily version of all you know I and I totally agree but itrequires just to learn a bit of a and the designer can do that and the his code is perfectly version and the if you can be tracked and then the result in this yeah is that the developers can live in their own space defined their own data structures and their own uh data models these data models are then made visible through the metadata to the designer but as in the 2 read documents or analyze uh and papers and and results of discussions he just looks at the colors and starts designing the interface just looks at the components and starts designed there there the details and find what color the this the specific element has what um a pattern it has to take from that whatever other source and from whatever decision the customer that the that the customer makes on what kind of elements he wants to see it's not a pure angular way but it's it goes away it goes very far as a the as a data structure the so what are the contributions what what are the elements we are are we we have published and we will publish in the next in the next few days because these are the elements that really a that we're really trying to publish and transform into uh let's say better for the community the gender diverse framework metadata transform a tool that enables us to transform that that the generous framework metadata into a JavaScript that can be used on grapes JS in fact on 2 different situations 1 of them is great serious on the other hand we have the craziest the category any which is not strictly bound to grips yes but it basically helps as the mn to transform the data from not so that the data attributes in red CS from uh VOC concept saying that this dataset should go and take data from that specific back and and use this or that uh so long in that information to get the information from the back and then should expose that through this board that's templating and should read all these informations into 1 uh simple action that goes directly to the back and pulls the data shows them on the front and and that souls everything in with a simple uh as a simple task a simple repetitive tasks on the other hand has said there are some we're trying to standardize the work on on angular 2 was well under whatever as well uh I wouldn't discuss this that it's the way it was the main reason for this talk in fact uh because we were hoping for a certain amount of of changes in the in and the amplitude infrastructure would happen by now it didn't happen but it's it's an amazing frame argue that anyway and although the work we have done is right now uh will be published in the next few days as the model nodes by can management service uh which is a generic beckoned management uh platform for uh um anger to services enabling interaction with any kind of a flavored uh beckons for specific beckons if you write your own your own flavor Banham all in all this is the result of finally we can stay in our corner and hide behind or screens and be happy that we don't have to interact with customers except for the beginning where we have to easily discuss this but they're discussing the possibility to have the designer doing also that data modeling if possible and uh the designer talks to the customer and is happy and rich world the cabin keeps interacting with his friends the customers and we're all and everybody is happy and basically that was our main goal and we think that with this structure were able to go for that uh um I think we don't have the time for a full them also has say with the the next to the optimum well they waited I would say it's better if you may be asked to get some questions and I have some answers to give you some answers anyway these are the medium straighter get hub for me and the T but this statement protocols so good use the so taken her talk so what happens when you think you're doing a by candidates of goals away from the standard model sets and standard generic again because this is for me this is for getting people hide moderates for all greatly reduced in projects because their requirements that's the move there's what happened in you have just an acre you move better there are 2 aspects and the answer the 1st 1 is that the if there is an aspect that the that moves away from from from the classic model said then that we try to understand why it goes the away from the mold said and that at least in the last 2 3 projects that we worked on it was just a matter of describing the world for example if you put a light on if you like uh something then it's I like this post and it's put as over uh on the other hand if you think give of it as a physical action you want to have an interaction with a database and you want to put something on the database we you need to try something but then you need to physically represented as something different than it's more a matter of defining the interactions the actions on the the data as real physical things of that become active at a certain point models there are I have read some aspects of cannot be redirected to this for example and if you suppose you have different kinds of visualizations of the same elements where we have when we might have different detailed uh representation of the same a model that in that case the sum of its parts of the extended metadata that we've been working on extending the metadata generator to expose these kinds of information as well because it's the only way to go into that direction uh again I personally I think I feel more comfortable keeping the rest structure rigid and strict because it keeps the it I mean standardizing helps uh not getting the coal from the designer let's let's speak cynically we don't want to be called by the designer what how do I get to that information that we would love the designer to be able to do that by himself and saying OK this is the data structure that I need where it really get that let's see the the the the metadata or maybe let's see from the components if there is a component that keeps that gives me that information if that's missing then that's the good thing that's the kind of infinite the kind of work a lot because that's me that means that we need to explore a new way to expose information about and if look so the high impact of the Great so I've been working with you chairs which is physically distance from Anchorage we act as if I understood correctly and the correct answers looks pretty nice and how how far this is the greatest thing or is it's an is there a way for these it's like something like that if you will or water and for job jobless with for example for the jungle and to get a job and kind of the just found like the library the need for JavaScript and that would work like 3 or in the in the back and or read like is this moving forward to your this this implementing this wonderful thing of some the your question is if there is something like a day and for the Justice part like like in the greatest is obviously once the point the point on the on is the is the medium beat you talked about is it is it something like a or in for that just and is there a protocol like that great CS is just the front-end design and that's exactly the limit of the project and we've been experimenting with a with we for both for basically any platform right now uh because they enabled real on on web development on web pages as well so there is this possibility and it's quite interesting because it's a very uh interesting world to to explore the right now it's quite difficult to integrate various parts because the it's JavaScript and it's as the people from 2 typescript said OK stable new wildfire and so you don't get really to standpoint we say OK this is stable stuff let's put that together and see what happens there is this beautiful lake for every ship is slightly moving ended on exactly know in which direction and and were working on on trying to interested you have these elements interacting as a said but the most interesting project in that direction at the moment is possibly real to work with the norm but there are also smaller projects that try to just relying on uh as the light on the browser side to have a almost the deep connection with the database anyway can be interesting anyway can be explored again the most advanced further than that as real so it was seeking for the Great build it remember to break the thoughts and yet they do not that you're much fewer