TypeScript for SharePoint 2013

In this post we will discuss about TypeScript for SharePoint 2013. Read some SharePoint tutorials

SharePoint Designer 2016 Download and Updates

Dropdown list with multiple selection option in SharePoint 2010

SP.UI.ModalDialog.showModalDialog() do not work in SharePoint 2013

Introduction:
SharePoint 2013 is all about JavaScript. JavaScript CSOM is greatly improved and enhanced, SharePoint Apps are essentially JavaScript-based, Client Side Rendering is now the main rendering technique for all SharePoint lists (well, except for Survey and Calendar lists), JSGrid is used for list edit mode, and many many other things.
Yes, JavaScript won, so now we, SharePoint developers, have to deal with it much more often than we used to.

Script#
People noticed drawbacks of JS long ago. To smooth them out, projects like Script# and GWT were created. The idea is basically to compile a normal language like C# into JavaScript code – this is exactly what Script# does.

And it works well enough! Script# has been used by Microsoft itself for some big projects, like Office Web Apps, Bing Maps, and by pure happenstance, for SharePoint JavaScript Object Model (JSOM)! Can you believe that? But yes, it’s true, majority of js files you will find in 15 hive was generated by Script#.



Yes, Script# works very well… unless you must use some existing JS libraries. In this case, you need definitions that would contain information about types of variables, parameters, methods, etc. Unfortunately, no Script# definitions for SharePoint is available. And creating them by hand is a very tedious work, trust me. But wait, if SharePoint JSOM is written in Script#,

TypeScript:
Not so long ago, another project has been started by Microsoft, TypeScript. Unlike Script# and GWT, which use existing languages (C# and Java) as the source, TypeScript is a new language. But the thing is, TypeScript is a superset of JavaScript! So any existing JS can compile in TypeScript without errors (at least this is the theory, in practice I know some exceptions from this rule).

Support of TypeScript is broad, community is passionate, and TypeScript definitions for many and many JS libraries have already been created. The biggest collection of them (DefinitelyTyped project) includes definitions for 130 different libraries!!

TypeScript compiler is opensource and is written in JavaScript, and this means that we can have TypeScript intellisense right in browser.

In sum, TypeScript is definitely promising. And even better, now you can use it with SharePoint!
create high-quality strongly-typed and even half-documented definitions which cover great deal of SharePoint JavaScript API.

Currently, we have the following things covered:
1. Client Side Object Model (CSOM) core classes
SP namespace
SP.WebParts
SP.SOD

2. Social object library
SP.Sharing
SP.UserProfiles
SP.Social

3. SharePoint Client Side Rendering (CSR)
SPClientTemplates

4. Workflows
SP.Workflow
SP.WorkflowServices

5. SharePoint UI elements:
SP.UI.Notify
SP.UI.Status
SP.UI.Menu
SP.UI.ModalDialog
SP.UI.ApplicationPages – some useful stuff here nobody knows about e.g. ClientPeoplePickerWebServiceInterface!
CalloutManager

6. SharePoint Search
Microsoft.SharePoint.Client.Search

7. Business Connectivity Services
SP.BusinessData

8. SharePoint Managed Metadata
SP.Taxonomy


Basically this means that now you and we – all of us can use TypeScript when working with SharePoint JavaScript, and benefit from strong typing and intellisense.

Project also includes many examples written in TypeScript and a couple of extensions. Please, visit the project site on CodePlex to find out more.


You May Also like the Following SharePoint Online Tutorials:

About Sagar Pardeshi

I am Developer working on Microsoft Technologies for the past 6+years. I am very much passionate about programming and my core skills are SharePoint, ASP.NET & C#,Jquery,Javascript,REST. I am running this blog to share my experience & learning with the community I am an MCP, MCTS .NET & Sharepoint 2010, MCPD Sharepoint 2010, and MCSD HTML 5,Sharepoint 2013 Core Solutions. I am currently working on Sharepoint 2010, MOSS 2007, Sharepoint 2013,Sharepoint 2013 App Dev, C#, ASP.NET, and SQL Server 2008.

View all posts by Sagar Pardeshi →

Leave a Reply