Follow Us

We use cookies to provide you with a better experience. If you continue to use this site, we'll assume you're happy with this. Alternatively, click here to find out how to manage these cookies

hide cookie message

Microsoft augments JavaScript for large-scale development

In an extension to JavaScript, Microsoft provides static typing, classes and modularisation

Article comments

Equipping JavaScript to build more complex applications, Microsoft has augmented JavaScript with a set of advanced development capabilities typically found in more mature programming languages, such as C++ and Java. These new capabilities, packaged as a JavaScript superset called TypeScript, offers static typing, classes and modularisation.

"Over the last five years we've increasingly heard from customers that writing application-scale JavaScript is just too hard," said Anders Hejlsberg, Microsoft chief architect for Microsoft's C# language. TypeScript should pave the way for new ways to aid JavaScript code development, providing the basis for code prediction, superior debugging, refactoring and easier navigation through the thickets of large sets of program code, he said.

Overall, Microsoft engineers spent over two years developing this functionality, Hejlsberg said. The company released the specification of TypeScript, as well as an open source compiler on the CodePlex repository. The company also developed a TypeScript plug-in for Visual Studio.

TypeScript is not an entirely new language, but rather a superset of JavaScript, Hejlsberg said. Developers code in JavaScript, using the TypeScript parts as needed. They then run the code through the TypeScript compiler, which emits standard JavaScript.

"All JavaScript code is TypeScript code and all JavaScript libraries just work with TypeScript," said Hejlsberg. "TypeScript compiler emits idiomatic JavaScript. The resulting code runs on any browser."

TypeScript was designed to accommodate an increasing number of developers who are interested in using JavaScript to build large-scale web applications to run in a browser, rather than on the desktop.

"JavaScript was created as a scripting language. It wasn't designed to structure medium- to large-scale code bases such as classes or modules, Hejlsberg said. "JavaScript is an entirely dynamic language that has no static typing, and static typing is really the thing that powers today's rich IDEs."

Static typing requires that developers assign a specific data type to each variable they create. JavaScript itself is a dynamically typed language, in which variables do not have to be assigned a data type beforehand, simplifying coding for the less experienced.

With static typing, however, the compiler can provide more detailed reports on coding errors, as well better predict what the program might need, because it can determine the type of data a variable should be assigned. In Visual Studio, for instance, TypeScript will allow IntelliSense to anticipate what coders need when writing JavaScript, to a similar degree that IntelliSense does now with C# and other statically typed languages.

TypeScript's type annotation is flexible as well. Developers can add type annotations only where they want it, to their own code, or to specific libraries.

In addition to static typing, TypeScript also offers modularity and the ability to do class declarations, both following the specifications now being settled on by the developers of the next version of ECMAScript, the standard reference upon which JavaScript is based.

Classes will allow developers to reuse existing functionality in the program. Modularity can help them organize large codebases, as well as make it easy to swap in updates to one part of the code with little impact to other parts of the program.

Microsoft is not the first company to tackle the problem of making JavaScript more robust. Google has also confronted the shortcomings of JavaScript for complex application development, most notably by developing a new language to handle more complex web applications, called Dart.

TypeScript could be advantageous over Dart in that it does not require developers to learn an entirely new language. Rather they can continue to use JavaScript and just learn the specific rules around the TypeScript language, Hejlsberg said.

Another potential advantage to TypeScript is that no new technology is needed on browsers, given that the finished TypeScript code is compiled into regular JavaScript, which then can be run on any browser. TypeScript carries no additional performance lag on runtime, due to the fact that the TypeScript additions "compile away," said Hejlsberg.

The TypeScript specification is available, at no cost, under the Open Web Foundation OWFa 1.0 Specification Agreement, and Microsoft is seeking community consultation for further development. The compiler is licensed under the Apache 2.0 license.



Share:

More from Techworld

More relevant IT news

Comments

pro_grammer said: As you write Microsoft is not the first company to tackle the problem of making JavaScript more robustThere is also at least one startup Opa which tackles this problemhttpopalangorg



Send to a friend

Email this article to a friend or colleague:

PLEASE NOTE: Your name is used only to let the recipient know who sent the story, and in case of transmission error. Both your name and the recipient's name and address will not be used for any other purpose.

Techworld White Papers

Choose – and Choose Wisely – the Right MSP for Your SMB

End users need a technology partner that provides transparency, enables productivity, delivers...

Download Whitepaper

10 Effective Habits of Indispensable IT Departments

It’s no secret that responsibilities are growing while budgets continue to shrink. Download this...

Download Whitepaper

Gartner Magic Quadrant for Enterprise Information Archiving

Enterprise information archiving is contributing to organisational needs for e-discovery and...

Download Whitepaper

Advancing the state of virtualised backups

Dell Software’s vRanger is a veteran of the virtualisation specific backup market. It was the...

Download Whitepaper

Techworld UK - Technology - Business

Innovation, productivity, agility and profit

Watch this on demand webinar which explores IT innovation, managed print services and business agility.

Techworld Mobile Site

Access Techworld's content on the move

Get the latest news, product reviews and downloads on your mobile device with Techworld's mobile site.

Find out more...

From Wow to How : Making mobile and cloud work for you

On demand Biztech Briefing - Learn how to effectively deliver mobile work styles and cloud services together.

Watch now...

Site Map

* *