What is "TypeScript"? I will be explaining its features and what you can do with it in details!
(If you are not a beginner in .Net programming, you can leave this and directly jump to Starting with TypeScript.)
Preface: Well techies, in this article I am just going to tell you about Microsoft's new product TypeScript. But before starting about TypeScript, I would like to say something about the .Net revolution and how Microsoft is providing the best tools and languages to build applications.
Microsoft has delivered many IDEs, tools and new Languages to develop software solutions. Now in Visual Studio 2012 Microsoft has come out with a new language "TypeScript". In Visual Studio 2012 there are not many changes other than tools, templates, looks and feel so you can continue with it without migration hassles from older versions.
Microsoft provides the smarter and easier way of developing software solutions / applications with modular approaches. You can notice that Windows 8 is totally changed from earlier Windows. The new Team Foundation Server (TFS) is providing much more and making life easier for group programming/coding. Metro Style applications are a hit. I read an article somewhere and the writer was saying that it is the end of Microsoft by launching its Windows 8. Surprise!!! Probably he forget to mention that it was Microsoft who developed the highly GUI based Windows Operating System and made computers usable for common people. How many common people use other operating systems than Microsoft Windows? At that time too it was a very big change from the current trend too. I personally see it as a new evolution because common people are accustomed to common functionalities (in modern life everyone is using mobile, at least those who will be using the new Microsoft Windows 8) so in a few days they will be found easier to work with the new look and feel with the functionality of Microsoft Windows 8.
First let me say that if you are thinking to be proficient in TypeScript then it is a good choice and makes development of large-scale web applications easier and smarter. I coded in the days of Visual Basic 6.0 and now we can see the market demand is web and web applications. For a while there we saw some forward developments toward Windows Desktop based applications using WPF and Silverlight but not web.
Since this article is about TypeScript, so I am not going to go into a deep history or bore you with my childhood's stories. But we see two major changes since the first launch of .Net framework 2002. Now .Net is a decade old and have gone through Web services to WCF services, from SOAP messages to RIA. Now almost everyone is looking for web based applications. Most web applications are being developed in WCF and the MVC pattern. It has gone to small development companies now. Bigger companies are mixing the technologies and working with WPF and Silverlight, wiring them with WCF services and building large-scale web applications.
A few days ago one of my technical architect friends switched from a pure MVC pattern based ASP.Net to the WPF side. He says there is a lot to go and come in that version of .Net. He also adds that big changes can be noticed in current Windows applications and earlier versions of Windows applications. In fact web development has overtaken the race from Windows version development but the later is giving a good challenge now.
Anyway, you came to this article to learn something about TypeScript, so I will proceed take you on that show.
Starting with TypeScript
So, the first thing is, what is TypeScript and for what purpose is it meant for?
So can the TypeScript programming language be used instead of C#?
So why did I compare a language with the jQuery Library ?
Well, it is because of the "Script" suffix with TypeScript. I am fond of both. So don't say that I am taking either side. Cool!!
But, wouldn't it take time to learn TypeScript syntax/patterns?
So far TypeScript seems pretty good to use, but what about its features?
Well, you seem to be in a hurry to adopt it. TypeScript is not yet finalised and what we see now is its preview version. So the final version may have some changes in current use-types and will comply with ECMAScript version 6. ECMAScript version 6n is still in process and its specification is not yet released. So whatever features are in ECMAScript 5 version are OK but some features that have been provided on speculation of ECMAScript version 6 should be avoided. TypeScript supports a popular modular system of ECMAScript 3 with CommonJS. ECMAScript version 6 proposals, like arrow functions, modules and classes are tentaively defined and may be a part of the TypeScript final release version. I hope all of its features will compatible with the future ECMAScript version 6.
As its logo says (note the bottom) "preview", this language should be taken as preview only. Once its final release is available (which is likely due in the next year only), then it should be used in a pure development. This is not what I am suggesting but many experts have already suggested this view. It is not clear what features will be in ECMAScript version 6 and so the TypeScript proposed features of class may have some difficulty in the future.
What is ECMAScript?
ECMA has been providing global standards since 1961. Wikipedia describes ECMAScript as:
So far now, the ECMAScript 5th release is done and version 6 is pending. You can find the versioning publication by year wise as:
Editor / Lead By Published In Version
Guy L. Steele, Jr. Jun - 1997 1
Mike Cowlishaw Jun - 1998 2
Mike Cowlishaw Dec - 1999 3
Pratap Lakshman,Allen Wirfs-Brock Dec - 2009 5
Pratap Lakshman, Allen Wirfs-Brock Jun - 2011 5.1
The new version 6 is supposed to come next year and will likely support classes like features that are a part of high-level languages.
Where can I get the specification details of ECMAScript?