Best Practices for Small-Scale Client-Side Development in SharePoint

Slides:



Advertisements
Similar presentations
SP Business Suite Deployment Kick-off
Advertisements

Developing in SharePoint’s Middle Tier. Who Is Marc? Marc is the Co-Founder and President of Sympraxis Consulting LLC, located in the Boston suburb of.
1. Failure is when users do not feel they get what they paid for. 2. Failure is when the overall organization fails to adopt the solution.
Build /16/2017 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Development models for on-premises Transformation approaches Farm solution considerations.
Microsoft ® Official Course Introducing Apps for SharePoint SharePoint Practice Microsoft SharePoint 2013.
Enterprise Collaboration Strategist Author, Blogger, Speaker.
Intro to Apps Minnesota SharePoint User Group Raymond April 2014.
Basic SharePoint 2013 App Development start-up for New Developers
App development in SharePoint 2013 LIVE Introducing Cloud App Model Cloud-hosted Apps Experiences from the Field.
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
Building Dynamic Applications on both Office 365 and on-premise.
JavaScript Libraries for Office 365 July 25 th, 2015 Timothy Ferro.
Sustainable SharePoint 2010 Customizations By Bill Keys.
SharePoint Saturday Sponsors Gold Bronze Creating Knockout User Experiences in SharePoint with JavaScript Making awesome with Knockout, jQuery and SharePoint.
Dudok de Wit David.  Documents management in a deskless company  SharePoint Online as a solution  Redesigning the documentary organization  Interoperability.
Enabling Developers with Development Features Presented by: Ricardo Wilkins SharePoint Solutions Architect.
DEV14 – Building Business Dashboards: Excel Services, KPIs and Report Centers Darwin Schweitzer Enterprise Technology Strategist
TRANSITIONING FULL TRUST CODE TO CLIENT APIS Architecting SharePoint For The Future Chris Domino December 10, 2015.
Flying in the Cloud: New Ways to Develop for SharePoint.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
SHAREPOINT & JQUERY. Hi, my name and I am a product manager at lightning tools. I have been working with SharePoint for 5 years.
Leveraging Web Content Management in SharePoint 2013 Christina Wheeler.
Both Dutch and Swedish nationality 20+ years of industry experience Living in Stockholm, Sweden MCSM, MCM, MVP, MCSE, MCSD, MCSA, MCPD, MCITP, MCTS PnP.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Understanding and implementing the remote provision pattern in SharePoint.
SharePoint Fest 2013 Chicago What’s New and Exciting (and not so great) in SharePoint Designer 2013 Workflows Ira Fuchs – SharePoint Technical Specialist,
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
Bob German Principal Architect Future-Proof your SharePoint Customizations: Build 2010 Solutions that become 2013 Apps.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Apps for the modern enterprise INTRODUCTION TO SHAREPOINT AS A DEVELOPMENT PLATFORM RON COURVILLE.
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National
SharePoint & jQuery. About me Phill Duffy – Product Manager at Lightning Tools Ltd – Author of ‘Pro SharePoint with jQuery’ – MCTS Application Developer.
From SharePoint to Office 365 Development
Branding Without MasterPages, the Future of UX in SharePoint Online
Get an Introduction to the SharePoint Framework
5/9/2018 9:30 AM BRK2215 Deliver better experiences with SharePoint Patterns and Practices Community Solutions Mike Ammerlaan Product Marketing Manager,
What's new in the world of SharePoint development and deployment
About Bill Bill Baer (ˈbɛər)
SharePoint Designer 2013 Workflows – An Introduction
Anatomy of a Display Template
Line of Business Solutions in SharePoint Online
SPC Developer 6/25/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Leveraging BI in SharePoint with PowerPivot and Power View
Discover the New SharePoint Content Publishing Experiences
What is SharePoint and why you should care
The Transition to Modern Office Add-in Development
Upgrading from Full Trust Code to Add-in Model and SharePoint Framework Paolo Pialorsi Senior Consultant - PiaSys.com Track: DEV | Level:
0x - Lecture Title Andrew Connell, MVP
Modern UI Extensions with the SharePoint Framework
Customizing SharePoint with TypeScript and Knockout
Microsoft Ignite /11/ :45 PM
SharePoint Framework Extensions
Building Single Page Applications (SPAs) in SharePoint with JavaScript
Branding SharePoint Using Application Customizers
SPFx – A modern development tool for SharePoint
Developing Branding Solutions for 2013
Introduction to SharePoint Framework (SPFx)
Customizing SharePoint with TypeScript and Knockout
The Future of SharePoint Development - Vision, Strategy, and Roadmap
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Multi-Farm, Cross-Continent SharePoint Architecture
There Are Exactly Two Ways to Develop Solutions in SharePoint…Right?
Introduction to SharePoint Framework (SPFx)
Rich single page applications with SharePoint
Site scripts and Site Design
SharePoint 2019 Overview and Use SPFx Extensions
Microsoft Connect /28/2019 2:20 AM
04 | Apps and SharePoint Chris Johnson | SharePoint Guru
Bootstrap Direct quote from source: bootstrap/
FLOW 101 Power BI User Group.
Presentation transcript:

Best Practices for Small-Scale Client-Side Development in SharePoint Marc D Anderson President, Sympraxis Consulting LLC

SPS Boston 2016 is made possible by our Sponsors Mindsharp Contego Cyber Solutions

ShareP nt Visit extaCloud’s booth for Drink Tickets! Champions Bar 6pm LOCATED IN BOSTON MARRIOTT CAMBRIDGE 2 Cambridge Center Cambridge, MA 02142 (1 min walk from Microsoft) http://www.championscambridge.com/

Who Is Marc? 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 SPServices Awarded Microsoft MVP for SharePoint Server 2011-2016

Overview ​We can build real solutions by using SharePoint and Office 365 as service endpoints that provide us with all sorts of critical business data. On the spectrum between power user dev and enterprise development, there’s plenty of room for departmental or even company-wide solutions that work entirely client side. Often the difference between “enterprise” development and the rest comes down to two factors: The governance or guidance around deployment The size of the development team In this in-depth session, we’ll look at some better practices for building solutions, storing and managing code, and source code control for smaller size projects that don’t have complex deployment requirements.

SharePoint Development Model Evolution “Nearly of large enterprises will likely have hybrid cloud deployments by the end of 2017”1 50% of customers are leveraging cloud for their applications—from pilots to production apps2 72% Server Side Development 2001 ASP Digital Dashboards, File System Storage, etc. 2003 ASP.NET ASP.NET Web Parts, Full Trust APIs, Server Side Event Receivers… 2007 ASP.NET ASP.NET Web Parts, Full Trust APIs, Server Side Event Receivers… 2010 ASP.NET ASP.NET Web Parts, Full Trust APIs, Server Side Event Receivers… 2013 ASP.NET ASP.NET Web Parts, Full Trust APIs, Server Side Event Receivers… Sources: Gartner, Inc. 2013. Press Release: http://www.gartner.com/newsroom/id/2599315 451 Research, Hosting and Cloud Study, 2014

Development models Across SharePoint Versions Server Side Client Side Sandboxed solutions App model Sandboxed solutions App model Sandboxed solutions App model Sandboxed solutions SharePoint Framework

Client Side Code Has Been in SharePoint Forever

This Is Not Your Grandfather's Client Side… …or your Grandmother's, for that matter

SharePoint Development Is [Becoming] Web Development Use your favorite tools Choose your favorite frameworks Write your solutions with HTML, CSS, and JavaScript Watch your users smile

Decouple Development and Deployment Decisions Decide what you need the functionality to be Choose your development tools to best achieve the functionality Consider how you might package Build Devise your deployment scheme Deploy

"Client Side" Is Not One Thing Simple Complex Content Editor Web Part Script Editor Web Part SharePoint Framework One-off, quick solutions with JavaScript / HTML embedded directly in the CEWP Code can still be centralized Centralized code artifacts with a light development pipeline Centralized code artifacts with a more robust development pipeline Reusable components (Client Side Web Parts) with a more formal development process Centralized admin and deployment Each approach still has value, even in the "modern" era

High Level Structure of Building SharePoint Solutions JavaScript HTML CSS Data Access / Initial Manipulation Templates Application Styling Has to coexist with SharePoint's CSS Be very specific with your selectors ViewModel / Application Logic Avoid hauling in SharePoint's baggage unless you need it ePoint's baggage "Document Ready"

Services Across SharePoint Versions SOAP REST Endpoint None /_vti_bin/listdata.svc Deprecated Deprecated /_api Deprecated https://graph.microsoft.com/v1.0

Where Should I Put My Stuff? Widgets in one Site Collection Widget in one tenant/farm, multiple site collections Widgets used across multiple tenants/farms* Store code in a library in a specific subsite  X Store code in a library in the root site of the Site Collection Store code in a Site Collection specifically for client side code O Create an actual CDN (Azure, AWS, dedicated server, other commercial CDN provider…)** - Good solution O – Optional solution, potentially overkill X – Not a great choice * - Not referencing any code that would be part of a commercial solution. ** - CDNs or Content Delivery Networks allow “content” to be made highly available to end users everywhere. If you store your code in a different Site Collection or CDN, you may need to bootstrap it into place. See: Code Creep - SharePoint "CDN" by Julie Turner (@jfj1997)

Bootstrapping JavaScript Microsoft guidance is to no longer edit the master page – and we don't have to 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 can be built in code, you can even do versioning See: The easiest way to add Script and Brand your SharePoint and SharePoint Online by John Liu

Bootstrapping HTML HTML files are trickier to load because CEWPs can't use a Content Link outside the Site Collection jQuery $.get() Widget Wrangler RequireJS with text plugin See: jQuery $.get(), Office Dev PnP Web Cast – Introducing Widget Wrangler for SharePoint development, RequireJS text plugin

Choose a Framework 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?

The Popularity Contest See: The State Of JavaScript: Front-End Frameworks: A few preliminary results

Source Control and Code Management Code Editor spsave See: Sympraxis’ SharePoint Client Side Development Pipeline

Source Control and Code Management: gulpfile See: Sympraxis’ SharePoint Client Side Development Pipeline

What Do You Need to Know? SPFx uses common Web development tools and frameworks How deeply you go depends on your specific needs

SharePoint Framework Sessions Developing SharePoint Widgets in TypeScript with Bob German @ 2:30 Preparing for the next shift in SharePoint development with Jay Landrum @ 4pm

Demos

Contact Information Email marc.anderson@sympraxisconsulting.com Twitter @sympmarc Blog http://sympmarc.com SPServices http://spservices.codeplex.com SPXSLT http://spxslt.codeplex.com Books http://sympmarc.com/books The Middle Tier Manifesto http://bit.ly/middletier