Date: Tue, 25 Jul 2017 11:00:00 +0000
<div class="trix-content"> <div>JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen</div><div>This episode is a live episode from Microsoft Build where AJ O'Neal and Charles Max Wood interview Mike Ammerlaan and Vesa Juvonent about building extensions for SharePoint with JavaScript.</div><div> <strong>[00:01:28] Mike Ammerlaan introduction</strong><br> Mike has worked at Microsoft for a long time on multiple Microsoft products and projects. He's currently on the Office Ecosystem Marketing Team.</div><div> <strong>[00:01:52] Vesa Juvonen introduction</strong><br> Ves a is Senior Program Manager for the SharePoint Splat team. He's been with Microsoft for about 11 years and manages the community and documentation for the SharePoint framework.</div><div> <strong>[00:02:18] What is the SharePoint Framework?</strong><br> This is how you write SharePoint extensions with JavaScript. SharePoint has changed. It now works with common modern development tools and web development techniques. SharePoint consolodates the extension effort</div><div> <strong>[00:03:32] What is SharePoint?</strong><br> File sharing, team sites, communication points for teams. Part of Office 365. You use Web Parts to add functionality to SharePoint. Web Parts provide functionality like widgets and are scoped to a team, group, or set of users. It's usually hosted on premises, but you can also use it with Office 365 as a hosted solution.</div><div> <strong>[00:05:56] What extensions can you build for SharePoint?</strong><br> You can build widgets for your front page or intranet. You can also add user management or data management or document management.</div><div>Examples:</div><ul> <li>Dashboards</li> <li>Mini Applications</li> <li>Scheduling and Time Tracking</li> <li>Document Storage</li> <li>Source code repositories</li> </ul><div> <strong>[00:07:39] What is WebDAV and how does it relate?</strong><br> WebDAV is a protocol for accessing documents and SharePoint supports it among other protocols for managing documents.</div><div> <strong>[00:08:36] Do I have to build front-end and back-end components to get full functionality?</strong><br> You can build the front-end UI with Angular and other frameworks. And then build a service in Azure on the backend. The backend systems can then access Line of Business systems or other data systems.</div><div>It really does take multiple skill sets to build extensions for SharePoint.</div><div> <strong>[00:11:10] SharePoint on Mobile</strong><br> There is a mobile web app and the Web Parts work through the mobile application. You can also use any browser to connect to the application.</div><div> <strong>[00:12:08] Building extensions with standard Angular or React component libraries</strong><br> There are standard Yeoman templates. You can also pull in the components through React or Angular just like what Microsoft does.</div><div>Newer Angular versions are designed for Single Page Apps and SharePoint isn't necessarily set up to work that way. The Web Parts are isolated from each other and Angular requires some workarounds.</div><div> <strong>[00:14:30] Getting around sandboxing</strong><br> Google and Microsoft are talking to each other to see how to work around this when there are multiple sandboxed applications that can't talk to each other in very simple ways.</div><div> <strong>[00:15:39] Application library or naming collisions if my UI uses different versions or clobber page wide settings</strong><br> There are guides for a lot of this. React does a bunch of the isolation work.</div><div>Addons are iframed in and an API token is given to grant access to the data and APIs.</div><div>Microsoft also reviews and approves plugins.</div><div> <strong>[00:18:30] How do you get started and make money at this?</strong><br> Look at the SharePoint store. You can build things through websites and pages and offer the plugins through the store.</d... Support this podcast at — https://redcircle.com/javascript-jabber/donations Advertising Inquiries: https://redcircle.com/brands Privacy & Opt-Out: https://redcircle.com/privacy