I would encourage Sencha to seriously evaluate TypeScript and not dismiss it outright. We recognize you need to push the plugin and sell it to the Eclipse crew to recoup your investment but don't ignore the entire MS use case...that's just bad business.
I would encourage Sencha to seriously evaluate TypeScript and not dismiss it outright. We recognize you need to push the plugin and sell it to the Eclipse crew to recoup your investment but don't ignore the entire MS use case...that's just bad business.
They could charge extra for the definition files! I'm sure many people would pay an extra 50 dollars for them, they'd save a ton of time.
We have been discussing this internally for some time, so we are definitely not just dismissing this potentially significant development in the JS world. The fact that the definition files can be separated from the core of the framework is also a big plus, obviously.
This sounds interesting, can you explain in more detail how and when this would work?
Well, types are things you can use with the "new" keyword. ExtJS has a fixed set of mechanisms to create "stuff" you can use with the "new" keyword. You could build a tool that analyses code and separates out the types. Then you also need to know what exists on those types in the form of properties. Here you would probably have to pick a subset. For example, you could have the convention that all properties annotated statically via doc comments are recognized as the value type they are annotated as. Then you gain the ability to implement intellisense and also to reject this.x = y assignments where the x property is not defined via a doc comment. A similar approach works with methods.
The way I see it, commenting conventions, syntax subsets and appropriate tooling can cover 99% of the use case of typescript.
The way I see it, commenting conventions, syntax subsets and appropriate tooling can cover 99% of the use case of typescript.
Sounds great, when can you have it ready by
Seriously though, I don't care if it's done via comment annotations or language extensions like TS. I just want:
a) robust static analysis that will identify incorrect properties / methods etc (JSLint on steroids)
b) better intellisense that will help especially with a)
JS is mature technology but so far no one has stepped forward with a working solution. Hence I'm very interested in TS.
I wish there was a quick-and-easy path to get there, but sadly the work to be done rivals that of creating a new language. And the people who have those skills all seem to prefer creating new languages, which doesn't actually solve the problem.
For me PHPStorm is "JSLint on steroids". It's pretty smart about interpreting code, and I believe it also parses doc comments to analyse types. But I wouldn't say it's good enough yet (it often gets things wrong in my ExtJS code).
I am very dissapointed in the dismissive attitude from Sencha to, but not surprised, ExtJs is a great framework but the coding environment is one of the worst I have seen and Ive been in the game for 30 years, and have built a lot of complex commercial products in that time on a number of OS's and languages.
I can understand why Sencha are pushing back, they are likely to get some decent editors that people like me will move to if they dont make something that provides basic functionality. The comment just write correct javascript reinforces this feeling, I have spent a lot of time learning what Sencha think is correct, there is not common thread. Make it easier to code what you call correct javascript.
All I needed was a class browser, syntax checking, code completion, doesnt need to to full static types... just something that tells me all of the overloaded operators for the methods etc.
If you guys are so good at making the framework why not make a simple set of tools to navigate the framework. I tried the tools in your toolkits, they were not worth paying for.
If Sencha don't embrace typescript and lift the bar and do better than Microsoft, Microsoft will eat into your customer base.
BTW I was prepared to buy the Sencha support but to be honest it did not give me the help I needed to get my app to where I need it to be.
I am still sad about that, as it the framwork is great.