Project Description
jsAppWebPart is a research project aims to provide a common infrastructure to develop, deploy and deliver js/CSOM based application for SharePoint 2010.

It has a nice end user experience, and there is a standardized way to develop/deliver js/CSOM apps from the developers’ perspective.

The purpose and the goal of the jsAppWebPart

Making js based app with CSOM for SharePoint 2010 has some routines. Even if you get the right js/html/css files done, you still need to deploy it to SharePoint. To address that, there are several options – from adding CEWP on the page to developing custom web part. As far as we want to provide some settings for the end users, custom web part seems to be the most preferable way to implement and deliver your solution. In turn, it requires web part creating, some server side coding, some modules, receivers and the rest.

So, the idea is to create a common infrastructure to avoid most of the SharePoint related coding (especially server side one), to provide a standardized way to create, deploy and manage your js/CSOM apps. That’s exactly where jsAppWebPart for SharePoint 2010 come.

Anyway, let's take a look:

Add jsAppWebPart on the page:

jsAppWebPart-1.png

Select target js application:

jsAppWebPart-4.png

Enjoy the result:

jsAppWebPart-5.png

Getting started with jsAppWebPart

Simply saying, jsAppWebPart is a sandboxed web part which allows you to pick and set up the js based application from the app repository. There is a nice end user experience for that, and there is a standardized way to develop/deliver js apps from the developers’ perspective.

More information about end user experience could be found here:
jsAppWebPart for SharePoint 2010 – one more way to craft a js based apps, part 1

More information about developer experience could be found here:
jsAppWebPart for SharePoint 2010 – one more way to craft a js based apps, part 2

What’s next?

Currently, jsAppWebPart is a proof-of-concept project. However, there are some ideas to work out and see how they would look and work like.

Application repository” and “application picker
This feature was already implemented and described in the post. The idea is to have a centralized way to store and deploy js based app, to provide a consistent UI for the end user.

Application version picker
jsApWebPart has built in “versions” for the js apps. Bu default, the latest version of the app is used. However, it would be nice to be able to select the target version of the application via app picker.

Application properties
It would be nice to have not just app picker, but also app propertied grid/settings. It could be a json object to be serialized as a part of the web part definition/property and passed/available to js app via token.

Caching and better performance
As html content of the application is something what isn’t changes frequently, it could be cached/precalculated to avoid fetching/token processing.

Custom tokens
It would be nice to be able to extend built in tokens with custom one. Implementation is quite unknown yet, but possible.

Contribute, suggest and share you experience

jsAppWebPart is being developed now. We are planning to make a public release soon. However, any contributions are highly appreciated!

Last edited May 7, 2013 at 2:35 PM by avishnyakov, version 9