Network/multi-user program

Roy Smith roy at panix.com
Mon Jul 21 19:15:15 EDT 2014


In article <mailman.12158.1405983216.18130.python-list at python.org>,
 Monte Milanuk <memilanuk at invalid.com> wrote:

> Any hints/opinions on what those drawbacks might be?  I know literally
> almost nothing about JS.  I worked thru a short generic tutorial a couple
> years ago, but nothing like these libraries I see people talking about
> now like jquery, angular, ext, and so on.  Hence my hesitation at adding
> another learning curve on top of python and the various libraries needed
> for this first 'real' project.

In the beginning, there was javascript.  It was used to do cutesy little 
things like animated U/I elements and perform certain actions when your 
browser detected events like clicking on a button or moving the mouse 
cursor over an image.

But, javascript is a real (if bletcherous) programming language.  It's 
got functions and variables and loops and if statements and classes (OK, 
it doesn't really have classes, but it has things that we can pretend 
are classes, if we squint hard).  It can talk to the network and 
generate HTML on the fly.  So, people started building a whole new kind 
of web site.

Instead of having an application running on the server which spits out 
HTML and CSS, and little bits of javascript to tweak those, we've got a 
full-blown javascript application running in the browser.  That 
application is retrieving data from the server, doing useful things with 
it, and totally managing the HTML that you see rendered in your browser 
window.  Things like jquery and (even more so) angular, backbone, ember, 
etc, are frameworks which make it easier to write these applications, in 
much the same way frameworks like django make it easier to write 
server-side web applications in Python.

The truly sucky part of this picture is that javascript is a horrible 
language, but you have no choice.  It's the only thing that runs in 
browsers.  On the server side, if you don't like Python, you can write 
your app in Java, or Go, or Ruby, or a host of other languages (even 
javascript, if you want).  On the client side, no so much.



More information about the Python-list mailing list