DjangoCon 2015

Los retos de enseñar a programar con Django

Caleb Smith  · 

Transcripción

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

hi folks Thanks and so welcome to the D is silent challenges in teaching Django my name is Caleb Smith I've programmed in a handful of various languages including Python and more recently i'm doing a lot of closure development and i've studied

music education and i recently taught as an adjunct professor for the school of journalism at the University of North Carolina Chapel Hill wow thanks go heels and yeah and yes we we taught Django and that was great time so I wanted to sort of take this talk

to sort of reflect on some of those ideas some of them you know mistakes and successes that that I had with with figuring out how to how to teach this thing so that hopefully will it will help you for when you're helping teach okay so the first challenge

um the D is silent right okay that's that's kind of an easy one so it is pronounced Django okay now what I think will is the challenge we really can't possibly see this right like no matter how big the projector is now this chart is actually made

somebody made it for Ruby on Rails I pulled it from the code fellows blog but this is all the different skills involved right so you know replace Ruby with Python replace rails with django and it's all the same right so this has what you can imagine right

it has unix command line and text editors right e's and version control and test driven development and you know the list goes on right and this is only expanding from my perspective right so you see rich clients and all these things on the front end that

are expanding um but the back end isn't always shrinking right like isn't it hard to build a micro service effectively even if the back end is small right there's a lot involved there's a lot of monitoring right um and this is always changing

I don't think this chart I mean this chart is only a year old i don't think it even has you know search indexes or message queues or you know many of these other pieces that we're finding that we're adding to our backends right so this is only

growing and so I think honestly this is what presents the biggest challenge to teaching Django or whatever the framework is right is just there's a lot involved so you kind of have to unpack it so stepping back from that a little bit what what are sort

of the core aspects of the design of Django and and you know I want to say like what does that imply in terms of when you're teaching or learning Django how does it help or how is it may be present a challenge so I think that Django maximizes for the ninety

percent case very well but it tries to be extensible for uncommon cases also there's you know a high emphasis on documentation and testing there's sort of this batteries included approach and you hear a lot configuration over convention right or as

stated in designs in a Python explicit is better than implicit right so i think that's overall like a good overview of of Jango's design so what are sort of the benefits of these choices right good documentation is a clear benefit I think that Django

has excellent topic level documentation um and I think it serves as a model for a lot of other free and open source software and that's great um I think that the tutorial the official tutorial is actually a great tutorial but i think it's not a perfect

intro right if you've ever set someone in front of it and said LuAnn Django here's the official tutorial it's kind of dense and meandering and it's not the best first tutorial I would assert that the Django girls tutorial is the best first

tutorial it's excellent so thanks to the community for helping create that it's it's amazing ok so another piece is this easy access to quality libraries right um with some of the other frameworks micro you know smaller frameworks flask and such

um there is there are great libraries there right but I the batteries included part of django does mean that if you've helped someone install django they already have a lot of great libraries right so at first they probably don't need let's say

caching but in a few months when they do it's it's right there right and you kind of just help steer them there so that's I think a benefit to batteries included there's kind of less integration work right the javascript pieces are flexible

because Django is pretty hands-off with respect to JavaScript and not all back in frameworks are I'm often kind of surprised as a Jenga developer when I look at certain frameworks and see you know how much it gets into the front end right how much it kind

of bleeds into it and I I think also Django makes reuse fairly simple in terms of you add a third party app and it can make a lot of assumptions about your project knowing that it's a Jenga project right so i can add a third party app and it knows that

it has the access to the 0 VAR m right and it's not always true with with with some other choices i think that the configuration over convention has this great benefit that at least to me it's always felt like an invitation to explore it means that

as a beginner I'm not ready to learn all of the configuration there's a lot right and there's different ways you can do layouts but it means that when i'm ready to sort of tackle that i can dig and even if the rabbit hole gets kind of deep

i can go look and say you know what is static route what does that do what is it set to and i can i can look it up right and i think if you privilege convention over configuration that peace can get a little harder right it's kind of harder to know how

what the framework is doing it's more implicit okay so that said what are some of the challenges right so there are some challenges I think one of them is JavaScript integration while I appreciate the way that Django has hands off many beginners find it

kind of challenging because there's not a lot of structure right if you come to django and you've done some front-end and you say well how do i do ajax right or how do i do these other pieces of sort of integration with django and it's it's

a little bit open right so that's one challenge that I think falls out of that design another is that because its batteries included you often come across this you know I'm just making a small app do I really need all of Jango right Jane comes with

[ ... ]

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