TypeScript is an invaluable, mature technology that provides large productivity boosts to any team that maintains a mid-sized code base.
It plays extremely well with React too, and it's benefits are independent of the tech stack. If you are used to typed components/templates, you will NEVER want to go back.
I would argue that is more important to have static typing in the front-end compared to the back-end in a web-application context. There is more state, lot's of shared entities and unit tests are expensive to write and maintain.
Good point, but only to an extent: Unit tests boilerplate in dynamic languages that is redundant with static typing is only a (minor) subset of unit tests that you should be writing for your code. Static typing is not an excuse to skip unit tests altogether. I've unfortunately met people claiming exactly that...
I retried using Typescript 1 month ago. Compiling took 6-7 seconds for about 8 files. I could not find a solution and gave up using TS. I hope that's just me doing not good enough research.
Plus you can do some cool things like Component inheritance.
I've never tried Flow, but I guess it's practically the same.
Looking at both A1 and A2 has confused me, so might just try React and see if that is more compatible with my ageing me. :) Nevertheless, I also really like the looks of Typescript. Could your possibly recommend a(n opinionated) way to get started with the two?
Of course the whole web stack is a new thing. Angular makes web app development much more productive.
React is a lot less abstraction and feels more natural to people that started out making UI with plain HTML.
Each has its merits but Angular uses way too much magic for my taste to make the web seem like something it's not. Much like a client side re-imagination of webforms
We're in the phase of the hype loop where everyone assumes language designers from 15 years ago are idiots. In another few years everyone will be talking about the revival of OOP
That said, if someone thinks language designers from the past are idiots, then they also shouldn't like functional programming, as it's at least as old.
you seem a bit committed. is this an emotional thing?
> there's a good reason most...
is there? is this reason related to languages themselves or their use? does it necessarily imply anything specific about "functional style"?
This is a HUGE red flag if you're seeking employment long-term in the tech sector.
Anders Hejlsberg has done a brilliant thing.
I'm also always a bit sad that Knockout seems to be overlooked a lot. It is not as opinionated but often times exactly the right tool for the job.
Frankly, I don't know if I can say the same about all the other libraries/frameworks/etc since every month there is something new that's supposed to make all the other competing tools part of ancient history.
There's literally no reason to not use typescript
What I like most with React over Angular is that it seems like it cuts to the core of the problem I'm actually trying to solve here. It just feels like a lean, clean, proper solution to the main issue at hand. (this of course helps with dev adoption too because it's easier to find people knowledgeable in lean frameworks, or at worst much quicker to train them)
I've been using TypeScript with React now for about six months - prior to that I was working on a large React/Redux app written in ES6 using Babel.
In my experience, I have seen a significant increase in my productivity after embracing TypeScript. With the static type support I am fixing/avoiding more errors at 'authoring' time due to intellisense and the VSCode editor flagging what will be compile errors. I am able to refactor across files with a lot less fear.
The advanced types in TS (specifically discriminated unions) make Redux actions and reducer code a lot more maintainable.
Overall I'm very pleased with the transition to TS. I spent time learning Elm last year and simply fell in love with that development experience. For reasons out of my control I cannot use it in production but with my current TS+React approach I can at least get close to what Elm offers.
(And I happen to agree with him on angular being confusing and not well designed)
Personally I'm one of the apparently rare breeds that hate angular but loves typescript. I wish there were more of us.
They're really in different realms and please don't make them part of the same whole. Typescript is a transpiler but the transforms it does are designed to mimic accepted JavaScript idioms.
When I'm debugging typescript it makes sense, it looks almost like JavaScript written by somebody that knows what they're doing.
Contrast that to Babel, Closure compiler, and countless others that produce "JavaScript" that reads more like assembler.
Typescript is easy to make back into human readable JS and it's equally easy to slowly transform your JavaScript into typescript.
It's the most forward and backward compatible language transformer I've ran across so I don't appreciate you shitting on it :)