for SharePoint 2013 Developers Matt Bremer mattbremer Productivity Technology Solution Professional Microsoft SPC288 Full Bleed Evocative Stock Photography with IMPACT Were ID: 428526
Download Presentation The PPT/PDF document "TypeScript" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
TypeScript for SharePoint 2013 Developers
Matt Bremer | @mattbremerProductivity Technology Solution ProfessionalMicrosoft
SPC288Slide3Slide4
Full Bleed,
Evocative,
Stock Photography
with IMPACT!
We’re
soooo
collaborating.
Those stock images from prior versions of SharePoint couldn’t spell collaboration.
Look at that guy writing on paper…total fail!
I wonder where they are now...Slide5
My computer must be frozen.
That awkward moment you realize that your monitor isn’t a touch screenSlide6
This shouldn’t take long
Working on it…Slide7
Audience
Participation
Post your feedback and questions via Yammer or Twitter during the session using hashtag #SPC288 for your chance at fabulous prizes!
Flattery will get you everywhere!Slide8
Objectives and Takeaways
What is
TypeScript
?
Why
TypeScript
for SharePoint apps?
TypeScript
is still in preview
TypeScript supports the Cloud App ModelCaveat emptor! But it’s getting really close to v1, just released 1.0RCTypeScript is a language for application scale JavaScript development
A typed superset of JavaScript that compiles to plain JavaScript
JavaScript is a key component of the cloud app modelSlide9
Objectives and Takeaways
“I
gotta
get me some of that!”
I love my job and respect copyright law so
click here to view the image you should have seen in this slideSlide10
Demo…Introduction to
TypeScriptSlide11
What is Type Script?Slide12
Application scale JavaScript
development is hard.Slide13
TypeScript is a language for application
scale JavaScript development.Slide14
TypeScript
is a typed superset of JavaScriptthat compiles to plain JavaScript.Slide15
TypeScript
is JavaScript for professional developers.
“
TypeScript
is JavaScript for professional developers.”
- Me, just nowSlide16
Imagine an image of the
Death Star here…
I love my job and respect copyright law so
click here
to view the image you should have seen in this slideSlide17
Microsoft Good
Imagine an image of a toy made by a company that sounds like “
Leg-Oh”…
I love my job and respect copyright law so
click here
to view the image you should have seen in this slideSlide18
TypeScript is a typed superset of JavaScript
that compiles to plain JavaScript.
Any browser. Any host. Any OS.
Open Source.Slide19
TypeScript
Starts with JavaScriptAll JavaScript code is TypeScript code, simply copy and pasteAll JavaScript libraries work with
TypeScript
Optional
static types, classes, modules
Enable scalable application development and excellent toolingZero cost: Static types completely disappear at run-timeEnds with JavaScriptCompiles to idiomatic JavaScriptRuns in any browser or host, on any OSSlide20
Type System
Formalization of JavaScript’s typesStatic representation of JavaScript’s dynamic type systemType inference and structural typing
In practice very few type annotations are
necessary
Works with existing JavaScript libraries
Declaration files can be written and maintained separately (e.g. *.d.ts)Not “provably type safe”Types reflect intent but do not provide guaranteesSlide21
Classes and Modules
Scalable application structuringClasses, Modules, and Interfaces enable clear contracts between componentsAligned with emerging standards
Class
and Arrow Function syntax aligns with
ECMAScript
6 proposalsSupports popular module systemsCommonJS and AMD modules in any ECMAScript 3 compatible environmentSlide22
TypeScript
and SharePoint Apps.
Better together.Slide23
Contextual Apps
Robust O365 API’s
Flexible Tools
Documents
People | Groups
Mail
Tasks
Calendars
REST
Web Services
Office 365 PlatformSlide24
SharePoint Cloud App Model
SharePoint-Hosted
Provider-Hosted
On-premise or cloud, choice of platform, provisioned separately, app web optional
Only SharePoint components and client side code only, app web required
On-premise or cloud, choice of platform, provisioned separately, app web optionalSlide25
SharePoint App UX Options
Immersive Full Page
Part
UI Custom ActionsSlide26
Demo…Build a SharePoint App with
TypeScriptSlide27
Use TypeScript
in SharePoint Apps
<
PropertyGroup
>
<TypeScriptTarget>ES5</TypeScriptTarget> <TypeScriptIncludeComments>true</TypeScriptIncludeComments>
<TypeScriptSourceMap>true</TypeScriptSourceMap> <TypeScriptModuleKind>CommonJS</TypeScriptModuleKind> </
PropertyGroup> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio
\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" /> Slide28
TypeScript Preview
CompilerOpen Source, written in TypeScriptTooling
Visual Studio
plugin, Node.js package
Libraries
As of 1.0RC static typing of DOM, jQuery, node.js, WinRT, WinJS, Touch, WebGL …And moreLots of samples and formal Language SpecificationSlide29
TypeScript So Far…
Community responseOver 3500 CodePlex posts, 100 forks, 1100 StackOverflow
questions, and 200 feature requests
TypeScript
ecosystem200 *.d.ts library typings developed by library creators and usersTypeScript support in toolsASP.NET, node.js, compile-in-client, Ruby, grunt, and moreSlide30
ECMAScript 6 (ES6)
Areas of OverlapClasses, Modules, Arrow Functions, Rest Parameters and Default Parameters
Modules
ES6 module proposals are a moving target
TypeScript
1.0 will continue to have internal modulesPost TypeScript 1.0 alignment with ES6 will still support existing TypeScript modulesClassesClass expression support will likely come post TypeScript 1.0Slide31
Application scale JavaScript
development is hard.
TypeScript makes it easier.
http://typescriptlang.orgSlide32
TypeScript
http://typescriptlang.org
SharePoint Apps
http://dev.office.com
SharePoint 2013
TypeScript
Definitions
http://sptypescript.codeplex.com TypeScript Library Definitionshttp://aka.ms/DefinitelyTyped
Get StartedSlide33
Calls to Action
Explore
our new Preview APIs
In-depth
articles
on MSDN
Subject to change; not for production use
Connect
with the communitySpeak your mind at OfficeSPDev.UserVoice.ComSolve your roadblocks on StackOverflow [Office] and [SharePoint]
Build
using our tools
Unleash your development skills with
Office Dev Tools for Visual Studio 2013
and
Office 365 API Tools for Visual Studio 2013Slide34
Related Sessions
#SPC283 Get started developing Apps for Office & SharePoint 2013
#SPC269 What's new for the Office & SharePoint developer
#SPC415 SharePoint Power Hour - New developer APIs and features for Apps for SharePoint
#SPC394 Developing Office 365 Cloud Business Apps
#SPC413 Complex problem solving with the new HTML5 APIs
#SPC400 3rd party JavaScript libraries you need to know
#SPC407 Deep dive into the SharePoint 2013 CSOM API's
#SPC423 Deep dive: REST and CSOM comparison
#SPC408 Deep dive: Apps for SharePoint with Angular, REST and MVVM
#SPC323 SharePoint App best practices using OData and the SharePoint REST API
#SPC425 Best practices for maintaining and updating a SharePoint App
#SPC373 Building mobile SharePoint solutions to address BYOD
#SPC325 Real-world examples of FTC to CAM transformations Slide35
MySPC
Sponsored by
connect.
reimagine.
transform.
Evaluate sessions
on
MySPC
using your
laptop or mobile device:
m
yspc.sharepointconference.comSlide36
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.