if all you want is not reloading the entire page (before going to "full logic pushed on the client, server just sends the data over") pjax takes maybe 4 lines of code.
On Wednesday, October 21, 2015 at 8:14:37 AM UTC+2, p a wrote: > > El miércoles, 21 de octubre de 2015, 3:39:34 (UTC+2), Rod Watkins escribió: >> >> So let me ask, was the conversion to a client side SPA worth it? Also, >> can I use just ractive and let web2py do the routing and some of the >> templating (I guess that sort of how Massimo did it in the estore project)? >> > > The conversion is still WIP, so I can't really tell. But my feelings are: > > - It feels faster and more professional as a user. Then menus and footer > are not reloaded, but above all, each ilbrary is run only once. Change page > in a multi page app, and you sure get the js libraries from the cache, but > they need to be run again. Do it in a SPA, and you run only the bare > minimum javascript code. > - In the mid term, you will tend to write lighter ajax json calls. That's > more efficient for small requests, and from the client side it looks more > modern. > - In the long term, you will see other chances for improving efficiency > with many nice frontend tools like webpack and gulp, like for example > translating the strings and preparing a bundle with all your minified > javascript, and your translations, in one file that you can gzip. > > On the downside, my app has several complex views that use heavy js > libraries: ckeditor, handsontable, jqplot, corefive filemanager and others > that most users don't need all the time. So I decided not to bundle > everything into a big webpack bundle. webpack apparently allows to break > your code into several bundles, but AFAIK if you load a web2py component, > your code is not run inside webpack, and you can't "require" libraries > using the normal mechanism. Furthermore, some libraries like CKEDITOR do > not work with webpack (neither require.js nor browserify), so I'm not using > ewbpack for everything. Instead, I load non-essential libraries with > jQuery.getScript, till the day comes when I have moved all views from > web2py into ractive views, and I can use webpack's "code splits". > > It has taken a lot of research to find and choose the libraries I like. As > Niphlod says, you either use a monster framework, or cherry pick one > library for each task. If you decide to go this way, I really like jquery > (it really pays to read the docs, it's even more useful that it first > seems), bootstrap (a time saver if you're not into UX and design), ractive > (using components) and jquery.form (you need it to send files through > ajax). I'm not so happy with CKEDITOR or page.js. webpack is super-pro, but > it may or may not be the best fit for your goal. > > See, I can't really compare the benefits of this approach versus Massimo's > store. I had one idea when I started and changed my mind since I started. > Look, I'm not a pro and I'm a first timer with front end frameworks (or not > frameworks), so if you can get an opinion from Massimo or Niphlod, you > should give that more weigth. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.