Completed
Last Updated: 20 Nov 2014 18:26 by ADMIN
Mike
Created on: 13 Mar 2012 21:46
Category: Kendo UI for jQuery
Type: Feature Request
390
Single Page Application (SPA)
In the long term, SPA features are absolutely necessary, especially when it comes to HTML5 apps (also in regard to Windows 8 WinRT or upshot.js - a key part of the forthcoming Microsoft RIA stack). 

A good SPA addresses the following issues:

- real permalinks
- page titles
- a working back button that fully degrades 
- different data states like http://bit.ly/zpybmz
- client side caching
- asynchronous updates/communication
- ...what else? (please add if I missed something)

Example SPA: http://pjax.heroku.com/ 
41 comments
Imported User
Posted on: 21 Mar 2013 04:18
Brandon Satrom: "We plan to deliver a prototype (alpha) implementation of SPA support in Q1, after which we’ll gather your feedback, as requested." 

So, is this the final SPA-implementation or "just" an alpha?
ADMIN
Brandon
Posted on: 21 Mar 2013 02:31
Delivered with the Kendo UI Spring 2013 release.
Ryan
Posted on: 23 Jan 2013 17:22
Why reinvent the wheel here when Angular.js already has a solid SPA implementation?  All you would need to do is implement the requested adapter at http://feedback.kendoui.com/forums/127393-kendo-ui-feedback/suggestions/2940577-angularjs-adapter-for-kendoui and you're done?
KordaMentha
Posted on: 21 Jan 2013 04:39
Please add to the Web MVVM Framework a way to load views handle view dependencies and relationships in the SPA routes etc. Also DOM Templates, According to recently read material Google and the Browser Manufacturers and the Standards Body largely being driven by Google (seem to have all the say) are going to build in DOM Templates into the Browser engine. The idea that a string in a JavaScript tag is a good way to approach a template is seriously floored it is essentially a long string not easy to debug as far as I can tell. One step forward and 20 back with this one. As if JavaScript and other - interpreted weak typed languages are not bad enough.

http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/

http://engineering.linkedin.com/frontend/client-side-templating-throwdown-mustache-handlebars-dustjs-and-more thorough test and comparison

http://blog.reybango.com/2010/07/14/jquery-javascript-templates-tutorial-inline-expressions-and-code-blocks/ how to debug

http://stackoverflow.com/questions/5240493/jquery-template-if-with-a-passed-string difficult to debug

http://stackoverflow.com/questions/5240493/jquery-template-if-with-a-passed-string error messages are not always precise
Tim R
Posted on: 07 Jan 2013 16:10
In regard to UI state persistence for applications that poll a database server asynchronously and update the UI in real-time, where it is required that the UI state not appear to be destroyed by the freshened dataset, e.g. collapsed groups should stay collapsed when the grid is told to rebind to the freshened data....and if it is destroyed, there must be a *highly performant* way for the developer to restore the UI state.

The minimalist solution to UI state persistencein in such an application requires three things
(1) a persistent unique handle for the UI element, such as a UID; 
(2) an event for each major UI state change, such as groupExpanded and groupCollapsed which event would provide direct or indirect access to the UI element and to its unique handle; and 
(3) convenient state property accessor and setter methods, which we already have in the form of addClass() and removeClass().  The state behavior defined by a class is already persisted in the CSS stylesheet. 

When these three requirements are met, developers can "roll their own" persistence solutions. As the three are the sine qua non for any persistence solution, I hope they would be slip-streamed to developers as part of the public API as soon as they're available, even before a fully baked persistence solution is available.  



Imported User
Posted on: 21 Dec 2012 19:16
The coming SPA features should support / simplify the integration of http://d3js.org/
Ryan
Posted on: 17 Dec 2012 19:33
I would especially like to see how this might integrate with one or more existing libraries rather than yet another complete framework. I enjoyed Derick's post on integrating kendoui with backbone.
Gary
Posted on: 15 Dec 2012 17:27
Dynamically Loaded Modules and Content. Splitter full screen layout. Dynamically loaded Navigation (Tree View, Panel Bar and/or menus). User Security using OAuth against a Microsoft backend (WCF Data Services/Rest Services and/or Web API). I am currently implementing all of this but would be good to see a reference implementation to help me structure and re-factor into production level code. Release is due in April 2013 so there time hopefully. Thanks
Jeff
Posted on: 14 Dec 2012 21:41
Thanks for the prompt input Brandon.  We look forward to looking at the alpha implementation and providing feedback.  Any information, at that time, that you have about your suggested SEO implementation (whether HtmlUnit or V8) would be helpful.

Thanks,
Jeff
Imported User
Posted on: 09 Dec 2012 02:43
"Would prefer to see a functional specification on how this is proposed to work and request community feedback"

+1
Jeff
Posted on: 09 Dec 2012 02:36
Can we get an update on this feature request?  Would prefer to see a functional specification on how this is proposed to work and request community feedback on the functional specification prior to releasing.  You have many devs interested in this feature and willing to provide feedback on your proposal.

Also, when will it be released?
Imported User
Posted on: 01 Dec 2012 20:56
SPA has now definitely reached the enterprise: Enterprise Apps Are Moving To Single-Page Design: http://techcrunch.com/2012/11/30/why-enterprise-apps-are-moving-to-single-page-design/
Jason
Posted on: 20 Nov 2012 21:59
Yes please
Imported User
Posted on: 02 Nov 2012 22:19
Cache and load static files from local storage, example / more infos: 
http://news.ycombinator.com/item?id=4733102
Imported User
Posted on: 17 Oct 2012 14:26
Don't forget:
- TabStrip contents containing Grids, Graphs, complex entry form, or another nested TabStrip. 
- Window having other nested KendoUI widgets in its content. 
- Nested wigets should 'lazy' load or load on demand? 
- MVVM events wiring between widgets?
Imported User
Posted on: 04 Sep 2012 01:57
+1 for PersistenceManager and View managers 

Unfortunately it seems that telerik has no intention of supporting this proposal.... instead they are developing a library for JSP (!?!)  http://www.kendoui.com/blogs/teamblog/posts/12-08-21/announcing_the_kendo_ui_q3_2012_roadmap.aspx
John
Posted on: 04 Sep 2012 01:50
I would like to see some of the SPA features from mobile in web eg
PersistenceManager for treeview controls
View managers
etc
Eldon
Posted on: 23 Aug 2012 14:37
+1 
See the http://www.jboss.org/jdf/examples/ticket-monster/tutorial/UserFrontEnd/
IMHO, KendoUI must have a feature like backbone route in MVVM framework.
Imported User
Posted on: 17 Aug 2012 17:41
I think most of this is easily doable with KendoUI.  I do agree that integrated support for working with the back button and asynchronous protocols like websockets and comet would be useful.  There should be an option to use <a> tags instead of <span> tags for navigation controls like kendoMenu and kendoTabSet
Imported User
Posted on: 29 Jul 2012 21:36
Another SPA-related topic:
http://stackoverflow.com/questions/680785/on-window-location-hash-change
Jeff
Posted on: 25 Jun 2012 17:02
Related suggestion - http://kendo.uservoice.com/forums/127393-kendo-ui-feedback/suggestions/2953553-completely-render-bound-widgets-within-dom-for-ser.

Requested complete DOM rendering to allow for server-side javascript rendering.
Imported User
Posted on: 06 Jun 2012 20:22
And a guidance on module management through a package such as RequireJS or Closure Compiler.
Imported User
Posted on: 01 Jun 2012 15:35
SPA has also a high priority @ Microsoft http://www.asp.net/single-page-application
James
Posted on: 01 Jun 2012 13:57
The difference is that you're using legacy non-REST based services. Further you can tailor your services to work with Kendo instead of what the reality is for most, which is that the services MUST be STRICTLY REST compliant because 3rd parties will be using them.

As for being local, that's great... until you need to be able to do server side paging, select, filtering and sorting. Then you need OData as part of your GET requests.
Robert
Posted on: 01 Jun 2012 01:31
James: It seems I am using the KendoUI toolset in a different way than you are. Most of my projects were previously silverlight apps, so I tried to mimic logic as much as possible. Instancing my proxy is very similar to doing it in C#, and tried to implement MVVM as closely as possible. As far as my widgets are concerned all the datasources are local. This way though I get more control over my logic, and a conversion to javascript is more straightforward.

Back to OP... In terms of his Client Side Caching request, I have a need for that right now which is why I still have one app in Silverlight using Isolated Storage. Offline storage of data will not be available until IE10. So if Telerik could build a smart storage component that could intelligently toggle between Flash/SL/HTML5 storage depending on what is available on client, that would be very useful. He didn't really elaborate on the caching idea so he could be referring to something completely different, but this is what I took out of it.
Imported User
Posted on: 31 May 2012 20:39
wow, the SPA-Framework "Meteor" raised $9 million today:
http://gigaom.com/cloud/scoop-meteor-gets-9m-in-funding/
SPA really seems to be a hot topic at the moment
James
Posted on: 31 May 2012 20:20
Robert: Because Kendo doesn't send POST, PUT and DELETE properly. So you have to guess at what it needs and hack it to work. Making it a POST or PUT or DELETE type is easy but you also have to:

Use the parameterMap to make sure that you json.stringify the return values otherwise it posts as form data which causes havoc.

Then on the delete you have to return null in the parameter map, and implement a function on the delete that takes the IDs from the schema/data and passes those as one or more parameters on the URL as per the REST spec from the WC3. (ostensibly because jquery does it wrong too, and Kendo is content with doing it wrong as well as long as it follow's the same wrongness as jquery, or so I'm told by support)

Hence what should be about 6 lines of code to have a data source that works against a truely RESTFUL data source, it turns into about 40... per data source!

To say nothing of history, client side caching etc.
Robert
Posted on: 31 May 2012 20:15
I'm not sure why you can't build single page applications with KendoUI as it is now. I am already using KendoUI in 4 different SPA sites. I built a WCF/JSON/Javascript proxy code generator to output all my DataContracts/OperationContracts/Handlers... Then I split out all my code into Asp.Net User Controls.  I don't perform any postbacks at all, session/viewstate are disabled, the user controls are only for organizing HTML/Javascript in a neat folder structure. All user controls just get dragged into the MainPage. So it only hits the page_load one time, all requests are sent through WCF Service with JQuery.

I actually requested a WCF/Javascript Proxy code generator in one of my user voice posts, last I checked I didn't get a response so I just built one myself.

Also if you are building LOB applications all JSON requests should be POSTS so when you use SSL your data is protected.
Jason
Posted on: 12 Apr 2012 23:41
- HTML 5 Socket API 1 byte to make a connection down from 150 bytes and from 50ms for a call to 1 ms 
Imported User
Posted on: 11 Apr 2012 23:00
Another example for a single page framework http://www.meteor.com/
Imported User
Posted on: 08 Apr 2012 19:46
This may also be relevant for a SPA: JavaScript caching framework for client side caching in the browser, comments and link to github here: http://news.ycombinator.com/item?id=3813665
Imported User
Posted on: 27 Mar 2012 16:38
+1 for this idea. Please do also vote for this related proposal: http://bit.ly/Hhr4l0
Imported User
Posted on: 27 Mar 2012 14:24
Don't forget "Managing Views in Single Page Application" 
Related forum post: http://bit.ly/HbSbj3
Imported User
Posted on: 23 Mar 2012 01:45
+1 for this feature
Imported User
Posted on: 18 Mar 2012 22:03
This is definitely a must have feature
Imported User
Posted on: 17 Mar 2012 20:35
I thought the upcoming KendoUI release will have such SPA features!?! really disappointed...
Imported User
Posted on: 16 Mar 2012 19:18
This is absolutely the future of the web apps.
ADMIN
Telerik Admin
Posted on: 16 Mar 2012 15:38
Not at all, just thought you were refering to mobile apps development. I will pass your request to the team.
Imported User
Posted on: 16 Mar 2012 02:34
Single Page Applications seems to gain  more and more importance: http://news.ycombinator.com/item?id=3709433
Imported User
Posted on: 15 Mar 2012 14:46
Thanks for your response. That means, you recommend using Kendo UI Mobile instead of KendoUI Web for my website which is target at desktop browsers? 
Imported User
Posted on: 14 Mar 2012 15:49
Related proposal: http://kendo.uservoice.com/forums/127393-kendo-ui-feedback/suggestions/2616963-all-widgets-should-have-a-destroy-method