I just shipped my first commercial web application and found that writing 
the backend with django was still a big win because the platform is so 
stable and feature rich.

Authentication out of the box
REST api with django rest framework
ORM / migrations / etc with core django and south
mod WSGI + apache + postgres (well documented and makes for a solid 
production environment to run your django web app)

I decided to use ember.js and ember-data for the frontend and really 
enjoyed the framework after I got over the learning curve/ cliff 

I found this separation made it easier to test / reason about / maintain 
because the first time around Selenium was really my only option for full 
stack GUI tests (as half of it was rendered server side / but then jQuery 
soup would take over and manipulate the dom at certain points). And after 
you get a few of these tests written you realize how slow the feedback 
cycle is **then suddenly you're not doing TDD anymore -QA like feedback 
(and this is not what developers need for GUI development)

Having the client GUI code be 100% JS gave me the testing story I've been 
looking for -speed + a nice api for writing integration tests.

The only challenge was learning all the tech required to build this (both 
client / server side). I work with django daily and found writing REST apis 
is almost no code so the bulk of my learning was on the frontend. But for a 
developer just out of school this might seem like a HUGE amount to learn 
before you can be productive (the reason a single shared JS codebase would 
be an advantage obviously). That said, I still think django + ember (or 
something else) is a great platform to build web products with.



On Monday, January 27, 2014 4:44:12 PM UTC-6, [email protected] wrote:
>
> Hi,
>
> I would like to know if this community is somewhat worried about the 
> future relevance of Django (and other purely server-side MV* Python web 
> app frameworks such as web2py for that matter) given the current momentum 
> of JavaScript (JS) everywhere?
>
> There are many competing architecture patterns for a WHOLE web app today 
> ranging:
> a)  from client-heavy SPA with a client-side MVC framework synching its 
> models via a REST API with a server-side reduced to a database access layer
>
> b) to light client apps with a server-side MVC frameworks and very little 
> or no Ajax 
>
> c) and everything in the middle.
>
> I guess it is not too controversial to say that which is best (or even 
> merely adequate) depends on the generally moving target of the app 
> requirements (especially the non-functional ones) and thus a long 
> lifecycle app can be expected to have to change pattern at some point.
>
>
> Given that:
> 1) full web apps following any pattern can today be developed exclusively 
> with JavaScript (JS) frameworks on both sides who have incorporated most 
> (if not all) great design ideas from Django (and Rails)
>
> 2) IDEs ranging from Visual Studio to browser-based ones are available to 
> support such development
>
> 3) Python in the browser projects do not yet provide productive debugging 
> support (and will they ever without support from a tech giant?)
>
> 4) Cloud giants (Amazon, Google, Heroku, Microsoft) all offering JS framework 
> running servers
>
> are the productivity gains from the more legible, concise and abstract 
> Python code as compared to JS code really compensate the productivity 
> loss of having to port part of the app from one language to other every 
> time it must be pushed from one side (say server) to the other (say 
> client), or even to maintain a code base in two languages instead of one?
>
> Why then adopt Django (or web2py) for a new project today, instead of 
> going pure JS?
>
> I am a big Python fan in terms of design and principles, but I am fearing 
> that it has started to lose the popularity/adoption/community size battle 
> against JS, which, from a pragmatic productivity standpoint is relevant 
> and thus potentially snowballing after a tipping point is reached. Trends 
> are deadly fast in web development, cf. how quickly J2EE+static HTML, then 
> J2EE+Flash and .NET+Silverlight have fallen from grace.
>
> Any thought on this?
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/f72ab156-0687-4636-8e3a-75188b772f8c%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to