SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and...

23
Silber- Partner: Veranstalte r: Alternative Approaches to Solution Development in SharePoint and Office 365 Marc D Anderson SharePoint MVP Co-Founder & President Sympraxis Consulting LLC

Transcript of SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and...

Page 1: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Silber-Partner: Veranstalter:

Alternative Approaches to Solution Development in SharePoint and Office 365

Marc D AndersonSharePoint MVP

Co-Founder & PresidentSympraxis Consulting LLC

Page 2: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Co-Founder and President of Sympraxis Consulting LLC, located in the Boston suburb of Newton, MA, USA. Sympraxis focuses on enabling collaboration throughout the enterprise using the SharePoint application platform.

Over 30 years of experience in technology professional services and software development. Over a wide-ranging career in consulting as well as line manager positions, Marc has proven himself as a problem solver and leader who can solve difficult technology problems for organizations across a wide variety of industries and organization sizes.

Author of SPServicesAwarded Microsoft MVP for SharePoint Server 2011-2016

Who Is Marc?

Page 3: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

We regularly hear about the importance of building Apps Add-Ins from the Microsoft folks. But in many cases, that approach is overkill. Even in enterprises, all solutions aren’t "enterprise scale".

It’s always been possible to build solid solutions or solution components using Data View Web Parts or the trusty Content Editor Web Part to hold some HTML, JavaScript, and CSS, and those are still viable approaches. With a few other more modern tricks, we can even build solutions that span many pages using a common code base.

Join me as I kick around the plusses and minuses of “sanctioned development” versus smaller, lighter-touch approaches. Feel free to bring along your own questions and challenges so that we can make it a discussion.

Based on a discussion with Scot Hillier on the ITUnity Dev Pulse

Session Overview

Page 4: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

The Middle Tier Manifesto: An Alternative Approach to Development with Microsoft SharePoint

Flying in the Cloud: New Ways to Develop for SharePoint Create a Business Solution, Step by Step, with No

Managed Code SharePoint Solutions with SPServices SharePoint Solutions with KnockoutJS Single-Page Applications (SPAs) in SharePoint Using

SPServices

Are We Talking About Something New?

There have always been alternatives;they have just become more accepted

Page 5: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

So how do we do this?

Page 6: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Use your favorite toolsChoose your favorite frameworksWrite your solutions with HTML, CSS, and JavaScript

Watch your users smile

SharePoint Development Is [Becoming] Web Development

Page 7: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

High Level Structure of Building SharePoint Solutions

Data Access / Initial Manipulation

Document Ready

ViewModel / Application Logic

Templates

JavaScript HTML

Application Styling

CSS

•Has to coexist with SharePoint's CSS•Be very specific with your selectors

•Avoid hauling in SharePoint's baggage unless you need it

Page 8: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Many Data Sources

SharePoint Lists and Libraries Office Microsoft Graph External data sources

Many exposed via Odata-compliant REST endpoints

Page 9: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Important Tools

Development tools – you choose Visual Studio (any flavor) SharePoint Designer WebStorm Sublime Text Notepad++

Debugging tools – your browser Chrome Firefox with Firebug Internet Explorer

Testing tools, Build tools, …

Page 10: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Adding a User Custom Action allows you to load the first JavaScript file with a ScriptLink

RequireJS (or several alternatives – see system.js) allow you to bootstrap the rest of your code into the page

Because your script references are built in code, you can even do versioning

Bootstrapping

Page 11: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Code Isolation "Time to glass" Pushing processing from server to client

Isolation

Page 12: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Document Library(ies) Style Library In the master page gallery at

_catalogs/masterpage

Can be unique to a Site Collection or stored centrally for better reuse

FaaS approach

Solution Artifacts

Page 13: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Don't be caught up in the "shiny penny" syndrome Compare your known requirements with the

frameworks' capabilities Ask yourself:

What types of solutions do we need to build? What does our governance tell us about our

deployment model? How big is the development team? What are our current skills?

Choose a Framework

Page 15: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Can be driven by: Page URL Page content Current user IP address Time of day Presence of data in a list

Load JavaScript Conditionally

Any characteristic of the current context

Page 16: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Store configuration variables in a Configuration list Use Title for the parameter name Second column for parameter value: Multiple lines of text Can store strings, XML, JSON, etc. – any text-based data

constructs Generalize wherever possible

Build a centralized set of FaaS Use consistent namespacing

Consider a build process Many places you would have built a workflow can be

handled in code

Some Better Practices

Page 17: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

"Pure" JavaScript is better than jQuery or other libraries

Large JavaScript files clog up the network

You don't have to care about designMeeting the requirements is enough

Misconceptions

Page 18: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Frameworks can be hard to learn Change is going to be rapid Learning mindset is required

Opens up the talent pool Web developers may be easier to find and

hire

Truths

Page 19: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Demos

Page 20: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

FRAGEN?

Page 21: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Ich freue mich auf Ihr Feedback!

Page 22: SharePointFest Konferenz 2016 - Alternative Approaches to Solution Development in SharePoint and Office 365

Silber-Partner: Veranstalter:

Vielen Dank!Marc D Anderson