Tip

Easing SharePoint development with Quick Apps for SharePoint

Microsoft server-based technologies are .NET under the hood. That's especially beneficial with SharePoint, which is a .NET code generator that provides a .NET environment within which custom apps are easily hosted.

This feature, which Microsoft calls Apps for SharePoint (formerly Web Apps for SharePoint) reduces in-house application design burdens considerably. Placing code within Apps for SharePoint relieves the app designer from having to code from scratch workflows, metadata access and usage. A custom app can access the existing SharePoint code for that functionality without extra effort. As a result, for example, any app that requires workflow (routing of messages generated by the app to and from Exchange) can be developed much faster. SharePoint handles the user interface (UI), data layer, security and administration of the app. The only piece to worry about is truly custom code.

The app programming model we know and love

    Requires Free Membership to View

Placing code within Apps for SharePoint relieves the app designer from having to code from scratch workflows, and other items.

SharePoint 2013 extends the hosted-app feature to easily integrate custom apps with its recently enhanced functionality (improvements in search, taxonomy, workflow and data source connectivity in particular), and the app programming model is familiar to most developers. The hosting of the app is language-agnostic (the client may be .NET, of course, but also HTML, PHP, JavaScript and so on), and multi-tiered, for scalability. Better still, the data layer doesn't need to be built on SQL Server.

(A strength of the model is broad native client support, including not only Windows but also iOS and Android, which bodes well for mobile SharePoint deployment of custom apps. This development has kinks, but it's part of the Microsoft roadmap.)

Conventional .NET apps may be accessed by Web services and connected internally via a number of methods (APIs, REST, and so on) and this is true of apps for SharePoint as well. And the model supports OAuth 2.0 to make third-party access easier.

Customizing the cloud

This gets tricky with Azure, which has its arms wide open to receive SharePoint now. Microsoft is pushing SharePoint in the cloud hard, and there are clear economic benefits and functional convenience to cloud-based SharePoint. But what are the cloud-based consequences for Quick Apps for SharePoint?

With SharePoint 2013, Microsoft has deployed a cloud-specific app model to accommodate Quick Apps for SharePoint, and it provides the primary feature we care about: the ability to distribute the app across tiers to optimize performance. Architecturally, Microsoft couldn't have designed it another way, because SharePoint Online is a massive multi-tenant environment, so the components of a custom app may be implemented differently on each tier: Client presentation code may be in JavaScript, while business logic may be in .NET, and so on.

Another consequence is that a variety of hosting options are enabled. The app may either reside completely within SharePoint, or in Azure and access SharePoint components (Web parts, lists). With the former, the model makes it easy to add custom actions to the standard SharePoint user interface.

Integrating with Office

For more on SharePoint

Team sites break down silos

SharePoint 2013 and social media

SharePoint 2013 guide

Finally, any extension of Apps for SharePoint into the cloud must acknowledge Microsoft's push to fully integrate SharePoint with the Office suite, and to that end, the new app development suite Napa Office 365 is now available. In the spirit of SharePoint Designer, these tools let nontechnical users rapidly configure and deploy cloud-based SharePoint apps that handle Office files (Word, Excel and the like), mail, and so on. Take note that such apps will be limited in functionality and scope, but even with these limitations, Napa makes cloud deployment more attractive.

Apps for SharePoint drawbacks

Note that the apps you can build and deploy with this model and these tools must live on the user side of things: The apps being described here are UI-centric, doing fairly conventional storing and retrieval of content management system objects. Anything complex enough to require server-side code won't work.

Moreover, while OAuth makes authentication easy on the front end, SharePoint-hosted apps will have a much harder time tunneling to other back ends: Active Directory Federation Services (ADFS), for example, won't work.

This is frustrating, given SharePoint's embrace of OData for agnostic source connection (which you're locked into, but that's not necessarily a bad thing) because the lack of ADFS offsets the ease with which foreign data sources can be mapped to the app.

All in all, it's a mixed bag, but the strengths outweigh the weaknesses. SharePoint Online has come of age. And while you can't go quite as far in custom apps in a cloud deployment as you can on-premises, you can still go a long way.

This was first published in November 2013

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.