We’re excited to unveil the result of a months-long partnership with the Angular team.
This partnership has been very productive and rewarding experience for us, and as part of this collaboration, we’re happy to announce that Angular 2 will now be built with TypeScript. We’re looking forward to seeing what people will be able to do with these new tools and continuing to work with the Angular team to improve the experience for Angular developers.
The first fruits of this collaboration will be in the upcoming TypeScript 1.5 release.
We have worked with the Angular team to design a set of new features that will help you develop cleaner code when working with dynamic libraries like Angular 2, including a new way to annotate class declarations with metadata. Library and application developers can use these metadata annotations to cleanly separate code from information about the code, such as configuration information or conditional compilation checks.
We’ve also added a way to retrieve type information at runtime. When enabled, this will enable developers to do a simple type introspection. To verify code correctness with additional runtime checks. It also enables libraries like Angular to use type information to set up dependency injection based on the types themselves.
TodoMVC for Angular 2 in TypeScript
At ng-conf, we are previewing this work by showing a TodoMVC example, based on David East’s Angular 2 TodoMVC. You can try this example out for yourself. If you’re new to TypeScript, you can also learn TypeScript through our interactive playground.
We’d love to hear your feedback.
TypeScript autocomplete in Sublime 3 for Angular 2
We’re looking forward to releasing a beta of TypeScript 1.5 in the coming weeks, and along with it, growing TypeScript’s tooling support to include more development styles and environments. We’d also like to give a huge thanks to Brad, Igor, Miško on the Angular team for being great partners. Special shout out to Yehuda Katz, who helped us design the annotation+decorator proposal which helped make this work possible.


This is really nice! Less fragmentation for the community!
Perfect! A dream come true 🙂 I was worried about another language in the stack (AtScript)… Seams only logical to concentrate the efforts. Way to go Google/Microsoft 😉
@ Diego Vilar
I think AtScript is still around – it's an extension of TypeScript.
AtScript is TypeScript now (twitter.com/…/573521849780305920)
That is awesome… Is the runtime type verification part of AtScript coming to TypeScript or is it going to be separate?
Congratulations! I really like TypeScript and was dismayed to see the AngularJS team jump the shark with Atscript(?). Very relieved and happy that its actually TypeScript. Here's to types and coffee in your and/or my morning js code!
Very good news. If AtScript really was basically just TS with a few tweaks, much better to introduce those tweaks into TS. Glad to see that TS really is continuing to gain momentum: it seems to be the right language at the right time, with the right compromises.
That's very exciting news!
Really good news. This is a reward for the work realized by the TypeScript Team so far.
This is good news for Google and Joyent.
Far from good news. If the Angular team wanted a forward-facing language and were willing to use a transpiler to get there, they should have stuck with ECMAScript 6. Now support for the new standard is if anything, contrary to earlier commentators, even more fragmented.
Congratulations to both teams for pulling this collaboration off.
@Martial – Typescript is already targeting full ECMAScript 6 support. AtScript and the reflection structures that Angular 2 will be based on go beyond that, but with Google and Microsoft backing them we can expect them in an ECMAScript standard coming to you soon.
So happy
@Martial, why ? The typescript generated code is ECMA6 compliant and fully readable, so you don't even have to use typescript if you are not happy.
Amazing. I didn't think this would happen but I'm glad it did. The proliferation of compile-to-js languages sponsored by Microsfot, Google, and Facebook was starting to get out of hand.
Thats amazing news, when i first read about A2 being written in @Script, i was thinking "Do we really need another one?!?!?!" so I'm really happy to hear about TS and the A2 team working together! 🙂
Awesome! But it would be nice to see TypeScript and ReactJS + JSX being closer, too!!!
@sholadak "We've also added a way to retrieve type information at runtime. "
@Martial In the welcoming presentation of the ongoing ng-conf, if you care to watch, you'll notice that Igor and Brad states it clearly that although Angular 2 is now being developed in TypeScript, you will be able to develop for Angular in ES5, ES6 and TypeScript.
ES6 is great, but I'll be surprised by the amount of advantages that typings bring to developing complex angular applications (any application actually). Annotations are a nice complex sugar that reduces boilerplate and makes takes configuration out of the implementation body. This is as good to whoever is writing/reading code as it is for tools.
But hey, it's all optional sugar. You can still use ES5 on a diet, don't worry 😉
This is awesome. I will definitely like Angular now.
Thank you. Dart, TypeScript, AtScript…
This will hopefully help web developers looking for jobs, or take existing skills into new jobs. Now all I hope for is for Dart to go away. :p I still don't here anyone but Google having any sort of native plans for it, and that still only in Dartium. I mean, is the AtScript charged TypeScript 1.5 on an AngularJS 2 framework too weak for general client-side web development needs? Really?
If it isn't, Dart seems cornered into server-side development, but that's a small niche for Javascript code to warrant a whole new language and API, where competitors are already established (NodeJS?).
With Google helping to back this push, I hope they'll come to their senses in this matter too.
This is fantastic news! So awesome to hear! Truly a happy Typescript dev today!
Hallelujah! Thank you guys!
Um, this is so far removed from what Angular 1 was – why not name it something completely different?
es6 will render this vaporware
I am soooo excited for all of us, been using typescript since November 2012… just love it. The cooperation is an awesome step and so inspiring to see.
This is brilliant! I am soooo excited for all of us, been using typescript since November 2012… just love it. The cooperation is an awesome step and so inspiring to see. Congratulations!
This is awesome. Particularly the rtti. Is there any more information available on that?
I don't mean to be a grumpy gus – but seriously, what's the point? It seems like half the development community is out there trying to make JS into Java – big architecture, big frameworks, voodoo – an utter nightmare. ES6 makes most of this stuff obsolete. Web Components goes the rest of the way. And it's not like we have it bad now – done right, modern JS is a joy to develop with.
These transpilers and frameworks and cruft are making JS a nightmare to develop in. Everyone seems to want to "fix" javascript, everyone talks about "tooling" and design patterns, and all the big OOP crap that I came to JS to get away from! Haven't we learned our lesson from Java? There's a reason why C# has been bending over backwards to be more functional, and has done a pretty darn good job of it. Why are we moving the other direction with JS? JS isn't the problem, it's the model! It has a few warts that ES6 will address, but that's all that needs to be done.
These theories that are coming from the angular team and typescript come from this almost rabid obsession with strong typing. I really don't understand it.
I develop huge applications of major complexity just using VIM, JS and HTML5 standards. They are easy to maintain, graceful, fast and don't rely on the massive footprint steaming heap of transpile framework that's Angular 2.
Welcome to Typescriptstein. Please, don't degenerate an useful and elegant solution (Typescript) into a partnered monster. Keep it original.
Why would anyone use TypeScript and ruin a perfectly awesome JavaScript experience? I do my programming with a hammer and chisel on stone tablets, then throw them at my secretary who types them into notepad. Haven't had a singe issue yet! Don't ruin JavaScript with this bloated nonsense!
It's a pleasure to read news like that :).
Now TypeScript just has to "eat" Flow too and the world is united once again 😉
http://flowtype.org/
Hi that's great news!!!!
Is this development is going to be like typescript's importing module definitions, thus dependency on d.ts files or there is gonna be some MVC framework and features provided by angularjs totally written using typescript
Now the real collobration is seen. Great Work.
Can we please have good documentation when the launch date arrives. A nice cookbook would be an added bonus.
Unfortunately Telerik has declined my suggestion to port Kendo UI to TypeScript. See kendoui-feedback.telerik.com/…/5856102-migrate-source-code-to-typescript. Perhaps the TypeScript team could speak to Telerik to find out what the difficulties are?
This is completely brilliant. I've been using TypeScript with Angular 1.x for a couple of years now, it's always been a fantastic combination.
To the naysayers:
TypeScript is not a bloated framework. It's not a framework full stop.
Angular is a framework. From what I gather TypeScript simply provides decorators that are applicable irrespective of the framework. In other words, TypeScript is framework agnostic – and long may it remain so.
This is a massive coup for the future of TypeScript. Bravo!
Great news! Way to go! Thank you guys! Thank you so much!
Fantastic news!
oh no…
no….. NO!!!
The future of web user interfaces will be more about React than Angular IMHO.
@Clay
"I develop huge applications of major complexity just using VIM, JS and HTML5 standards. They are easy to maintain, graceful, fast and don't rely on the massive footprint steaming heap of transpile framework that's Angular 2."
How many people work on the team? I have 10 ui devs and static typing on a very large code base is invaluable. Unit tests are good sure but catching errors at the earliest possible time are where compilers win.
This is great news. I've been working happily with typescript and angular 1.x and I'm delighted that this will continue to be a wonderful experience given Angular 2 will be written in TS.
I'm guessing that the Angular team may well provide official typings for A2 given that's what A2 will be written in? (Not that I've been hurt by using the DT ones but it seems logical that Angular would supply them if they build in TS.
I'm really excited about this news. I've been learning AngularJS and loving it. Now, it's time for me to start learning TypeScript; something I've been meaning to do for a while.
Congratulations to the TypeScript and AngularJS teams for pulling this off. I think this is a win-win situation for all of us involved.
The Angular 2.0 draft specification indicated the TypeScript and AtScript teams were working together… I just didn't believe it! Glad to see this coming together. Look forward to the beta release!
I think this is great news. Congrats, guys.
I'm curious though as to why this is a big announcement only now that the features are apparently done. Isn't the language development supposed to be open-source (and thus transparent) now?
Sorry, not goin there.
Best. News. Ever. *cries*
Would like to see 1 JavaScript standard with, at a minimum, Pascal level modularity, strong type checking and built into the language variable types….
Awesome.
I was committed to learning AtScript if necessary, but it is really awesome that we will just be able to use TypeScript, thanks so much for setting this up.
Being able to leverage existing tooling not only in VS, but everywhere TypeScript is supported will keep things moving along for everyone.
Thanks so much
That's a lot of new syntax! An new syntax is what goes against one of the goal of TypeScript which is TO KEEP NEW SYNTAX TO ABSOLUTE MINIMUM. TS team must went all insane or pressed really hard by Google that they ditched one of their main principle. I am sad to see such radical changes in so little time. It seems like a very political move that has little to do with rational reasoning. What if ES8 uses @ and {}!
Thank God, I was scared that we were going to be locked into AtScript still waiting for Dojo 2.0
hello world?
who needs ms to take over browser app development with their proprietary twd view of the world? Didn't we all learn anything from 12+ years of trying to make the web look like a VB6 app (i.e., "asp.net")? If you want to code in javascript, then learn to code in javascript. Grab Crockford's book and understand the power of the language, don't use a "macro" tool and live in an illusion of what it is not.
@trenchgrunt – I programme in raw binary. All you guys with your fancy "text editors" are living in a dream land.
Are the changes only for type script ?
Will this affect Angular 2?
@'s, multi-brackets, braces, parentheses, obtuseness. Thank god I'm using Python, which is the opposite. Maybe it should be written in Chinese ideograms ;')
zhuanlan.zhihu.com/…/19970324
This post has been translated into Chinese zhuanlan.zhihu.com/…/19970324
Great news !! So based on this, is the TypeScript 1.5 section incomplete in the TypeScript roadmap here: github.com/…/Roadmap ?
awesome news guys – this is surely the stack that Java and C# developers to switch to, for building web apps?!
huge respect for your collaboration in taking the JavaScript ecosystem forward
This is amazing!
My prayers got answered
Can we have G+ button also on this site 🙂
when there's ES6 becomes a standard, why wouldn't we use typescript…
helooo
Great news!! Although I haven't used TypeScript for my daily coding, I will be soon!! It's the right time to get ES6 features in place, and the collaboration with Google is a plus.
Arthur Two Sheds Jackson
best comment ever!
I guess it's clear why everyone is exciting about the two giants (and rivals) working on something together. Hopefully we'll see more and more collaboration in the near future… and sure, keep up the competition 🙂
The whole idea of compiling one language into another dynamic language just adds more time and complexity to the build and debug process where there should not be any at all. It is crazy. I can't believe all of these positive comments.
Good job Microsoft + Google
The point of using TypeScript isn't simply to make Angular better. It's also to accelerate and guide change in JavaScript. If the combined weight of Microsoft, Google and Angular can make TypeScript catch on, it will help to push JavaScript to adopt these improvements.
As for Dart, its goal and place is entirely different. Unlike TypeScript, which is intended as a model for the future of JavaScript and will supposedly disappear after JavaScript grows up, Dart is moving its own direction and is intended to be a JavaScript alternative. Its development is less restrained by the perceived future of JavaScript, and it has a richer set of functionality (a lot of it feels inspired by C#).
@Bruce 03-09-2015 9:07 PM said "The whole idea of compiling one language into another dynamic language just adds more time and complexity to the build and debug process where there should not be any at all. It is crazy. I can't believe all of these positive comments."
That's because you haven't tried it. When I edit a TS file and hit save and refresh the browser, my changes are in there. There is no extra effort at all compared to raw JS.
On the contrary huge amounts of time are saved because when I'm making changes to my code, the editor helps me. It pops up suggestions for methods I can call on an object. If I try to call one that doesn't exist, it tells me. It checks that I'm passing the right parameters. This all happens interactively while I'm editing. There's no perception of a "compile step" at all.
Also refactoring is easier. I can decide that a parameter should not be optional. I remove the ? from it and the editor automatically lists all the places in other modules where I'm not passing that parameter yet.
Since I started using TS now I wouldn't even consider wasting my time writing JS. Every time I start playing with a library I'm not familiar with, I grab the TS type definitions and it's child's play to get a working example, because it's so much harder to do the wrong thing. The editor does the grunt work so I don't have to.
You want to keep doing grunt work manually, instead of letting a machine do it for you, go right ahead!
Typescript is a great extension to Javascript. I'm glad to see Google acknowledging the momentum behind it and adding more momentum. Is Google still forging ahead with their AtScript language though?
Hopefully these language extensions converge in ES6 or ES7 down the road so there is no need for a transpiler to fix all the things wrong with Javascript for large scale web app dev.
What about to use let and const keywords targetting es5? will be possible in near future or will remain a 'must' to target es6 for these features?
Thanks
Now I'm kinda glad I haven't touched Angular yet. Should be nice to start fresh with 2.
So good!
@Louis – The AtScript features have been merged into TypeScript, so the Angular team is retiring AtScript. They're actively working with us to refine the design of annotations so that they work well with Angular 2 (and we're working with other library authors to ensure it works well for them also)
@Gambero – let/const compiling to ES5 is part of TypeScript 1.5. You can see the roadmap here: github.com/…/Roadmap
Wonderful! I hope you guys work on a way to make TS available to other VS versions, not only the edge. Some companies take a lot of time and effort to upgrade our development tools.
angular.io/…/quickstart.html – AngularJS 2 will use AtScript, not TypeScript.
"AtScript is a JavaScript based scripting language extending Microsoft's Typescript. AtScript is created by Google, it was announced in late October 2014 at the ng-europe conference.
AtScript was created by Google's AngularJS team as the language of the upcoming AngularJS 2.0 web development framework.[1]"
@Sergey – the website is out of date. We're working with the Angular team to fix it and move the AtScript samples to TypeScript.
@morris: you're sure right. I was thinking of embracing angularJS but would wait for Angular2. With all the comments I've read on this page…Wld love to start with Angular2.
Hello great stuff,
I have few questions around the sublime 3 plugin.
Do you have a roadmap planned for the Sublime 3 plugin for Angular 2 ? Will it be available only when Angular 2 is out? Meanwhile, do you have a public repo that we could use to have the latest update (at our own risk) ?
this is baller, super-excited, super-stoked, glad the two big companies could come to terms and work together, good job
That's the great news. AngularJS + TypeScript. It's dream alliance for web world. With the introduction of TypeScript, I think more developers will move towards the MEAN stack. Although, most of the Enterprise development will advance through ASP.NET MVC WebAPI + AngularJS or Java technologies through TypeScript with traditional RDBMS databases.
I may summarize, Javascript is dead, Long live Javascript! ( => through TypeScript)
This is horrible to me. Learn to master javascript, structure your programs smarter. if you don't like javascript, use a different language.
خبر ی خوب برای همه توسعه دهندگانی که در اپلیکیشنهای بزرگ درگیر تولید کدهای جاوا اسکریپت هستند
Very awesome. I am a rare breed of dev that loves MS and I love open source stuff too. Good to see MS taking the right path these days!
I have always thought that typescript was the only good javsacript-wart as it is a superset of js and not a whole new language. Super happy to see that the biggest front-end framework is using it!
Reflecting on past and current experiences building small to medium sized JavaScript web apps, type errors have never been a significant problem for my team during development. I think that is due to our coding style, experience, and a good workflow and tool stack. The largest problems we've encountered are browser performance, program size, too many http-requests, debugging 3rd party libraries, and complexities with async module handling.
Also, I have a recent Angular-based, medium-sized product, which I'll maintain and grow over the next few years. So, with Angular moving to TypeScript, I started experimenting with it. Looking for advantages beyond strict typing and wondering if tsc is a better transpiler or has more features.
My team has a lot of experience with JavaScript, and I think moving to ES6 will be easy. Moving to TypeScript may require more effort. It doesn't appear that we'd gain any advantages by re-tooling, adopting Visual Studio or other. Nor does it seem necessary. tsc and babel both transpile to ES5. So, besides strong-typing (and the fact that two big players are backing TypeScript), why should we choose TypeScript+tsc over ES6+babel?
are there any support for next gen green gigaprocessor clouds?
Excellent! Could you also add runtime type checking please 🙂
So my question is since TypeScript current release does not support await/async, does that mean when Angular 2.0 release is transpiled into ES6, the result cannot generate a language that uses await/async.
So this to me looks like Javascript for those who have no clue how to write Javascript. Dart is a better language if you want to have to compile your JS. Ugh awful.
Microsoft likes to really destroy things which work, Angular will now be less favoured
So is the Angular 2 TypeScript source available?
Write more, thats aall I have to say. Literally,
it seems ass though you relied on the video to make your point.
Youu definnitely know what youre talking about, why waste your intelligejce oon just posting videos to your blog when you could
be iving us something enlightening to read?
Hi I have some question regarding TS 2.0
– Can you debug your typescript code inside Visual Studio (2015/2017)
– Can you combine your TypeScript code with jQuery without loosing the strongly typed aspect.
– When working on a MVC project inside Visual Studio is typescript able to “see” your C# objects for example if you a strongly typed view which is based on a person class model, would typescript be able to retrieve the firstname of that model, without having to extract it from the html textbox field but rather from Model.FirstName
Hope you can throw some light on above questions.