SharePoint-Hosted Apps and JavaScript

Slides:



Advertisements
Similar presentations
Bob German Principal Architect Introduction to Cloud Hosted Apps Your apps here!
Advertisements

SharePoint 2010 Client Side Object Model. Agenda Introduction The Problem Client side vs Server Side Client Side Object Model – How it works – What can.
Introducing JavaScript
1 CSC 551: Web Programming Spring 2004 client-side programming with JavaScript  scripts vs. programs  JavaScript vs. JScript vs. VBScript  common tasks.
Getting Started with XPages Presented by Jeff Byrd.
DT211/3 Internet Application Development Active Server Pages & IIS Web server.
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
Website Development with PHP and MySQL Introduction.
Microsoft ® Official Course Introducing Apps for SharePoint SharePoint Practice Microsoft SharePoint 2013.
Chapter 11 ASP.NET JavaScript, Third Edition. 2 Objectives Learn about client/server architecture Study server-side scripting Create ASP.NET applications.
Creating a SharePoint App with Microsoft Access Services
1 CS428 Web Engineering Lecture 18 Introduction (PHP - I)
Intro to Apps Minnesota SharePoint User Group Raymond April 2014.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
CIS 375—Web App Dev II ASP.NET 2 Introducing Web Forms.
Web Programming: Client/Server Applications Server sends the web pages to the client. –built into Visual Studio for development purposes Client displays.
Sustainable SharePoint 2010 Customizations By Bill Keys.
Website Design Lecture 1. Outline Introduction to the module Outline of the Assessment Schedule Lecture Static XHTML, client side and server side Why.
Sponsors Gold Silver Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
 An essential supporting structure of any thing  A Software Framework  Has layered structure ▪ What kind of functions and how they interrelate  Has.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Introduction to JavaScript MIS 3502, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 2/2/2016.
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.
Bob German Principal Architect Future-Proof your SharePoint Customizations: Build 2010 Solutions that become 2013 Apps.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Apps for the modern enterprise INTRODUCTION TO SHAREPOINT AS A DEVELOPMENT PLATFORM RON COURVILLE.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Creating mobile applications that integrate with SharePoint 2013 on-
Introduction to JavaScript MIS 3502, Fall 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 9/29/2016.
Start-SPPowerShell – Introduction to PowerShell for SharePoint Admins and Developers Paul BAker.
1/10/2018 9:33 PM Cloud Roadshow © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO.
Distributed Control and Measurement via the Internet
The Share Widget Library
Angular 4 + TypeScript Getting Started
What's new in the world of SharePoint development and deployment
Introduction to Redux Header Eric W. Greene Microsoft Virtual Academy
Play Framework: Introduction
SPC Developer 6/25/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
The Transition to Modern Office Add-in Development
Section 17.1 Section 17.2 Add an audio file using HTML
PHP Training at GoLogica in Bangalore
Introduction to SharePoint Framework (SPFx)
Introduction to JavaScript
SharePoint Saturday Omaha April 2016
A second look at JavaScript
Chapter 27 WWW and HTTP.
Intro to Client Side Solutions in SharePoint 2013
Rich single page applications with SharePoint
PHP.
JavaScript.
ASP.NET Module Subtitle.
AngularJS and SharePoint I Chris Douglas Senior SharePoint Developer ECS Web:
The SharePoint framework
SharePoint 2019 Overview and Use SPFx Extensions
Tutorial 10 Programming with JavaScript
Intro to PHP.
Introduction to JavaScript
An Introduction to JavaScript
04 | Apps and SharePoint Chris Johnson | SharePoint Guru
PHP an introduction.
Introduction to TypeScript
Introduce to Angular 6 Present by: Võ Văn Hào
Western Mass Microsoft Technology Users Group
Windows Forms in Visual Studio 2005: An in-depth look at key features
Angular.
Web Application Development Using PHP
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Presentation transcript:

SharePoint-Hosted Apps and JavaScript Developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, …

Introduction Wesley Bakker Principal Consultant at motion10 Email : wesley.bakker@motion10.com Principal Consultant at motion10 21-9-2018

Agenda SharePoint-Hosted Apps JavaScript Demo Questions The good, the bad and the ugly JavaScript The good, the bad and the… etc. Demo Questions 21-9-2018

SharePoint Hosted Apps The good, the bad and the ugly

What Microsoft says about SharePoint-hosted apps “SharePoint-hosted apps: SharePoint-hosted apps contain only declarative content, such as HTML and JavaScript, and don’t have any server-side code that is packaged with them. These types of apps store the HTML and other content in SharePoint and simply present the declarative content to the browser. SharePoint-hosted apps interact with SharePoint via the JavaScript object model or Representational State Transfer (REST) end- points and are client-side based. The design and interaction of these types of apps are similar to client-side design patterns used with sandboxed solutions.” * *http://msdn.microsoft.com/library/office/dn268593(v=office.15) 21-9-2018

The good Solves many problems for Microsoft JavaScript only Apps run in their own app web which is a sub web of the host web SharePoint-hosted apps solve many problems for Microsoft in a sense that not a single line of code runs in the app pool process. This protects the core processes of SharePoint. It is actually a good thing that you can use JavaScript only. Sandboxed solutions should be built in a way that they use JavaScript as much as possible to prevent from being shutdown because of resource usage. A lot of solutions however simply required to up the available resource points instead of switching to extend the use of JSOM. Apps must be running in their own app web to ensure that no actions can be performed while circumventing the use of a proxy which checks permissions. It also ensures that nothing is added to the SharePoint site that cannot be upgraded. In a worse case scenario, your app stops working on upgrade, with which you’ll only loose app functionality. Your default SharePoint functionality remains untouched. 21-9-2018

The bad Solves many problems for Microsoft JavaScript only Apps run in their own app web which is a sub web of the host web Even though SharePoint-hosted apps solves many problems for Microsoft, they do introduce a lot of challenges for developers. Such as how to cope with cross-site script access, how to integrate with the SharePoint UI. The fact that it is JavaScript only, limits the possibilities. You cannot perform any server side custom tasks. Such as resizing an image, combine files and download them as zip. Apps run in their own app web, which by default creates an app web for each web the SharePoint-hosted apps get added. You can deploy an app from the app catalog management page which creates a single app web for all webs, unfortunately this doesn’t work for all sorts of features. CustomAction elements for example cannot be deployed like this. The fact that the SharePoint-hosted apps gets its own App Web isn’t that big a deal, except when you use a lot of JavaScript libraries. These libraries need to be downloaded for each web where your app is added, since they are hosted under a different URL, the client cannot cache these libraries 21-9-2018

The ugly SharePoint-hosted apps do not always work well with SAML authentication if the identity provider supports wildcard return uniform resource locator (URL) registration and honors the wreply parameter it works Active Directory Federation Services (AD FS) 2.0 version does not support wildcard for return URL registration. SharePoint-hosted apps do not work with SAML and FBA sites. A good explanation on why can be found here: http://nearbaseline.com/blog/2013/07/sharepoint-hosted-apps-with-saml-authentication/ 21-9-2018

The good, the bad and the… etc. JavaScript The good, the bad and the… etc.

The good Dynamic programming language Extensible Can be written in an Object-oriented fashion JavaScript has a lot of well known pro’s and con’s. And the fact that it’s a dynamic language is both great and “dangerous”. 21-9-2018

The bad Dynamic programming language Extensible Can be written in an Object-oriented fashion JavaScript has a lot of well known pro’s and con’s. And the fact that it’s a dynamic language is both great and dangerous. 21-9-2018

The ugly The ugly doesn’t come from JavaScript itself, but from the code samples found on the Microsoft sites… This sample code mixes jQuery usage and standard JavaScript Uses string concatenation to generate html output Creates variables in the global scope with a very common name.. Code source: http://msdn.microsoft.com/en-us/library/fp179927.aspx Beside that, documentation of the JSOM libraries is very poor 21-9-2018

Real development shortcomings No type checking No refactoring No compile-time validation IntelliSense is not that good 21-9-2018

Script#, TypeScript, Angular, Web Essentials Demo Script#, TypeScript, Angular, Web Essentials

Conclusion TypeScript is pretty cool T4 templating is pretty cool No buts… it is pretty cool! T4 templating is pretty cool T4 templating could use some TLC… no intellisense is pretty much a deal breaker though AngularJS is pretty cool Web Essentials is pretty cool The tool does have some bugs, it is open source though and you can submit your changes  Writing SharePoint-hosted Apps can be pretty cool… Nobody said it would be easy though.. 21-9-2018