4 ms·
> Answer 1) is plain wrong. I don't think that more than 10% of all web applications will benefit from SPAs. Your recommendation stands only for valley companie
by unoti 9y ago
> Answer 1) is plain wrong. I don't think that more than 10% of all web applications will benefit from SPAs. Your recommendation stands only for valley companies that have money to burn.
Actually it's very easy to put together a single page application today! Really easy, really fast, really practical. I'll lay out the basic steps below. But before that, an important note: several years ago, what you said was totally true. In, say, 2013, it would have been a big piles-of-cash-burning exercise to make a single page application. Today, though, it's actually quite simple, fast, and productive to create and deploy a single page application. Here are the basic steps, assuming you're using Angular 2 for example.
1) Generate your application. This is a single command line command.
2) Edit it a little, add a text box and some buttons.
3) Deploy it to google app engine; this is a single command line command, too.
The time investment is in learning how to write apps with Angular 2 or React. That is indeed a big learning curve, but it's way easier today than it was years ago. Angular 2 is way easier to write apps in than Angular 1 was. Deployment is easier than it once was.
My real thesis here is that today is a good day to embrace the modern web and try things a new way-- single page apps are actually much more straightforward and practical than they were years ago.
I totally agree that if your goal is to build a crud app for a client then Django is likely a superior approach. But if you're already a Rails developer that wants to learn something new, then SPA is a better investment of time than Django.
- spapas82 9y ago> 1) Generate your application. This is a single command line command. 2) Edit it a little, add a text box and some buttons. 3) Deploy it to google app engine; this is a single command line command, too. That will create a toy application. If you want to create a production application you need to handle data. To handle data you will need: * Tables / lists to display the data * Views to edit and display the data * Forms to edit the data * Auditing of the user actions * User authentication + authorization All these are not trivial to create in an SPA especially since you'll always need both server and client side code. With django (or rails, or spring or various other server only frameworks) you won't need to write client code and most of these components will be auto-generated (at leas their default values). For your last comment, I also agree that if you know rails then you don't really need to learn django since they are both similar (however I do profer django because of its no magic philisophy and because python is a better language than ruby) but I believe that you also don't need to go the SPA route until somebody specifically asks for an SPA and has good reasons asking for it (or you want to learn the technology and modern frameworks that surround SPAs). As a final comment, I have to say that really like all those modern frameworks (especiall react and redux) but I won't consider them for my day-to-day job since instead of creating something in 1 week I'd need 1 month using these technologies.
- unoti 9y agoI think you and I are actually not far apart on this at all. Everything you mentioned Django does well. And so does Rails. And I sorely miss the beauty of Django admin in the world of SPA's.