It’s tough for us professional SharePoint developers who have spent years perfecting our SharePoint skills, because now Microsoft is telling us we should use techniques like JavaScript on the client side instead. Wait a minute; isn’t JavaScript a sort of front-end hackers’ in-browser scripting language that was written over a weekend?
While it’s true that JavaScript was produced in a hurry, and has a name that doesn’t make sense, it has matured a great deal in the last few years. A number of patterns and improvements have emerged to get around some of the shortcomings and support a more professional development model for building responsive client applications.
In this talk we are going to see how far we can go with SharePoint Apps using JavaScript and client-side development for Windows, web and mobile applications.
SharePoint Apps - The Good, the Bad, and the Pot of Gold
1. SharePoint Apps - The Good, the Bad,
and the Pot of Gold at the End of the
Rainbow
Bill Ayers
2. MCM/MCSM SharePoint
MCTS, MCITP, MCSD, MCAD, MCSA, MCDBA, MCT etc.
Consultant currently specialising in SharePoint Development and
Architecture for Web Content Management and
Collaboration. (I also do some mobile development on the
side)
Blog: www.SPDoctor.net
E-mail: BillA@flosim.com
Twitter: @SPDoctor
Moderator on SharePoint.StackExchange.com
8. Opening up to web developers
“Use your existing skills to build
apps and take advantage of
familiar tools, languages, and
hosting services. You can use any
language, such as HTML,
JavaScript, PHP, or .NET, and you
can use your favorite web
development tools”
MSDN
9. What are “Apps” anyway?
Easy distribution
Self-contained
Clean Uninstall
Sandboxed
Some degree of vetting
Marketplace
infrastructure
10. Apps for SharePoint
• Distribution
•
•
Publish to App Catalog
Publish to Office Marketplace
• Self-contained, clean uninstall, sandboxed
•
•
No server-side code
All SharePoint artifacts hosted within app web
13. Why REST/JSON?
• Address of the REST API
• URLs for Common SharePoint Objects
• Using OData Operators
http://intranet.contoso.com
/_api/web/lists/getbytitle("MyList")/items
?$select=ID,Title
&$order=Title
&$filter=startswith(Title,”A”)
$.getJSON(”http://litvs13/_api/web”,
function(data) {
$(“#title”).text(data.d.Title);
});
17. Mobile (i.e. phones and tablets)
Browsing – normal web site is
good solution (channels,
responsive design)
Specific tasks – mobile app is
better model
In general, mobile users want
apps – they don’t want to use a
web browser for Wikipedia,
they want a Wikipedia “app”
26. Conclusions:
JavaScript – learn it, live it, love it!
You need some REST
Learn JavaScript libraries, especially jQuery
Server-side development is still valid
HTML5 Hybrid Apps not perfect, but allow skills
and code re-use for web and mobile