Tuesday, January 28, 2014

Re: Do you think Django's future is threatened by JS frameworks in both client & server?

On Tuesday, January 28, 2014 1:00:31 PM UTC+5:30, Avraham Serour wrote:
you will eventually need to keep a couple of different codebases in some different languges.
Say you get popular enough and now you need to launch a desktop app, android and iphone.
Take dropbox for example, they have a web version, desktop, android and iphone (did I miss any platform?)
For desktop you can still use python and I don't think it is possible to make a desktop application with js.

There are javascript bindings for GTK and QT.
 
For android you'll need to use java and eventually you might use C++
 
For iphone you're stuck with objective-c (which I hate it more than js btw)
 
For mobile you could still use something like phonegap if you really love js.

 
Which mean means you *can* keep everything in JS.
 
Django always took an agnostic approach to client side, in my opinion this needs to change so not to risk becoming obsolete, but no need to rush.

And as you said these trends come and go fast, server side js is trendy right now and is relatively new, maybe it will stick around and maybe it will go away, python is getting popular but is not so trendy, I believe is has a more solid base.

Python is much nicer to develop in. JS is horrible in some ways (e.g. variables are global inless specifically declared local) that are hard to fix without breaking backward compatibility. Things like coffee script may help.

Unless you have a lot of code shared between the front end and backend, I do not see what advantage JS has.

Also I don't believe you need to be in such a hurry to jump on the server js train, this is new, meaning there are still few libraries around, and honestly I would first check the quality of the code of the libraries and frameworks, as php js has a low entry level, many people without much idea on what's going on are writing libs and releasing, this is good, people are learning, but be careful before using any code you see on the internet, I've seen too many spaghetti code and hacks in popular php frameworks.

best regards
Avraham



On Tue, Jan 28, 2014 at 5:59 AM, Brad Moore <mooreswe...@gmail.com> wrote:
The tech giants are pushing JavaScript more than Python these days.  JavaScript is said to be the future language for enterprise applications. I think Python will be around but will play a third place role behind JavaScript and PHP. Yes, I said PHP and I apologize but its true just look at the cloud support that is quietly being offered for PHP. I have used PHP extensively and it can be very good and very bad depending on the developer. .NET is terrible I almost quit an IT career before it started because we were forced to use Visual Studio and Microsoft technologies for web development in college. My opinion as long as good design principles are followed using an MVC approach all three are good choices. Python is not going to go away because it is being used to teach the next generation of computer scientists throughout the world. Get used to { } all over the place or just stick with Python and Django it will not matter.  


On Monday, January 27, 2014 5:44:12 PM UTC-5, damond...@gmail.com 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 django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
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/02a3d0f6-2304-422e-acc5-083d4af7d219%40googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

--
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 django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
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/5c1a22fa-ad3e-4d27-9789-b59d7da8f028%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment